Skip to content

Operations and processes

All operations belong to the Execute lifecycle stage; Initialize and Finish are empty, so no operation maps to them. This page is the operation catalog and hub; each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

ID Operation Trigger Lifecycle stage Owning component Rules
OP-001 Run the OnBase keyword sync ConsoleBase.Run() after Initialize() returns and Environment.ExitCode is set to 0† Execute OnBaseKeywordSyncRunner.Execute BR-OBKS-001, BR-OBKS-002, BR-OBKS-003
OP-002 Clear invalid person keyword syncs Step 4 of OP-001 Execute OnBaseKeywordSyncRunner.ProcessInvalidKeywordSyncs / ImagingApiClient.ProcessInavlidPersonKeywordSyncs BR-OBKS-002
OP-003 Sync a keyword batch with OnBase Step 7 of OP-001, via OnBaseKeywordSyncRunner.SyncDataWithOnBase Execute KeywordUpdater.Update BR-OBKS-003, BR-OBKS-004, BR-OBKS-005, BR-OBKS-006, BR-OBKS-009, BR-OBKS-010
OP-004 Decide whether a record is sent to OnBase Step 3 of OP-003 Execute KeywordUpdater.PerformUpdate BR-OBKS-004, BR-OBKS-005, BR-OBKS-006, BR-OBKS-009
OP-005 Send one keyword update to OnBase Step 4 of OP-003 Execute OnBaseKeywordSyncClient.UpdateKeyword BR-OBKS-001, BR-OBKS-006, BR-OBKS-007, BR-OBKS-008, BR-OBKS-009, BR-OBKS-011
OP-006 Translate a keyword value Step 1 of OP-004 and step 4 of OP-005 Execute KeywordHelper.GetKeywordValue BR-OBKS-009

Cross-operation flow diagram

The following diagram visualizes how the operations sequence across the run lifecycle.

flowchart TD
    A["OP-001: Run the OnBase<br>keyword sync"] --> B["OP-002: Clear invalid<br>person keyword syncs"]
    B --> C["Retrieve unprocessed<br>keyword syncs, ordered by Id"]
    C --> D["OP-003: Sync a keyword<br>batch with OnBase"]
    D --> E["OP-004: Decide whether<br>a record is sent"]
    E -->|Send| F["OP-006: Translate<br>keyword value"]
    F --> G["OP-005: Send one keyword<br>update to OnBase"]
    E -->|Skip| H["Log skip reason"]
    G --> I["Mark record processed<br>in Imaging API"]
    H --> I
    I -->|Any exception| J["Rethrow -&gt; exit code 5"]

Sources

  • OnBaseKeywordSync/OnBaseKeywordSyncRunner.cs
  • OnBaseKeywordSync/Services/ImagingApiClient.cs
  • OnBaseKeywordSync/Services/KeywordUpdater.cs
  • OnBaseKeywordSync/Services/OnBaseKeywordSyncClient.cs
  • OnBaseKeywordSync/Services/KeywordHelper.cs