Loading
Say instance for a process instance in code, type every class constant, fold four duplicated helpers and correct ten documentation errors
Closes https://www.drupal.org/project/orchestra/issues/3633207
No behavior change except where noted. One commit per finding. Merge after !729 (merged) and !730 (merged).
Naming and conventions
- N1. Code and comments say instance, not run, for a process instance. The
ProcessInstance::setState()exception now says "not an instance state". UI and log strings are left as they are. - N2. Every class constant has a type (
const string X). 185 constants were untyped, sometimes next to typed ones in the same class. - N3. Comments and the demo guide use orchestra's own terms: "person", not "visitor". The French guide says wait_all join and matching join instead of AND and OR joins.
Duplicated logic
- D1.
InnerPluginSettingsTrait::buildToggledInnerSettings()andInputName::buildForElement()replace three copies inQuorumJoin,ReassignandInteractionPluginConfigTrait.Reassignsubmits throughsubmitInnerSettings(). - D2.
SubformInput::readValue()replaces four hand-written walks of the raw user input.WorkingRowsTraitholds thecm_node_featureskey and the row accessors thatPluginSequenceFeatureBaseandNodeValueseach declared. - D3. Engine-side warnings go to the Orchestra log channel through
OrchestraLoggerTrait. This coversorchestra_remote_process,orchestra_interaction_webform,orchestra_uiandorchestra_content. The client modules keep their own channels. Test:FormFromSubmissionTest::testTheStepWithNoFormLogsOnTheOrchestraChannel()(fails on 1.x). - D4.
InstanceFilterForm::parseInitiatorUid()parses the initiator filter for both the filter form and the list.
Documentation
- Doc1.
parseMap()documents thename|othersyntax. - Doc2. The gateway docblocks describe the gateways that exist (Capability, Assignment, Operation), not a plan.
- Doc3.
TenantLimitedOptionsTraitcounts three filters. - Doc4.
hook_orchestra_identity_proof_producer_info_alter()andhook_orchestra_identity_proof_verifier_info_alter()are documented. - Doc5.
docs/architecture.mdlists all five config entities,IncidentKind, and four missing submodules. - Doc6.
docs/concepts.mdcounts eight primitives (addsnotify).docs/content.mdnames the$initiatorargument. - Doc7.
docs/distributed.mdlistslistDefinitions()and counts three step endpoints. - Doc8.
docs/extending.mdlists the incident kind plugin type and scopes the capability rule to engine plugin managers. - Doc9. The roadmap, concepts, views docs and the
orchestra_viewsREADME name the views that ship. - Doc10. The audit trail README lists
ignored. The interaction README nestsinteractionunderfeatures. The VBO README says canceled.
AI-Generated: Yes (Claude Code was used to audit the module and to write this code, its test and this description.)