This page is incomplete.
Our codebase is (largely) split up into two sections: that which is core C2 code, and that which is specific to the use cases. See the descriptions of the current use cases in the Overview. Differences from one use case to another include:
- Model
- Fields
- Validation
- Defaults
- Client
- Version calculation
- Approval flow
- Automatically assigned approvers/observers
- Fields
- Display of a single request (
show
page, emails, etc.)- Name
- Public identifier
- Displayed properties (
fields_for_display
)
- Dashboard (
/proposals
) – optional- Displayed properties
- Policy – optional
- Form
- Ordering of fields
- Possible/suggested options for various fields
- Human-friendly names for fields
- Hint text
- Eventually, possibly
show
page template (e.g. display of aNcr::WorkOrder
being different from that of aGsa18fProcurement
)- Reporting
- Custom dashboards (e.g. for budget reconcilers)
- Overall styling
- Logo
- Colors
- User affiliation (e.g. region)
- User role (e.g. service center worker vs. budget analyst)
- User relationships (e.g. supervisor)
- Access control (e.g. service center directors can see all requests in their region)