This post involves the discussion about modeling Drupal brings a lot of joy along with it for its users. And using this amazing CMS platform to model corporate and business workflows is one of the many delights of modern computing. Drupal’s got amazingly powerful, abstract business workflow tools in its bag, and that comes in the package of two really useful modules, namely Views and Rules modules. These can be combined effortlessly along with a suite of influential core modules that we would also use, like Taxonomy and Roles to get optimum benefits.
In this particular tutorial we are going to discuss how to create a impressive corporate authoring system without the need of writing PHP code.
Note that while this post focuses on creating content that any good CMS is capable of handling, but we choose Drupal because with the help of its modules like, Views and Rules it can cater to an immence range of business requirements for the Internet.
Drupal development solution for specified problems and requirements
Suppose that a large company requires a new website to produce blog and marketing content to support their other operations. So, what would be its business requirements? Let’s check out.
So, the following is a list of pretty common business requirements for our corporate collaborative authoring and editorial application:
- Content would be produced by different people, in various parts of the world, at various times
- Content is required to be edited by a specific subject expert editor
- Content is then submitted for approval to the marketing director
- Content should not be available to the public until it has been approved
Requirements and Drupal development
Conventionally, most of the companies follow a rather unfathomable editorial workflow process like this:
- Writers have to submit their content (in WORD, PDF, NotePad, etc) to an editor
- Writer and editor then face arguments and disagreements until they agree upon a common ground
- Content is then emailed to the chief editor who signs off
- Chief editor then emails the document to the Web nerds, who convert it into HTML and publish it to the site
But Drupal can radically improve this workflow by reforming the procedure.
Required Drupal modules
To make this radical change, we are required to use the following important modules:
- CCK (Drupal 6) or Fields (Drupal 7)
Drupal development solution
By putting these powerful Drupal modules to use, we can implement a much more efficient editorial workflow solution as the following:
- Create “Writer” role that can create, but not publish content to the site
- Create “Editor” role that can edit but not publish content
- Create “Director” role that can edit and publish content
- Create taxonomy aware rules to notify the correct subject editor of new content creation
- Create view block that allow editors to easily access the latest content relevant to them upon login
- Create rule to notify the relevant “Director” upon completion of document editing. Editorial completion is signaled by the editor checking a “Completed edit” CCK or Fields check box
- Create views block that allows the “Director” to easily access edited, but unpublished content
- Only the “Director” may publish content and permit it to go live
So what’s the big improvement in this workflow? Firstly, the document stays where it is, that is the website, it’s secure and doesn’t have to be moved around. It doesn’t have to get emailed, sent to the wrong person, forgotten, corrupted by version changes as it is passed around, etc. So, you can very well understand the advantage of this.
Implementing Drupal collaborative authoring solution
All the little details cannot be discussed in this one post, as it’s beyond the scope. So, we assume that you are well versed with Drupal to be able to fill in the gaps. And in case you need any help then feel free to contact us.
To make sure that the “marketing” editor only gets to see marketing articles, or the “customer service” editor only gets customer service related content, etc the collaborative content needs to have a vocabulary associated with it. Do not allow multiple term selection to keep things simple.
As mentioned above, for the purpose of this example of ours, we need three roles to be created, “Writer“,
“Editor“, and “Director“, you can create whatever roles suits your business requirements.
Permissions should be set on the specific content type such that only the “Director” can publish content after verifying that it meets company guidelines and standards.
For the workflow rules to be implemented, you have to download and install the Rules module first. After this is done, you can create the notification rules as follows:
- Writer to editor: After creating a new content piece, test the taxonomy and email a notification to the subject editor.
- Editor to director: After updating existing content, test whether or not the “Completed edit” field is selected and then email it to the appropriate director.
We are required to have two separate views to be seen for the editors and directors. The views blocks are as follows:
- Editor block: this displays only for “Editor” role. Displays on editors’ account page. Displays only saved content in the taxonomy relevant to that editor.
- Director block: this displays only for “Director” role. Displays on directors’ account page. Displays all “Completed edit” content that has not been published.
Custom Drupal authoring workflow
If you have been following all the steps mentioned above, then you have actually just implemented a truly well-organized and commanding solution for business editorial workflows.
Please note that we have made things really concise here. You would need some additional things for your real workflow version. For instance, you may prefer to use “revisions” to keep track of what people did to a particular piece of content.
Share with us your views and opinions on this topic, and also do let us know about your personal experience with similar type of projects. Thanks for engaging!
Valuebound is a leading Drupal Development Company providing Enterprise Drupal web solutions. For more information on Drupal Development, contact us at email@example.com