Dependencies¶
OnBaseKeywordSync is a single-project executable with no embedded libraries. It consumes four internal SAIF NuGet packages (one of which is referenced but never imported), two third-party packages, and reaches two remote systems — the Imaging API and the OnBase keyword-update SOAP service. It opens no database connection of any kind.
Internal dependencies¶
No project-reference or embedded-library dependencies — single-project repository. OnBaseKeywordSync/OnBaseKeywordSync.sln declares exactly one project (OnBaseKeywordSync.csproj), with no <ProjectReference> elements. The application does consume four internal organizational SAIF NuGet packages, listed below.
| Dependency | Reference Type | Project path | Usage |
|---|---|---|---|
SAIF.Framework.Windows |
NuGet Package | — | Console lifecycle, argument contract, Autofac bootstrap, console logging (SaifStandardProgramBase, ConsoleBase, StandardArgumentContainerBase, ArgumentResolverBuilder, RegisterCommonDependencies) |
SAIF.Framework.Core |
NuGet Package | — | IEnvironmentService, LogService, ConfigureOpenTelemetry |
SAIF.Framework.Common |
NuGet Package | — | IConsoleLogService, IsNullOrWhiteSpace/GetFullFormattedException extension methods |
SAIF.Web.API.Clients |
NuGet Package | — | JsonHttpClient, ClientInfo — used to build the Imaging API REST client |
External dependencies¶
| Dependency | Version | Usage |
|---|---|---|
Newtonsoft.Json |
8.0.3 | Transitive serialization support; no direct using in repository source |
RestSharp |
106.12.0 | No direct using in repository source — transitive of the API client package* |
Transitive dependencies¶
Dependencies in this section are inherited from framework packages rather than referenced directly. SAIF.Web.API.Clients is not present in the Legends CLI index, so no inherited documentation could be retrieved for JsonHttpClient/ClientInfo; its behavior in this table is taken from call sites only.**
| Dependency | Source framework | Type | Usage |
|---|---|---|---|
WindowsEnvironmentService (IEnvironmentService) |
SAIF.Framework.Core |
Transitive | Environment API configuration retrieval, resolved and hand-propagated to ImagingApiClient, KeywordUpdater, OnBaseKeywordSyncClient |
ConsoleLogService (IConsoleLogService) |
SAIF.Framework.Windows |
Transitive | Console and file logging surface injected into ConsoleBase, forwarded to KeywordUpdater† |
LogService (ILogService) |
SAIF.Framework.Core |
Transitive | Registered by RegisterAppDependencies but never resolved by application code |
SAIF.Framework.Data.NHibernate |
SAIF.Framework.Data.NHibernate |
Transitive (unused) | Package reference present in OnBaseKeywordSync.csproj but no type from it is imported or used anywhere in source |
API dependencies¶
| Endpoint | Method | Called from | Base URL config key | Usage |
|---|---|---|---|---|
ImageKeywordSyncs?getDocumentCount={bool} |
GET | ImagingApiClient.GetUnprocessedKeywordSyncs |
imagingapiurl |
Retrieve unprocessed ImageKeywordSync records, ordered by Id |
ImageKeywordSyncs/ClearInvalidPersonUpdates |
PUT | ImagingApiClient.ProcessInavlidPersonKeywordSyncs |
imagingapiurl |
Clear/flag keyword syncs whose person_id does not exist; returns the cleared records |
ImageKeywordSyncs/MarkProcessed?id={id} |
POST | ImagingApiClient.MarkKeywordSyncAsProcessed |
imagingapiurl |
Mark one keyword-sync record processed |
ImageKeywordSyncs/MarkSetProcessed?ids={csv} |
POST | ImagingApiClient.MarkKeywordSyncSetAsProcessed (defined but never called) |
imagingapiurl |
Bulk mark — dead code |
BasicHttpBinding_HylandOutBoundContract (SOAP basicHttpBinding) |
KeywordUpdate / KeywordUpdateAsync |
OnBaseKeywordSyncClient.UpdateKeyword |
OnBaseKeywordUpdateServiceUrl |
Apply one keyword update to OnBase; the synchronous call returns a document handle, the async call is fire-and-forget |
Database connections¶
None. This application declares and resolves no database connection of any kind: OnBaseKeywordSync/App.config contains no <connectionStrings> element, and RegisterAppDependencies calls builder.RegisterCommonDependencies(Environment.UserName, new[] { typeof(Program).Assembly }) with no params DatabaseConfig[] argument, so the framework's unit-of-work and connection registration paths are skipped entirely†. All persistence is performed remotely by the Imaging API behind {imagingapiurl}v1/Integration; no connection string reaches this process.
Dependency risks and notes¶
SAIF.Web.API.Clientsis not present in the Legends CLI index, so its behavior (including whether a non-success HTTP status throws or returns a default) could not be independently verified.**SAIF.Framework.Data.NHibernateis referenced but never imported or used in source — an unused dependency (also a transitive dependency ofSAIF.Framework.Windows).imagingapiurlandOnBaseKeywordUpdateServiceUrlhave no default anywhere in the repository and are not declared inenvironmentsettings/settings.yml; both must be supplied by shared environment settings or the application cannot reach either integration.- Async OnBase calls (
KeywordUpdateAsync) are fire-and-forget — the returnedTaskis never awaited or observed, so faults on that path are silently lost. Newtonsoft.Jsonis pinned at 8.0.3 (2016-era) with a binding redirect inApp.config.
Related documentation¶
- Application index
- Overview
- Architecture
- Run lifecycle
- Arguments
- Configuration
- Operations and processes
- Business rules
- Operational runbook
- Tech debt
Note: Statements marked with
†are derived from dependency library documentation via the Legends CLI. Statements marked with*were inferred from code structure or contextual evidence. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
OnBaseKeywordSync/OnBaseKeywordSync.csprojOnBaseKeywordSync/OnBaseKeywordSync.slnOnBaseKeywordSync/Program.csOnBaseKeywordSync/App.configOnBaseKeywordSync/Services/ImagingApiClient.csOnBaseKeywordSync/Services/OnBaseKeywordSyncClient.csOnBaseKeywordSync/Service References/OnBase/Reference.svcmap