Custom Site Builder Module - "Drapt"

Events happening in the community are now at Drupal community events on www.drupal.org.
frazras's picture

Have you ever wanted to create a drupal website but you were totally clueless as to what modules to use?

I have been fiddling around with Drupal for about 2 years now but only started any real design work over the past 4 months, I regretted every site I had built from scratch over those past 2 years . There was nothing that I could think of that wasn't done with an existing module (well almost). My sites were averaging 40 - 50 modules BUT finding those modules was hell. I wished there was something that could tell me what are the best modules to use for a particular web application.
I designed 2 ecommerce sites one for supermarket products and one for video content, and a social networking site, a lot of the modules I used were found by searching the forums and getting the communities suggestion. I was directed to installation profiles but they were too limited and immutable, I wanted a custom set of modules for my listed requirements. http://drupal.org/node/220246

So I thought of many ways to do this and concluded that a module that would connect to drupal.org and after the user completes a wizard, it would scan all the modules [hopefully through some taxonomy] and generate a categoriesed list of modules [links] for download on a single [or paginated] presentation page.

I haven't sorted out the details yet but I want it to behave like apt in linux where I just list my packages then "apt-get install" them. Thats why I named this project "Drapt".

Tell me what you think and what are the limitations, I wouldn;t mind spending the summer coding this, it would definitely help me with my problems and I would love to help others also; Isnt that the whole spirit of open source ;P

Comments

Already exists

Jaza's picture

Great idea, frazras - but unfortunately (for you - not for Drupal), a Drupal command-line package manager already exists. Please see the DruSH project for more details.

SoC admins: please review this proposal, and reject if appropriate.

Jeremy Epstein - GreenAsh

Jeremy Epstein - GreenAsh

Right

chx's picture

Please explore what's avalable under drush and tell us how would you spend a summer with expanding it.

My idea is that it will do

frazras's picture

My idea is that it will do all the operations of Drush++, and I wasn't thinking primarily about a command line interface, that could be the backed for command line junkies like myself :P . However the aim was to have web "wizard" interface that would question the user about the intended application and then collate a list of modules with all dependencies met and make them available for download. The community would maintain the suggestion library by mentioning the type of web application they have built and the modules they used. Alternatively we could have a "popularity contest" module related to the "Drapt" project where the user would specify the type of application which they built and the module would analyze the ones which are the most popular modules for that type of application.
Get it?
I haven't seen any module that does all these.

I'm a little concerned that

greggles's picture

I'm a little concerned that the enhancements you propose are based on infrastructure which may never exist.

Getting the list of modules to achieve a certain purpose and/or the "popularity system" is a complicated issue on its own (project metrics was a GSoC project last summer which is largely finished but still needs one or two more bits twiddled to get implemented). A proposal that requires that infrastructure seems really hard to accept, in my opinion. Besides, one thing that many Drupal users love is that there are many ways to achieve the same goal with Drupal.

Are there any other ways you can see to make Drush++ that doesn't rely on this extra information?

--
Open Prediction Markets | Drupal Dashboard

Common goals

jpetso's picture

(...) question the user about the intended application and then collate a list of modules with all dependencies met and make them available for download. The community would maintain the suggestion library by mentioning the type of web application they have built and the modules they used.

(...) where the user would specify the type of application which they built and the module would analyze the ones which are the most popular modules for that type of application.

Without a doubt, you want to work on Installation Profiles. That might not (currently!) match everything that you described, but for your improvement being of long-term use to Drupal, this is the way to go.

...

jpetso's picture

Oh crap, just noticed that you mentioned those in the original description.

Nevertheless, any chance you could work on making those fit the purpose instead of writing something new from scratch?

Surprised!

frazras's picture

I thought this was a problem that everybody especially new drupalers had when using drupal, finding the right modules to use. INSTALLATION PROFILES ARE STATIC and are biased to the developers opinion and purpose.
In fact I KNOW this is a feature that is longed for but I guess I am not presenting it properly , in one way or another I hear people talking to this project indirectly everyday. I just heard this on the drupal development mailing list :

"I strongly believe more modules and themes is better. Although we need better
ways to rank and search them. I'm surprised noone's made drupalmodules.com
yet."

Ok look at it this way, forget an indexing of mostly used modules [at least for now] - I dont know if anyone has ever installed some versions of linux and saw a section on the installer that asks you what type of system are you installing: Web server, mail server, multimedia box, high security system, and other fields that you can click. Upon your submission it installs all the related packages on your box that will give it all those features. I was thinking to do the same in a drupal module, drupal already categories the modules on its webpage a further taxony could be setup on them to allow for selection by the "Drapt" module, this could then perhaps send a call and "exec" drush install with the listed modules or present a page with the list of modules you can either choose from or download.
This doesnt have to be the implementation but this feature is highly needed in drupal IMHO.

http://drupalmodules.com/

GiorgosK's picture

http://drupalmodules.com/ does exist
here is a discussion on it
http://drupal.org/node/229034

If I understand it correctly
What you are trying to accomplish is really an AI
system that needs following functionality
(provided by itself or other module)

-complex categorization, task specific
-evaluate and rank modules based on categorization
-pick right modules based on ranking and task in question

How are you even going to categorize the modules
What is the proper way I mean ??
If you solve this maybe your proposal is doable

categorization is the easy

frazras's picture

categorization is the easy part, it is done the same way people do it in the installation profiles, - they make a suggestion, say for example, the advanced forums module is recommended for social network sites. An initial bunch can be classified and all you would need to do is tick off the ones you want downloaded for your project. The community now would classify modules under as many categories as they see fit. A free tagging method. These changes would be made to CVS. Simple as that.
It still baffles me how more people are not interested in this idea - when it struck me I thought it would be revolutionary :P I guess not.

Drupal "Mixer"

CJack's picture

frazraz: I know this is an o-o-o-old thread but when I just read this I was strongly reminded of something I have been using called the MoWeS Mixer ... go to http://www.chsoftware.net/en/mowes/mowesmixer/mowesmixer.htm and click on the "I do not have ..." option then follow the prompts ... this is for WAMP stacks but I think this is very much like what you are talking about for Drupal.

Maybe now with D7 this could be possible. I have some ideas on how to get maximum module choices for presenting to the users. I also have some ideas for a reliability feedback system to create a continuous improvement process.

However, like MoWeS (Mobile Web Server) this idea may only be possible by hand building select configs (essentially similar to Profiles) rather than a full fledged automation tool. You never know until you try.

CJ

SoC 2008

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: