It all starts with people. Performers, and Composers.
Groups are one or more people. Anyone can create a Group, and invite anyone to be a member.
Groups can own Projects. Groups can be invited to take a Role on a Project.
Roles are descriptors of people, reflecting what skills, talents, and interests they have.
Invitations are how people get permissions and take responsibilities on a Project. Groups can be invited to a Role too.
The power of Roles and Invitations:
In iLiv's world, you never assign someone to a Task. You assign a Role or Roles to a Task (Milestone, To-do, or Timeline). Then you invite someone to accept the Role.
Not only is this a nicer way to do business, it's also a more powerful way to engage people in collective effort. Assigning a Task would be a one-way command. Sending and accepting an Invitation is a two-way contract.
An uninvited or unaccepted Role Invitation is also a placeholder for someone who will take responsibility in the future. You can get the team going without requiring that all performers are on board.
When someone leaves a Role, their future responsibilities do not walk out the door with them. They remain with the Role. Their history also remains with the Project through that Role, for everyone to see -- including the person who will accept the Role next. Onboarding and offboarding are much more streamlined. And things are much less likely to fall through the cracks.
Events are actions that people take - they're very verby. Events are initially associated with a Role until someone accepts the Role, then the Event is the direct responsibility of that person (or Group).
Tasks are Events that have a beginning and end (dates and times).
Milestones have an end but no beginning.
To-dos have no times applied to them, but they do exist within a Timeline, and so are by proximity somewhat connected to the times of the other Events in that Timeline.
A Timeline is just a collection of Tasks, Milestones, and To-dos. While they don't represent a specific action, they encompass actions, and can have associated Roles, Notes, Documents, and Attributes of their own.
A Project is a collection of one or more Timelines (each having zero or more Tasks, Milestones, and Events)
Things associated with Events
Every Event has one. Those for Tasks, Milestones, and To-dos generally begin with a verb.
Longer, less transitive information about the Event.
More ad hoc, changeable Event-related information.
Simple, rich text bodies of text stored directly in the All-In database. Quick and easy to write and read.
Documents of any file type and program. Documents themselves are stored outside the database, possibly somewhere out in the cloud; but, extensive metadata about them are stored in the All-In database for quick refernce - including detailed version control.
Data-points designed in Composer and attached to Events in Performer, to store and track metrics or qualities that can be significant, across Events, Timelines, and Projects. Essential tools for measuring and reporting on performance.
Times and Timezones
Every User and every Event has a Timezone associated with it. These can change anytime. The system arbitrates between the times and timezones of Events, and of Users, to assure that people really know what is due when, wherever they are, and wherever everyone else involved happens to be.