Hi All,
When working on different Drupal projects I have faced a problem of repeatedly implementing certain features by code. Usually what I do is copy the code from some old modules/theme and customize it for the new requirements. I think most people use the same approach in this scenario.
I think we can automate much of this process by creating a code generation tool that maintains templates for most common functionalities. With this tool we can customize the template for the specific functionality and generate a Drupal component like module/theme/profile. Developers can share their templates for this tool. I am sure this tool will reduce the development cost and improve the developer experience(DX) of Drupal.
I decided to create an IDE for Drupal with this code generation functionality. I was thinking about creating an eclipse plugin for Drupal. But the eclipse plugin API is continuously changing and since I am not very fluent in java, I decided to create an online IDE in Drupal itself.
I have created a basic prototype of the IDE. Though this alpha prototype is ready to demonstrate the basic concept, I feel there is a lot that can be done and there are lot of bugs that need to be resolved. Now I want your guidance and suggestions to take this project to the next level.
You can check out the prototype here: www.nullcod.com
Following are the features that the current implementation supports:
- Module Builder:
We can create Drupal modules from existing templates and customize it by adding new hooks and include/exclude common hook specific code. Also a user can create a module by adding hook and customize the code in it without any coding.
Also there are the following functionalities in the module builder
1.1 There is a drag'n drop form builder. This can be used for generating forms for Drupal module without coding.
1.2 Functionality for adding unit testing using a GUI.
1.3 Creating ctools, view plugins
1.4 Drupal 8 plugins.
1.5 Including Features and Tokens for a module.
- Theme Builder:
A user of this IDE can create a Drupal theme in both Drupal 7 and Drupal 8 versions. We support both PHPTemplate and Twing engines. A user can add regions for a theme template by drawing rectangles in the theme builder. He can also add the variable that need to be printed in that region. He can also add custom HTML attributes for that specific region.
- Profile Builder:
We can create installation profile for Drupal using this IDE. Adding steps for each installation phase etc.
Please go through the demo site (www.nullcod.com) and let me know whether this is useful to you as a developer.
I need your suggestions to take this project to the next level.
Comments
the demo setup asks for login
the demo setup asks for login information - is there a guest/demo account we can use to evaluate the project?
Gust account for accessing nullcod drupal IDE.
Hi Colin,
Thank you for your suggestion. I have created a gust account for accessing the IDE.
Following is the credentials:
user name : guest@nullcod.com
password : guest
Thanks,
Unnikrishnan B.
It's cool
You are rock! It's cool. How much time did you develop the prototype?
Tried it. The downloaded code
Tried it. The downloaded code was sort of mixed up with some D7 code and some D8 code. My be you are working on some new features.
But it looks amazing and a brilliant idea.
Looking forward to a more stable release.
Awesome!
--
Tanay Sai
Bangalore
skype: tanay.co.in
Is this project still alive?
Is this project still alive? I get a 404 at www.nullcod.com.
"God gave us two ears and one mouth to remind us we should listen twice as much as we talk."
Sorry this project is no longer available.
Sorry this project is no longer available.
Re: Sorry this project is no longer available.
unnikrishnan: That is unfortunate. Have you stopped because the project goals are too ambitious? If so, have you considered posting it on github.com so the community can provide support? I imagine there would be a lot of interest and feedback.
Thanks
"God gave us two ears and one mouth to remind us we should listen twice as much as we talk."
Great idea!!. I wish the project is available.
Is this project available on github?