plainblack.com
Username Password
search
Bookmark and Share

Workflow

A site administrator must make Workflow visible in the site settings. If this has not been done, you may not be able to see the items discussed in this chapter.

The WebGUI workflow system controls the flow of content through the system. Because the workflow is customizable, you can control what actions are performed on content, and when those actions take place. Workflow activities are usually left to the site administrator to handle, but as a content manager there may be times when you need to use this system as well. Sometimes viewing an existing workflow on the site helps envision how all the activities come together.

To view current workflows in the system, select Workflow from the Admin Console. This will open the “Manage Workflows” screen.

 

This screen contains the name of each workflow, an indication of if the workflow is currently enabled, and icons to delete or edit each workflow. On the far right hand side of the screen you will see a small blue link to Show Running Workflows. Click on this to show workflows currently running on the site.

 

The Show Running Workflows screen indicates if there are any suspended workflows, workflows waiting to be run, or workflows currently running on the site. Each workflow has a priority associated with it; normally, the high the priority the greater the precedence the workflow has. Each workflow also shows a description of its activity, the last time the workflow was run. To manually run a workflow on this screen, click the Run link on the far right hand side of the screen for that workflow.

To edit an existing workflow, on the Manage Workflows screen simply click on its edit button. This will open the “Edit Workflow” screen.

At the top of the screen is the “Workflow ID.” This is a unique identifier generated by WebGUI at the time of workflow creation. Next is the “Object Type.” In this case, it is WebGUI::Version Tag, which means this workflow can be applied to version tags. The “Title” is simply the name of the workflow, and the “Description” field contains an explanation of the workflow’s function.

The “Mode” field currently has four options: Serial, Parallel, and Singleton.

  • Serial means that if multiple instances of this workflow are created they will be executed one at a time in order. The first in line will be executed, then the next, and so on. This will be executed behind the scenes as the workflow engine has the time and resources to complete the tasks. An example for this workflow mode is checking an email box. If the workflow instances were allowed to execute in a parallel fashion then you might download the same message multiple times. By keeping it serial you will get exactly one copy of each email message.

  • Parallel means that multiple instances of this workflow will all be executed simultaneously. This will be executed behind the scenes as the workflow engine has the time and resources to complete the tasks. An example for this workflow mode is content publishing. We want our content published as quickly as possible, we don't care about publishing in the order the content was committed.

  • Singleton means that multiple instances of this workflow will not be allowed. If one instance already exists and another is created, the second will be discarded. This will be executed behind the scenes as the workflow engine has the time and resources to complete the tasks. An example of this mode is for sending out email. You know you want to send out all of your email messages. You also know you are going to try to send out messages every X minutes, so you don't ever need more than one process sending out the messages.

 

At the bottom of the screen are listed a number of links. These links indicate activities that can be added to the workflow. Simply click on a link, add the appropriate information and save it to the workflow. The activities listed in black are already part of the workflow. Next to these are icons that allow you delete an activity, edit it, or change its position in the order of performance.

Note: If somebody performs an action on the website that uses this workflow as it is being edited, the system will use an instance of the workflow that mirrors it as it is being edited. Therefore, content may not move through the system as expected. You may disable the workflow, but then it won't
work at all. You may want to consider managing workflows during times of low site traffic.

 

Add a Workflow

  1. To add a new workflow, click on the “Add a new worfklow” link on the far right hand side of the “Manage Workflows” screen. In this example a workflow will be added that commits a version tag on a specific date, in this case the day the workflow is created.

 

  1. In the “Add a New Workflow” screen, select the “Object Type” the workflow will be applied to. “No Object” includes maintenance tasks like decaying karma and cleaning the file cache. “WebGUI::User” applies to a user; “WebGUI::VersionTag” applies to version tags.

  2. Click save. The “Edit Workflow” screen will appear.



 

     

  1. Enter a title for the workflow in the “Title” field.

  2. Enter a description of the workflow’s function in the “Description” field.

  3. Set the “Is Enabled?” toggle to Yes, and select the Mode.

  4. Select an activity to include in the workflow from the links at the bottom of the screen. In this example, ”Create a Scheduled Event” was selected.

  5. A screen will open on which to enter information about the workflow activity you selected. This screen and its fields will differ depending upon which activity you selected.



 

  1. You can give the activity a title and enter text in the description field.

  2. Toggle the “Is Enabled?” field to Yes (default setting is No).

  3. If the “Run Once?” field is toggled to Yes this task will execute at the scheduled time and then delete itself.



  4. Next, select a workflow from the “Workflow” dropdown menu. This indicates the workflow you want to run at the time the event is scheduled. In this example, Commit Without Approval.

 

  1. In the “Priority” field select the option that best indicates the priority of this activity; the higher the priority the faster the activity will be performed.

  2. Set the time and date fields to indicate when the event should occur.

  3. Click save. You will be returned to the “Edit Workflow” screen where you will notice the task now added to the workflow. This appears at the bottom of the screen in black, with a number of editing icons. You will also see it added on the “Manage Workflows” screen.

 

 

Now, you can assign this workflow when manually creating a version tag, or you can edit an existing version tag and assign a workflow to it. To do this, select Version Tags from the Admin Console, and click on the edit button next to the version tag you would like to assign this workflow to in the “Edit Version Tag” screen. This will open a screen from which you may select the appropriate workflow. Also, the workflow can be assigned globally so that any new version tags created will have this workflow applied. To assign the workflow globally, select Settings from the Admin Console and alter the “Default Version Tag Workflow” field. This is where you assign the workflow to be executed on all version tags in the system. There are also some assets that allow you to assign workflows to submitted content, such as Collaboration System and Wiki.

 

Workflow Activities

The Object Type you select in the “Add a New Workflow” screen will determine the list of available tasks to add to a workflow in the “Edit Workflow” screen.

Object Type: No Object

Available Workflow Tasks:

  • Decay Karma: allows you to set the minimum value a user's karma can decay to, and how many points of karma will be removed when the workflow runs.

  • Empty Clipboard to Trash: allows you to establish a length of time content is allowed to sit in the Clipboard before the system removes it to the trash.

  • Clean Temp Storage: allows you to set an amount of time to pass before temp files are cleared from the system.

  • Clean File Cache: allows you to set how big the file cache can get before WebGUI begins pruning old cache entries.

  • Clean Login History: allows you to set an amount of time to pass before WebGUI will begin deleting entries in the Login History.

  • Archive Old Threads: when this task is run old threads, based on each Collaboration System's settings, will be archived.

  • Trash Expired Events: allows you to set an interval of time to pass before an event in the Calendar is moved to the trash. The default interval is 30 days.

  • Create a Scheduled Event: allows you to schedule an event in the system for a specific date and time; an example would be to schedule a version tag to be committed at a specific date and time.

  • Delete Expired Sessions: this workflow deletes expired sessions.

  • Expire User Groupings: this workflow activity will go through all groups and handle group expiration notifications and deletions. For example, if a group expiration notification has been set up, this workflow activity will send out the appropriate emails to group members to alert them of the upcoming expiration. Once the group's delete offset has passed, this workflow activity will delete users from the group.

  • Purge Old Asset Revisions: this workflow activity allows you to set an amount of time to pass before WebGUI will delete versions of assets stored in the Versioning system. The default setting in WebGUI is to delete versions of assets older than one year.

  • Expire Subscription Codes: this activity will go through all subscription codes and expire any subscription code that is unused after the expiration date has passed.

  • Purge Old Trash: allows you to set a length of time to pass before assets are deleted from the Trash. WebGUI's default setting is to purge assets from the Trash after 30 days.

  • Get Syndicated Content: allows the Syndicated Content asset to serve pages more quickly by pre-fetching syndicated content URL's.

  • Sync Profiles to LDAP: this activity will synchronize the profiles of all users configured for LDAP authentication (this runs from LDAP to WebGUI).

  • Summarize Passive Profile Log: summarizes passive profiling data for all registered users and then deletes the log.

  • Send Queued Mail Messages: processes queued emails. This activity will only run in one minute intervals.

  • Clean Database Cache: prunes the size of a database cache based on the user configured cache size and the expiration time of items in the cache. If pruning expired items does not reduce the size of the cache to the value configured by the user, then the expiration time will be increased by 30 minutes and the process will repeat until it meets the size requirement.

  • Update Calendar Feeds: fetches iCal feeds for the Calendar asset.

  • Notify Admins of Old Version Tags: this activity allows you to set a number of days to pass before a message will be sent to users within the Admin group alerting them to old version tags left open on the site.

  • Purge Old Inbox Messages: this activity allows you to set a period of time to pass before old messages stored in users' WebGUI Inbox will be purged.

  • Expire EMS Cart Items: allows you to set a period of time to pass before items placed in a user's cart from an Event Management System will expire. Once expired, these events will be placed back in the Event Management System and made available for purchase.

Object Type: WebGUI::User

Available Workflow Tasks:

  • Create a Scheduled Event: allows you to schedule an event in the system for a specific date and time; an example would be to schedule a version tag to be committed at a specific date and time.

  • Notify About User: sends out an email about a user.

Object Type: WebGUI::Version Tag

Available Workflow Tasks:

  • Commit Version Tag: this activity commits a version tag; in a workflow dealing with committing version tags, this should be the last activity.

  • Rollback Version Tag: rolls back a version tag, effectively eliminating all versions of assets contained in that tag.

  • Trash Version Tag: moves all assets contained within a version tag to the trash; after this is done, the tag is locked.

  • Create a Scheduled Event: allows you to schedule an event in the system for a specific date and time; an example would be to schedule a version tag to be committed at a specific date and time.

  • Unlock Version Tag: unlocks a locked version tag so assets can be edited; usually this is used to unlock a committed tag that was rejected in an authorization process.

  • Notify About Version Tag: sends out an email containing information about a version tag. The message contains text input when setting up this activity as well as the URL to the first asset in the tag.

  • Request Approval for Version Tag: sends out an email to all members of a selected group. The email contains any comments input by committer as well as the URL to the first asset in the tag. The first user to respond to the email can either approve or deny the commit. If the tag is approved, the tag will be committed, if denied it will move on to the next assigned workflow task.

  • Export Version Tag to HTML: exports each asset contained within a version tag to HTML.

  • Wait Until: this activity waits until a version tag's specified start or end time has passed before moving on to the next workflow activity. This corresponds to the start and end times manually assigned to version tags through the Version Tags screens in the Admin Console.

  • Request Approval by Committer Group: the version tag will be sent for approval to users within the same user group as the user who committed the tag.

  • Request Approval By Asset Lineage: requires approval of content under a parent asset. This allows you to set approval for different sections of content on the site. For example, the parent asset to approve could be set to a Collaboration System. If approved, all content under the Collaboration System (threads, posts) are approved as well.

Keywords: publish scheduler spectre Versioning Workflow

Search | Most Popular | Recent Changes | Wiki Home
© 2017 Plain Black Corporation | All Rights Reserved