The Drupal Catastrophe

This thought would like to report a tiny catastrophe I recently experienced with Drupal which leads to mistrust considerably both Drupal and PHP in its essence and comforts my inclination to avoid PHP for intergeo community platform.

The Catastrophe

A few days ago, within a rush… I installed yet another site of our drupal installation, a site for internal exchanges of Intergeo. Classical installation routine: copied the original settings.php into yet another site sub-directory, chmodded it to world writable, call the page, configure with the forms, then further tune the settings and chmod back. For some reasons I even made the whole drupal directory www-writable… resumed the operations and finally got it working.

After two days, however, I realized all the other sites that were running on the same drupal installation were broken with some dark internal PHP errors such as “No such function user_get()”. I realized that something/someone had copied the drupal directory inside the modules folder and the modules were trying be read duplicated (i.e. one inside modules and one inside modules/drupal/modules/)… this duplication broke things completely.

I tried repairing manually the SQL tables of modules… that was not sufficient… I tried to get the backups but they were a bit too old already… I tried a few other things… with some other very dark PHP errors… I just resigned to reconfigure fully manually all sites.

My Current Conclusion

The first conclusion is that Druapl, although mega-widespread, at version 5.2 (in this case, now almost at version 7) does not have sufficient sanity checking, by far.

The second conclusion is that CMSs need to differentiate content, settings, and states… SQL dumps are just too horrible to be worked with by hand if needs be. XML files would be way better.

Moreover, the fact that Drupal seems to use simple function overrides as a way to provide module functions appears to me as the worst: PHP does not offer to such a big project, sufficient expressivity of object-structures in order to manage a set of modules with a management of offered functionalities.

Chatting with PHP expert… she agreed PHP can be a large amount hobby work… And that is the same impression I have when I triy to find my way within the Drupal documentation!

Hobby work is nice but if it lets the sky fall on your head… it’s more annoying, especially since I, the “power user” am to be responsible of this hobby work.

My current strand is that I try to hunt for Java based community platforms… something where I can programme and something where the type system is good from the ground up!

Trackback URL for this post:

http://eds.activemath.org/en/trackback/185

Happy Hunting

I try to hunt for Java based community platforms… something where I can programme and something where the type system is good from the ground up!

Any luck yet?

What are candidates on your list?

Which of them are you in the process of exploring?

Many many CMSs! Few Community Platforms

Actually, what is needed is not really a CMS… there are many very elegant plain-CMSs… they just do that:

  • a back-office to edit html files (really well, with workflows, with images, with navigation…)
  • an optimized serving strategy with a few user-variation

But what is in eds and what should be the intergeo platform is different. It is a community platform with:

  • the ability for users to contribute and exchange
  • the ability for users to register, present themselves, blog
  • a fine-grained permission control which allows any registered user to start expressing him- or herself without an administration approval

All this, of course, wired with good RSS etc. Thus far… iPoint and Liferay are the only java tool that seem to do it all.

paul

Simple Steps to Doom for a Slow Learner?

Paul,

Any chance you could be a bit more explicit and detailed about the steps and events which lead to your catastrophe and your disillusionment with Drupal?

In my strange way, I would like to attempt to re-enact the disaster, as far as I can on my set-up.

By the way, I am glad you are so blessed as to have a php expert at your fingertips.

Simple simple.... just copy

Albert,

I am not sure if it is that easy but I believe that the best way to obtain the catastrophe is to copy the drupal directory within modules. E.g., if drupal-5.2 is your directory, with the following shell command, from the directory above drupal-5.2:

rsync -av drupal-5.2 drupal-5.2/modules/

tell me if it works for you. And please accept that this was a single personal experience with a twist of bias that makes me refuse to programme a single line of PHP.

paul

PHP Allergic ?

Paul,

Commiseration for your allergy.

Speedy Recovery!?

What is your antidote?

rather.... simplistics-allergy

I feel the reaction there is not about a language but more a usage of a language.

I have the exact same feeling when people explain me how great it is for them to “just write a class” and get WSDL or a persistance layer for free for it.

PHP allows to write very quickly things… and that goes easily far too far! The fact that there’s no thoughts made about separation of concerns for content-vs-state-vs-configuration is a good example of too small vision… similarly, I see very little use of standards in Drupal and in most PHP applications. Even the main developer of Moodle was ashamed of saying that web-service documentation for Moodle web-services are just missing…

Java-based web-applications tend to try this harder even though, it is clearly a difficult route. Examples include the Portlets and content-repository standards and, to a lesser extent, the attempts at web-servicification. Where it goes too far is at examples such as IMS Tools Interoperability… it’s a standard but it’s so big that no-one really considers implementing it (or has guts to).

paul