Can Drupal do this?

dantelepoole - January 30, 2009 - 16:53

Hi all,

I'm thinking of converting a RoR-project-in-progress to Drupal but I need to know if Drupal can do what I need. I don't mind if I will need to develop some custom modules, but its been 10 years since I last programmed in PHP so the less I need to custom develop, the better. I have checked Drupal's features and most of my requirements are met, but I'm not clear on one or two things.

Specifically, I want registered users to be able to publish their own articles, but with pre-defined sections and meta-information in a format that they are required to adhere to. In short, I need to build a custom form for the input. The input will be done in textile format, not WYSIWYG or (full/restricted) HTML, and I will need to modify the submitted textile-fields before they are stored in the database (or rendered to HTML). Obviously, given the custom article format I will need to be able to control the way the articles are displayed as well. The articles should be version-controlled, and any registered user may edit any other user's article (so there will be no article-ownership). Articles can be assigned to multiple categories. Articles will be publicly accessible, if possible using dynamic friendly-url's based on the article's title. Visitors should be able to submit comments to every article, which will be displayed along side the article itself.

Each user should have a public profile-page, with custom profile information collected during the sign-up procedure and editable only by the user himself. The profile-page will include a list of all the articles that the user has contributed to.

I also need articles to be downloadable in PDF-format, but if necessary I can implement this as a separate webservice outside of Drupal.

Is Drupal a viable solution to implement this or should I continue developing in this project in RoR? Also, if Drupal is suitable for this, can you recommend a good book about Drupal for experienced developers lacking Drupal-specific knowledge?

Thanks!
Dante

oops...and one other thing!

dantelepoole - January 30, 2009 - 17:00

I forgot to mention that I need the articles to be searchable, separately from the rest of the content of the site, both free-form and by some of the specific meta-information supplied by the author. Finally, the articles should be browseable by category.

Thanks!
Dante

_

WorldFallz - January 30, 2009 - 17:10

You can use the http://drupal.org/project/views module to create advanced search and filter pages, using filters and exposed filters. Views also creates browseable listings of nodes.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz

_

WorldFallz - January 30, 2009 - 17:05

I dont' know much about ror, but drupal can do this fairly easily.

For custom forms, see the http://drupal.org/project/cck module and the many available cck field types. You can theme the form's appearance just about anyway you like. You can also theme page output as well. See http://drupal.org/theme-guide.

For textile, see http://drupal.org/project/textile.

You can intercept the data before it's saved (see the http://drupal.org/project/htmlpurifier module for an example) or upon rendering using the filter system. There are many examples of filters on the downloads page. One flexible one is http://drupal.org/project/flexifilter.

Versioning, and categorization (called taxonomy) is built-in, you just need to enable it. You can also easily allow users to edit any content with core permissions. Comments and friendly urls are also part of core drupal.

Profiles are part of core drupal, advanced profiles are available via the http://drupal.org/project/content_profile module. Both can integrate with the registration process.

For pdf output see the http://drupal.org/project/print module.

EDIT: fixed a couple of links.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz

This sounds perfect, I will

dantelepoole - January 30, 2009 - 17:13

This sounds perfect, I will definitely give Drupal a try. Thanks for the extensive answer!

_

WorldFallz - January 30, 2009 - 17:23

You're welcome. ;-)

After you take a look at drupal for a bit I'd be curious to hear your thoughts comparing drupal to ror. I keep meaning to look at ror, but drupal keeps me very busy and has yet to disappoint. I'd be curious to hear about what i may be missing though.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz

I'll definitely let you

dantelepoole - January 30, 2009 - 19:23

I'll definitely let you know. By the way, I'm not dropping RoR because I'm disappointed with it or anything like that. I'm a big fan of RoR. This is a personal project that I started a year ago, but ended up on the backburner when other matters demanded my time. It's been dormant for 9 months and now that I have some time again I decided to continue. In the mean time I've heard a lot of positive things about Drupal so I thought I'd try it out.

Anyway, I'll let you know how the two compare.

Cheers,
Dante

_

WorldFallz - January 30, 2009 - 17:12

Almost forgot.. Two good books for developers are Pro Drupal Development and Learning Drupal 6 Module Development.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz

 
 

Drupal is a registered trademark of Dries Buytaert.