A toolkit can contain every library artifact type except a few that only make sense in a process app; the full list (BAW 20+):
- Processes: BPDs (called as linked processes), sub-processes inside them, case types (BAW with case).
- User interface: client-side human services, heritage human services (deprecated), coach views and their assets (UI themes belong to process apps).
- Services: service flows, general system services, integration services (web service, REST external service, Java, SQL, JMS, content), Ajax services, decision services (rules, decision tables), external activities.
- Data: business objects (incl. shared BOs), exposed process values (EPVs) with defaults, environment variables (toolkit-level variables that dependent apps inherit).
- Teams (participant groups) and team filter / retrieval services.
- Files: managed web files (JS, CSS, images, zips), server files (jars, properties), design files.
- Undercover agents and tracking groups, timing intervals, event subscriptions.
- Servers (REST / web service / ECM / database server definitions used by the toolkit's integrations) and external services / Swagger definitions.
What a toolkit cannot do: be installed and run on its own (no exposed dashboards / startable services of its own - exposure happens in the process app that depends on it; exposed items inside toolkits are exposed through the app), hold instance-level configuration (EPV runtime values, environment variable values per environment are set on the app), or be the target of a case solution. Toolkits are versioned by snapshots and referenced by apps as dependencies; a toolkit may depend on other toolkits (no cycles).
References