Is drupal the right choice for my requirements?

brookman - July 9, 2009 - 09:08

Hello everybody

My job is to migrate an existing php/mysql company website to a cms. I have already tested drupal 6 for some hours now and it looks promising. I am aware of the fact that it will take a lot of time and I am ready to implement my own modules if necessary.

Below I will post my short analysis about the requirements. The current existing page is available at www.mfkk.hu. It is a mix of a forum software and custom php scripts.

In general the requirements are: Security, session management, advanced access rights management, multi language support, project (sub) pages, upload function, document management, forums, online surveys, newsletters, news sections.

I would be thankful if you could read the following and give me some hints about feasibility and the potential use of certain modules.
Useful modules I have already tried out are: content translation, forum, upload, advanced forum, views/ui.

Here is the first analysis of the job:

"Static" sites:
• Home
• About us
o Our team
o Jobs
• Contact
• News

Users:
Users can login and access different functions like viewing/changing projects, depending on the group they are in. Users can be members of a partner company.

Partners:
Partner companies are engaged in projects. Partners can be associated with several projects.

Projects:
Projects are carried out with one or several partners. Projects can contain the following content/features:
• Overview (public)
• Partner list (public)
• Documents (public or restricted to project members / staff)
• News (public)
• Survey with multiple choice questions (public)
• Newsletter campaigns (restricted to staff)
• Forum (restricted to project members / staff)

Forums:
Each project has its own basic forum to discuss topics. Polls would be appreciated. Only project members and staff have access the project forum.

Documents:
Each project has a number of documents. The documents for a specific project can be uploaded, downloaded, deleted and moved by its project members and staff. There are different document categories like general, meetings, public. Public documents can be viewed and downloaded by everyone.

Newsletter campaigns:
Staff members can create newsletter campaigns for each project. There should be a basic template system to customize/personalize the emails and add attachments. The newsletter will be sent to all project members.

Survey:
Each project can have a survey. Surveys are created by staff members and contain multiple choice questions and “textbox” questions. The results can be viewed by staff.

Roles / Permissions / Activities:

• Anonymous visitor
o View general company information (contact, about us, news, …)
o All projects:
View Overview
View list of associated partners
View public project documents
View project news
View and take surveys
o View list of all partners

• Member of partner company
o Login
o Change personal contact information
o Associated projects:
View all project documents
Upload and download project documents (pdf etc.)
Move documents to different categories (general, meetings, public)
Delete documents
View project forum
Post topics and answers

• Member of own company
o View and edit all user profiles and contact information
o Validate email addresses
o Add / remove projects
o Edit all projects
o View and manipulate documents of all projects
o View and moderate all project forums
o Send newsletters to all members of a specific project
o Add news to a project
o Add partners
o Add surveys to a project
o Assign and remove partners from projects
o Assign and remove contact information from partners
o Add and Change site content (news etc.)

• Administrator
o Everything

Thank you for your help.
-brookman

What do you want in document management?

peterx - July 9, 2009 - 10:23

Everything is relatively easy except document management because document management can be complex. Do you want to keep track of who reads a document?

Drupal already has revision control and some add on modules use the revision control. There are modules for content to PDF and other formats. Do you need format conversion?

Do you need point in time control? Do you want to identify the revision of a document against a project change or will you generate a new document?

Here is a big one. When you search the site, do you want the search to include the document contents?

Thanks

brookman - July 9, 2009 - 12:22

Thank you for your help.
I think the document management will not be very complex. The important thing is, that only partners associated with the specific project can view and download the documents.
We don't need any revision control, format conversion, point in time control or search indexing. The documents consist of maybe 30 pdf/doc and 1 or 2 zip files per project. They are grouped in categories like General, Deliverables, Meetings and Public. Not more than 5 categories per project.
Now the document management is handled by a php file manager called KFM (http://kfm.verens.com/) and a custom "frontend" to match the site design. All what it is used for is downloading, uploading, moving and deleting the files.

About the multilingual features: I have tried the module "Content translation" and this seems to be OK so far. Not all pages would have to be translated, just surveys and maybe the other "static" content.

So do you think apart from that, all needed function could be made by drupal? I am worrying a little bit about things like assigning partners to projects, because they can take part in several at the same time. The access control would have to be modified too, so we wont have to create a role for each partner. All partners would have the same access rights, except the assigned project(s) vary.
I believe getting familiar which the whole system will take quite some time. Because of that I want to be sure that everything will be possible.

Again, thanks for your answers!

Look at Storm

peterx - July 9, 2009 - 12:36

Look at Storm, http://drupal.org/project/storm, for ideas on projects. You might be able to use Storm or parts of Storm for your requirements.

Organic Groups

caschbre - July 16, 2009 - 16:22

I would take a look at the organic groups (og) module. You can create a content type and make it a group. So in your case a project would be a group. What OG basically does is access control to content. Users may post content (files, discussions, news, etc.) to a group and only members of that group can see it.

It also sounds like you may have a company also be a group. Then the next question is are companies and projects associated?

I agree with the above comment PLUS

m13 - July 9, 2009 - 10:36

I wouldn't recon multilanguage support.

I mean drupal has a multilanguage support but I think it works great only if you create subdomains for every language you need to support.

apart from these 2, I think drupal is what you need

 
 

Drupal is a registered trademark of Dries Buytaert.