I am, what objects can I perform actions on? • Given an object, what actions can I perform? • Given an action is taken, what should happen? ◦ Event logging? ◦ Notifications? ◦ Update to persistence? ◦ Processing state change? ◦ Other?
of responsibilities (i.e. actions that can be taken). Convention is to use a verb. The role is “Approving ETD Submissions”. This is not a group of people!!!!!!!!!!!!!!!
for any ActiveRecord adapter • Coercion - ensure we have predictable objects • @api public vs. private methods • Lots of Documentation • Lots of Specs Here there be dragons
Allows for the rules to generate the data from the schema to change. • I did not look for nor adapt a standard for describing workflows. Given an actual data file we can run a data processor/generator to populate the database. Sipity Technical Overview
the strategy and the entity level seeing the full details of who and what have permissions is helpful. This is itself a permissioned action within Sipity. Sipity Technical Overview
via JSON…because we are allowing custom workflow actions and states • Better conceptual separation between a state changing action and a non-state changing action (e.g. show) • Database representation of callback hooks ◦ Currently defined via conventions but it’s opaque • Convergence on Presenter objects; Decorators hurt Sipity Technical Overview
• Processing Entity as proxy for object • Separation of Roles vs. Groups • Actor as proxy for someone that does something (I’d rename it to Agent in the future) • Actions can be taken on behalf of someone else • Lots of documented high-level concepts Sipity Technical Overview
Hesburgh Libraries’s Project Request and Prioritization workflow • Capturing presentation submissions and building conference schedules for our multiple Excellence in Undergraduage Research (XUR) confrences each year Sipity Technical Overview