Dodeca Workflow

First things first.  Dodeca does not come with built in workflow or process management.

But what you CAN do is build process management, or workflow, into your Dodeca application.  And you can build it the way you want it, and it can be done relatively easily.  The key to this is that Dodeca is really an Application Platform for building the exact application that meets your requirements.

It is powerful and flexible.  Powerful because there is an incredible amount of functionality that can be added to your application.  Flexible because the functionality can be adapted to specific users and specific situations.

In this post, we will have a look at a sample application called Outlook.  This is a company forecast application that is used multiple times throughout the year.  It uses a version of the Sample Basic Essbase application.

The Outlook Application dashboard

This is going to be a basic example of Process Management that only involves the Submission and the Approval or Rejection of the entire scenario.  We will explore the use of Planning Unit Hierarchies in a later post.

We will use Roles in Dodeca for this example.  For more information on Roles in Dodeca, please see the previous posts:  Roles in Dodeca and More on Roles

We will continue with the Planner and Reviewer roles that were demonstrated in those posts.  As in the other post, I am using Andy Dwyer (userid = dwyera) as the test Planner, and Leslie Knope (userid = knopel) as the test Reviewer.

We will also use a relational table to hold information about the scenario status.  It is one table structured like this:

The Scenario table

So, we have our Essbase application, Dodeca and a single SQL table.  With only these ingredients, we can demonstrate a basic forecasting submission workflow.

As shown in this previous post, we have assigned View Hierarchies based on Roles.  Only users with the role of Planner will have access to the Views that allow data input.  Here are the Input Views:

The Input Views in the Outlook application

Roles are important in this process.  Here are the specific actions permissible by Role.

A Reviewer can:

  • Open a scenario for Input.  This action will notify (via email) the Planning team and open the scenario for input on the Planning Views.
  • Review a scenario.
  • Accept a Scenario that has been submitted.  This action will notify the Planning team of acceptance and prevent any more input.
  • Reject a Scenario that has been submitted.  This action will notify the Planning team and reopen the scenario for input.

A Planner can:

  • Enter input to an open Scenario.
  • Submit a Scenario to the Review team.  This action will notify the Review team that the scenario has been submitted and prevent any more input.

After data for a scenario has been entered, Planners can to the “Review, Submit, Accept” View to submit the scenario for review,  In an attempt to keep things simple, we will focus most of this post on this “Review, Submit, Accept” View.  This is where the majority of the process management functionality takes place.

The Review, Submit, Accept View

We have three buttons on the toolbar for this View and they are only enabled under certain conditions.

Process Management buttons on the View Toolbar

The Submit for Review button is enabled if:

  • User has role of Planner
  • Status of the Scenario is Open or ReOpened

The Accept Submission button is enabled if:

  • User has role Reviewer
  • Status of the Scenario is Submitted.

The Reject Submission button is enabled if:

  • User has role Reviewer
    Status of the Scenario is Submitted.

This is all controlled through the extensibility that Dodeca provides with Dodeca Workbook Scripts.  We will not look closely at workbook scripts in this post, since the purpose of the post is to provide an overview of possible functionality as opposed to step by step instructions.

The Workbook Script for the Review, Submit, Accept View

The buttons on the View toolbar are tied to specific functions in the Workbook script.  When a user clicks on the Submit for Review button, the actions (methods) defined within the Submit procedure will be performed.  If you would like more information on how a specific function is accomplished please let me know.

So let’s have a look at the Review, Submit, Accept View:

I am in the application as test user Andy Dwyer with a role of Planner, and the Status of the scenario is Open, so the Submit for Review button is enabled.  Once I hit submit, a few things happen.

1.       An email is sent to the Review team.  Here it is on my phone:

Email from Dodeca

(Quick note on testing user emails.  Jake Turrell has on post on setting up multiple email addresses with one Google Gmail account: Using Test email accounts.  I used that method here for testing multiple target emails.)

2.      The scenario is set to Submitted.  Since I am testing as a user with the role Planner, I cannot Accept or Reject the submission.  Those buttons are still not enabled.

All buttons disabled.

Now lets assume that Leslie Knope, as part of the Review Team, received the email and is eager to check it out.  She can open the application and go to the same View.  Since Leslie does have a role of Reviewer, and the status of the Scenario is Submitted, she will see the Accept and Reject buttons enabled.

Reviewer Buttons enabled

Something is not quite right, so she will reject the Submission.

Upon this action, the Status is set to Reopened.  And now, for Leslie, all three buttons are disabled because as a Reviewer, she cannot submit an Open or Reopened scenario.

When Leslie rejected the Submission, Andy, who is on the Planning team, received this email:

Email indicating Submission has been rejected

Andy was able to make some updates on the Planning input Views that increased the total year Profit margin and is ready to submit again.  When he opens the Review, Submit, Accept view, he will see his new totals and can Submit again.  Now Leslie can open the View and Accept the submission.

Once it is accepted, all three buttons are disabled for both Andy and Leslie as no further actions can take place until the Scenario is opened again during next year’s cycle.

So that’s it at a high level.  The goal of the post was simply to highlight some things that can be done in Dodeca for Process Management.  I did not want to delve into to specifics of updating the SQL table, sending the emails, setting the logic for enabling buttons, etc, but I certainly can describe those steps in more detail in a later post.

The key is that although Dodeca does not come with predefined workflow functionality, you can build it with Dodeca.  And it can be built the exact way you want it.