views:

134

answers:

4

I am going to be creating a work order system with three roles

  1. The "client" - The client can request projects to be completed by the worker. The project must be selected from a list of templates and various sub options all referred to as a campaign (campaign types come and go throughout the year)
  2. The worker - The worker must be able to view work orders and mark them as accepted/rejected, work in progress and completed.
  3. The overlord - He/She needs to see stats concerning the activity of the other two types of users.

So. This is a web app. But a very simple one in terms of logic. Could something like drupal handle this? Or would I have to write my own modules? The other out of the box aspects of drupal make it attractive (admin, user creation, news feeds, etc...)

I have looked at Views and Webforms. Views seems great for querying and displaying data from the work order database (great for a portion of all three roles), but I am not clear as to how I interface with my work order database when creating and modifying work orders.

Webforms doesn't see to be the answer, I am sure I just missing something right under my nose.

Any hints in which direction to look would be great!

Thanks.

A: 

I am pretty certain that you can do this with drupal. I would suggest looking into using an easier CMS than drupal for something simple like this. Using something like MediaWiki for this application might be quicker to develop and have less of a learning curve. If you don't mind putting in the time to learn drupal, I think you will ultimately have more freedom.

macneil
Thanks for the responses! I will look at work flows (and related modules) and then make my decision. Ultimately I would like to become more fluent in drupal so I will probably stick with it.
michael
A: 

If you use a simpler, less powerful CMS, you may save time with the learning curve but lose time struggling with a less flexible framework. Also: Check how active the developer community is when evaluating Open Source software. You'll need support.

Views and Webforms may be tools that you'll end up using but what you're really talking about is work flow. You could build your own work flow with a combination CCK and views, yes. There are also work flow modules.

Are you and IRC user? See: http://drupal.org/irc

Rimian
Check out http://drupal.org/project/workflow
threecheeseopera
A: 

First of all, don't underestimate Drupal's learning curve. Especially if your PHP and/or programming skills are relatively new. Drupal does a lot of things in it's own way, and it's good to know that way.

Secondly, Drupal is (imho) made first of all for outward facing sites, it can have a lot of stuff just for the users and not for the public, but a lot of its functionality is made for the CMS part of the system. You might consider using a more framework-style system like Zend Framework, which components are a bit more "loose" but also offers less functionality out of the box.

Thirdly, depending on what a work order is and how it should be treated a custom module could be needed. If a workorder has a really simple datamodel, it could probably be done without programming, but if it is complex you'll have to fire up your favorite editor. Don't worry, making a module sounds scarier than it really is.

Niels Bom
Thanks for the input!
michael
A: 

I don't know how good your knowledge of drupal is, but to me this has CCK and Views2 and user roles written all over it.

Basically, use CCK to create your content types (remember the user reference field might come in handy to assign a node/record to a particular user)

Then create views for each user group (they could be shared, as you can assign them to more than one role type)

Creating a view where you filter the cck user reference field by the user looking at the screen may also come in handy here.

OKAY, there might be a little bit more to it than that, but what you want is doable.

UPDATE: To protect your site from unwanted eyes, check out the site security module as it puts a security wrapper around all of your website.

Views - Create lists - allow access by user roles

CCK - Define your own content types (add your own fields)

Matt