Workflow Blue Print

The Goal:

To accomplish a new global workflow system that all modules can implement. The new system needs to be easy for site administrators/editors to use.

Overview:

By implementing two new permissions, publish and unpublish, we can give administrators a way to easily determine which editors can make content changes that will go live to the site. By giving a user edit permissions, but not publish permissions you can essentially limit that editor to creating drafts. We can then add a redirect to the standard update method that will check if the user making an edit has publish perms. If not, we will redirect them to another action that will look up all users who do have publish perms and give that editor the opportunity to email one or more publishers, notifying them that new content is available for approval.  If we create a new table to store some basic information about non-published content, we could populate it when an editor makes an unpublished edit and then create a new Slingbar menu for approvers that will notify them of content awaiting approval.

Steps to Implement:

  • Add the two new permissions to the standard set of perms in expController.
  • Update the functions in expController that deal with content (basically all of them)
  • Update aggregateWhereClause() function
  • Update each exp2 module's Table Defs to have the published boolean column
  • Audit each existing module/controller/datatype to make sure they are implementing the publish perms properly
  • Create a table to store a list of content in approval mode
  • Create a new Slingbar menu to show approvers which content is needing approval
  • Create an action/view for approvers/admins to use to manage workflowed content from one place
  • Create an admin interface for rolling out perms site wide easily (Phase 2?)

Areas of Exponent Affected By the Change:

expController and ALL existing modules will need to be touched to implement this feature.

About Exponent Framework

ExponentFramework.org is a portal dedicated to the development of the Exponent 2.x codeline. All activites pertaining to development of the 2.x codeline can be found on this site.

Exponent Newsletter

Sign up for the Exponent newsletter and recieve updates about upcomming events and other news about Exponent's developments.

News from ExponentCMS.org

Exponent CMS to be migrated to Microsoft's .NET Framework. (April Fools ;)

Wednesday, March 31, 2010
We are excited to announce a new direction for Exponent CMS, and we are very interested to hear your feedback (see link at the end of this post).. We will quickly be transitioning Exponent into Microsoft's .NET Framework. The LAMP stack has served us well over the years but we believe this decision will benefit Exponent in the long run. It was fun while it lasted, but let’s face it: Microsoft isn't going anywhere. We wholeheartedly believe that unless we join forces with such formidable opponent, Exponent may continue to be just another CMS in a sea of PHP code. Read More

Exponent on Launchpad, getting ready for takeoff

Wednesday, March 17, 2010
Exponent is now using Launchpad.net to help centralize development efforts. If you're looking to get involved in the project, you'll be able to join the Exponent CMS Community Team and sign up for the Exponent Mailing List, View Exponent Codelines for both 1.0 and 2.0 version, and File Bug reports. Read More

Exponent websites under attack.

Sunday, February 21, 2010
For the past few weeks, many Exponent websites have been under attack were successfully hacked. Read More