In order to satisfy the Essential Use Cases there are the list of features we need to achieve
RAMS organizes activityflows around projects. These RAMS projects are essentially a set of individuals that work together to attain certain goals and objectivies. Each individual within the group has one or more roles in the project.
Projects can also be subdivided into teams, which also have roles.
Edit on the fly
Live Edit is the ability to modify an running activityflow while is running thru the Monitor interface.
Data in/out (including across sequences)
Outputs from activities can affect the activityflow. Therefore activities should be able to interpret output from other activities as input
We should be able to create branches based on
i.e.: "Given an output for an activity, then go down this branch"
- User defined
As monitor for the activityflow, one can decide which branch the flow should go.
Branch flows based on groups. i.e.: "All people in group A go down this branch, group B goes on this other one"
Branches should be able to merge at the end
Or continue on to the end on their own branch
Or have a activity-less branch before merging
Based on an output of an activity, syncronization, or user defined!loop.jpg|align=center!
Issues to take into account:
- Once a participant has gone thru an activity, if the participant is force to do this activity again, does the activity needs to be reinstantiated again?
- Or is it just a new "attempt" for this participant? Do we wipe out the first attempt?
Event based notifications: when a particular event occurs, notify a party or group. The means for notifications can be various (email, sms, IM, etc).
- where the notifications are set up? For sure they has to be provision to set them up at Authoring time (maybe on transitions or as part of workflow within activities?).
- Can we set up notifications at authoring time as well (i.e.: let me know when the first participant gets to this activity)
Roles with a project and also within activityflows
Given that RAMS projects have roles, when creating and running activityflows for a particular project, RAMS permits certain tasks to be mapped to these roles.
- Mapping customized roles to generic roles might not be trivial.
Roles within activities
Given that we have roles at the activityflow level, RAMS activities should be able to use those roles within their own activity workflows.
The ability to spawn sequences given an event.
- Time (Weekly, Daily, monthly)
- Special events (output from a sequence/activity) [maybe set those in Authoring and monitor]
- Machine/external trigger workflows (one sequence finishes and spawns another sequence?) [CF: sequence aggregation]
Being able to aggregate several activityflows in a larger activityflow
- Different views
- Project view
- Monitoring sequences according to different roles
- My tasks (some sort of views that summary of what you need to do) - review the word 'task' though
- Task status within a lesson
- Floating activities
- Non-ending activities (or activityflows)
- Sequenced activities
- My To do
- RAMS express
- Ready to go sequence (kinda RAMS express)
- Tool wrappers to external process/ webservices tools
- Aware or roles (swim lanes)
- Permissions on what roles can see/do what within activities
- What's the next activity for me (based on the permissions set on the sequence for roles)
- Sequence status level and individual sequence status
- permissions for views according to roles?
- Full view
- Initial view only (display only authoring data)
- Can't view but sees only the title
- Can't view but sees that the tasks exists
- Can't view nor can see that it exists