Back to top


HostMaster vs. Organic Groups vs. Sympal vs. ?

Let's take a hypothetical situation: a drupal-based service offered to groups of people where they can somewhat customize the installation and create their own private content for sharing and discussion within the group. Each group has a leader who is the main configurer of the site and who can approve other members to be able to view the site. The group "leader" is a non-technical user and should be able to create the group themselves from within a browser.

There are at least four approaches that I can think of for this:



  • Organic Groups which would is very simple for individuals to create and manage and provides all of the features listed above but is somewhat limited in terms of the configuration that the group manager could provide. For example, they would not be able to enable/disable modules or really edit the theme very much.
  • HostMaster HostMaster is the basis of the Bryght hosting platform and I believe is also the basis of the CivicSpace ASP. It is available under the GPL, requires Python (which I actually like) and seems very powerful. My major concern is with the performance of Multi-site vs. Organic Groups and with the extra complications of upgrading a large number of multi-site Drupal installations. That is, upgrading a 4.7 site with Organic Groups and a few limited modules seems relatively easy compared with upgrading a multi-site installation.
  • Sympal the sympal scripts by Ber Kessels are a set of php scripts for quickly installing a Drupal site. These have the same potential drawbacks as HostMaster and the additional drawback that they are command line php meaning that I would need to create a UI layer on top of them (which isn't terribly scary, but it is extra work compared to the OG solution).
  • RYO - Roll Your Own Rolling my own solution has the obvious benefit of being exactly what I want and need, but has the significant drawback of requiring me to write something from the ground up. I am fairly certain that this will not be my solution.
  • Category: 
    People Involved: 

    Where do you get Drupal Support

    I was recently asked where the best place is to go for Drupal support if you think you have a bug but you aren't sure.

    Many Venues

    The question is a tough one. Looking at the Drupal Support page you see lots of options depending on what kind of support you need. For a problem with your own installation of Drupal you can take the problem to:

    1. forums
    2. support mailing list
    3. #drupal-support irc channel
    4. issue queue
    5. probably other sites

    If it's technical enough, you might also want to go to the developer list or the developer irc channel but wading in there with a question that is not on-topic is a bad idea.

    Which Venue is Best

    It can be confusing and challenging to know which is the best option. Personally, I tend to use the support mailing list and the forums depending on the question. If there is a specific forum for my topic - like performance - I'll use that specific forum. If it's just "general support" I'll use the support list. The irc channel can get you an instant response, but sometimes it's a ghost town. The support list seems to have a higher ratio of responses/question than the forums do but it is also fairly low traffic at the moment.

    Paid Support for Drupal?

    There is clear demand from existing large commercial Drupal sites for support. These tend to be a mix of "fix this thing" and upgrading to new releases of the software and adding more features to a site.

    I'm curious if there is demand for paid support at a smaller level. If an individual is asking for help in the forum, they get limited response, they try IRC and nobody can answer, what do they do? Do you think that you'd be willing to pay for Drupal support either via email, chat, or phone? If so, how much would you be willing to pay? Would you want to pay per question? Probably from the support side it's necessary to be paid per hour.

    People Involved: 

    I'm in Planet Drupal (blame Rob)

    So, in the tradition laid out by Ken here's a "first post" into Planet Drupal now that my feed is getting picked up there. It probably also means that I'll have to work a little on performance modules lest my site get bogged down with the extra traffic.

    I don't have much to say except that stuff like being included in the Drupal Planet Aggregator is about as exciting as when my first patch got committed. Maybe it's much ado about nothing, but I think that little stuff like this is what gets people excited about being involved in a project. So, it's very cool.

    My involvement with Drupal is based around a small business looking to help other small businesses and communities to get a great website. Ideally a website that will get them laid. There's lots of people in Denver/Boulder who are using Drupal so I sent out some emails and started getting people together for meetups which has spawned the Denver Drupal User Group we're small and turnover is high, but Matt and Mike are getting some value out of it.

    In truth, it was these screencasts that got Rob excited enough to ask me to get a feed for Planet. Which is a subtle way of saying you should blame Rob if you find my posts boring.

    People Involved: 

    Improve Drupal Without Any Work

    Lots of times people will ask open source projects how they can help if they aren't a coder. Generally every person can review documentation, help with translations to other languages, maybe donate some money, help with bug triage, and of course do person-to-person evangelism.

    feedback loops

    Feedback loops are the system where feedback about an item is given back to the originator of that item. So, at a restaurant the feedback loop might be from the chef's meal, to your table, to your comment to the waiter, back to the chef. That is fairly tight and it helps the restaurant become better.

    In fast food restaurants the feedback loop is long - the chef prepares the food, you get it at the drive through, you eat it, and then maybe a week later you mention to the drive through attendant what you think about the food. She has no idea who your chef was last time and can't do anything about it. This is a "large" feedback loop and is not constructive.

    Generally speaking, it's better to have a tight feedback loop

    Helping Drupal by closing a feedback loops

    In the case of Drupal, a quick change in your module configuration helps the Drupal developers know the most popular modules and themes. Knowing the most popular modules and themes in turn lets developers know where to spend more of their time in debugging, adding features, and improving code. The system works by sending a message back to the server letting the server know which modules and themes are enabled, a little bit about the number of users and visitors your site has, and your email address/site slogan/mission. This information is only used in aggregate to help guide resources. Currently, the subject of which modules are used is hard to guess - modules are frequently downloaded, tested out, and discarded so download numbers are unrelaible. This system is a vast improvement on the "download frequency" test.

    In a patch to the welcome message, Khalid Baheyeldin of 2bits Drupal consulting has provided these instructions on the welcome page to urge users to enable this feature. It's possible that in future versions it will be enabled by default.

    People Involved: 

    HOWTO Use Drupal nodes to display information from other sources

    I've been asked several times:

    "I have data in a database and want to display it in Drupal and probably in a Drupal node. How do I do that?"

    Well, here are some thoughts on that question. The answer may depend on the kind of data that you've got. Is it static or do you occasionally update it? Do you want users to be able to edit that data inside of Drupal and have the changes saved back to your database? Do you need Drupal to handle access control?

    Just use a node

    One solution is to simply use Drupal nodes. Write a script that takes your data and creates a new node - record for record - from your current data. If you have a few columns of data that are selections from a limited set you could convert those to taxonomies: e.g. you have a list of restaurant names with descriptions, a ranking (good/bad/fair) and a restaurant genre (Thai, Chinese, French, B-B-Q) then you could map the name into the title, the description into the body, the ranking into either a taxonomy category or as votes using the vote api, and the genre into a taxonomy category. This is ideally suited to relatively simple data.

    Use Flexinode/CCK

    Flexinode/CCK allow you to create somewhat more complex nodes where you create the necessary fields and Flexinode/CCK create the underlying database and HTML forms to be able to edit those fields. Then you create a few test nodes manually through the Drupal interface to see how fields get stored in the database and finally write a script to take your data and insert it into the database. It might make sense to make use of the fields-to-taxonomy system described above in addition to Flexinode/CCK.


    QCodo is a code generation tool that can be used to create the "CRUD" (Create, Retrieve, Update, Delete). I know of someone working on a way to integrated Qcodo into Drupal. If you're interested in that idea, let me know.


    If it is updated occasionally, you could keep a reference table from your data to the node ID value and create a script that not only creates the nodes but also can update them as necessary.

    People Involved: 

    Drupal 4.7 Released

    Drupal 4.7 has been released. Here's the announcement on, and here's the story on Digg.

    Very exciting stuff. It's more of an evolutionary released than a revolutionary one in my opinion, but there's enough evolution that it's headed towards lots and lots of fun. I've been implementing sites based on the nightly cvs and betas and release candidates for a while. Now I'll have to start upgrading sites.

    People Involved: 


    Subscribe to RSS - Drupal