# We will need to define a Domain Model for representing the Submission Workflow and its steps in such a way as to allow it to be persistable in the database. An initial Model would have JAVA classes defined in Spring Workspace Service.
## Step: A physical Step with logic currently defined in Java code.
## Action: One or more Actions are the possible outcomes of the execution of the step and represent Tasks that may be completed prior to the Item transitioning to another step.
## Role: A Group of Individuals that are alerted to and participate in the completion of a Step.
## UserSelectionMethod: A View that allows the user to interact with the Step Executing Actions.
# Reviewing the Workflow, we find that the primary aggregate root of the Domain is a configuration that arranges the relationships between these 4 Domain objects.
{alternate.step.id}\# An initial User interface should provide the user with an ability to select
## One or more steps that will be in a workflow
## Associate Specific Outcomes (status codes) With existing Workflow Steps, Identifying the paths through the workflow.
## Add/Remove EPeople/Groups from Roles associated with the Step
# An advanced User Interface may provide
## the ability to alter the Configuration of what Actions are Associated with the Step
## codes those action may generate.
|