Hi,
I am a developer, so I am fairly proficient with PHP, XHTML and the rest, but I do not know anything about Drupal.
I want to build a fairly simple website for myself (my current version is static and has nor been updated for many many years) and I have a few specific requirements. I'll just list those ones about which I am not que4te clear how well Drupal will perform:
1. I will develop various specific extensions. So the CMS of my choice must have a code base and an API with a fairly shallow learning curve (under the assumption that I am proficient with PHP).
2. CMS I am familiar with (Redaxo, Typo3) have a possibility to have various blocks of content per page/article where each block has a different type. I will best provide an example to make clear what I mean as this is VERY important to me:
Say, I cave created a page (what is the correct Drupal term?). I want that this page contains some HTML formatted text, followed by a figure/image (with description) followed by a table of (say) teams and their scores. So, the first block (module/section/whatever you call it) will have the type "HTML text", the next block will be of type "Image", the last block, which I will presumably code myself will have the type "Results table". The crucial point is that when I edit the page through the CMS each type of content block has a different specialised input interface. For instance, the "HTML block text" may just provide a text box into which I can put HTML code. But my "Results table" block may offer an interface where I select the teams from a drop-down list (assuming I have entered the teams into the DB previously) and set the scores from a different drip-down list which ensures that only numerical results can be entered.
The point here is are not the drop down lists, but the question whether Drupal provides the ability for me to code these content types (or what would be the correct Drupal term?) and to add any number of blocks of different content types to any page in the order I want?
I did some reading on Drupal - I think nodes represent pages of different types, but how are the section I talk about above represented?
The requirement for this functionality is basically why I am looking to get into Drupal rather than just taking Wordpress.
A few other points:
3. Learning curve of Drupal vs. Ez Publish?
4. Is Pentium 3 with 256 MB enough for a small Drupal site? 500 MB?
Many thanks for your time guys, I appreciate the help!
Cheers.
Comments
Also a newbie
I'm also new to Drupal, so I can only really help you with your second question.
Every type of content in Drupal is a node, but there a several different node types. With a contributed module called Content Construction Kit, you can define and add your own content types. There are also some other modules that belong to the CCK like the Imagefield module. This module defines an imagefield that you can use in your custom cck node types. Being a developer this won't be to difficult for you. I hope this will all make some sense, but in short I think you can do what you want to...
I can recommend you this site, here you can find very useful (for me anyway) screencasts that can help you on your way.
About your first question, I know that Drupal has an API and some other modules also. About the learning curve I'm not sure, I haven't fiddeled with it.
About the requirements, this is what Drupal has to say, but they don't mention perfomance.
some answers, pointers
I have no experience with ezPublish, so I'm unable to compare it to drupal.
However: the learning curve for the kind of development you propose is very steep... but that would be the same for any other system where you want to extend the system by creating your own extensions.
It is possible to do what you want, but it might not be the way you envision it at the moment, so get ready for the 'default' answer with the drupal magic bullet solution.
With the combination of the views and cck modules you can do what you describe for the most part, but the details will be the most development intensive. Unfortunately your server may have some problems with the workload of such a setup, as it will probably use 20MB or more RAM per instance, which means that 5 concurrent visitors will slow the server to a crawl.
An alternative is to develop your own module (extension that use the drupal API's to do anything) - this will in most cases be faster than the above solutions, but you'll need a good working knowledge of the existing API's (so you might want to read the pro drupal development book or participate in one of the workshops to get up to spec)
Re: some answers, pointers
Many thanks guys.
20 MB per instance of PHP is not that uncommon. How good is Drupal caching? I would like the site to handle upto, say, 20 concurrent (unregistered) users. Do you think this will be possible?
Yes
In Drupal there is built in functionality to speed up the site. One of the options is to create 1 css file for the entire site that encorperates all the small css files used throughout the site and add-on modules.
Another option is to cache your site for unregistered users. There's a normal cache mode and even an aggresive, but that doesn't work with all modules. A third option is to disable some functionality when your site is getting heavy traffic, but haven't tried that option yet.
Does anyone have any
Does anyone have any feedback on how well the cache works?