Reply to comment

Requirements for my sites

This is the second post of the series about the making of this site, and it is about the requirements for my new sites with drupal, and how they were solved.

These were the main requirements:

  1. I wanted to be able to create several sites under the same domain (eacosta.org).
  2. The sites had to share information and probably content, but had to have their own content, menu, features, and appearance.
  3. The sites had to be bilingual.
  4. Different kinds of users could be created. i.e. friends, and family.
  5. Different kinds of users would be allowed to reach (and probably create or modify) content that is not public.
  6. Each site had to provide feeds by language, by topic, by access level, and combinations of them.

In the previous post of this series I explained that I chose the latest version of drupal to create my sites. My choice had some temporary disadvantages because at the time there were very few modules and themes available for drupal 6. As of today, there are still very few of them for drupal 6 as compared to drupal 5, but the gap is steadily shrinking, which is good news.

What this circumstance meant was that I had almost no choices regarding how to build my site, and satisfy my requirements. Luckily, I've found solutions for requirements 1 to 5, in fact, I have tried several solutions for some requirements.

Requirement 1 alone can be solved with a multi-site configuration, which is a built-in feature of drupal.

Satisfying requirements 1 and 2 together is a bit tricky though. It can be achieved with a multi-site configuration, in which all the sites share the database, but in order to bring unique features to each site it would be necessary to individualize some database tables using table name prefixes. Additionally, some content access modules have to be in place in order to control the content that is displayed on each site. If you think it sounds complicated, it is just too messy. I tried different modules and configurations, but I was so lucky that the Domain access module was released. This module doesn't require a multi-site configuration and allows you to configure all your sites and database juggling from the admin pages, as opposed to configuration files and database surgery.

For requirement 3 I used the Internationalization module. This module is a bit confusing at first, specially since it has lots of configuration sections and options, but it is a great module that makes drupal almost completely multi-language. This module allows the definition and use several languages, it doesn't translate the content, but allows grouping together all the translations of each piece of content, which is very convenient. Besides, there is a number of contributed translations of the drupal interface, and you can even modify these translations to your likings.

Requirement 4 is an standard feature of drupal. I just had to define user roles, define permissions for each user role, and then create users, or allow user to register to the site.

For requirement 5, I am using the “Taxonomy access control module”: http://drupal.org/…onomy_access, which allows me to define access permissions to content for user roles according to the content's category. So, I have to have content categories for each access level (public, private, restricted, etc.), and each content piece has to belong to at least one of these categories, pretty straightforward I think. I had to patch drupal in order to allow the Taxonomy access control module to work with the Domain access module, but it was not hard, the patch is included with the Domain access module.

As I said before, requirement 6 is a work in progress. I would need another module to satisfy it, but for now my sites can survive without this feature.

Among other modules I am using in order to make my life easier are the views, the five star, the captcha, the pathauto, and the archive modules.

In the next post of this series I am going to sketch the way I worked out the appearance of this site.

Trackback URL for this post:

http://blog.eacosta.org/en/trackback/11
5
Average: 5 (1 vote)
Your rating: None

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
K
S
s
E
H
$
P
Enter the code without spaces and pay attention to upper/lower case.