Skip to content

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.Clients is 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.NHibernate is referenced but never imported or used in source — an unused dependency (also a transitive dependency of SAIF.Framework.Windows).
  • imagingapiurl and OnBaseKeywordUpdateServiceUrl have no default anywhere in the repository and are not declared in environmentsettings/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 returned Task is never awaited or observed, so faults on that path are silently lost.
  • Newtonsoft.Json is pinned at 8.0.3 (2016-era) with a binding redirect in App.config.

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.csproj
  • OnBaseKeywordSync/OnBaseKeywordSync.sln
  • OnBaseKeywordSync/Program.cs
  • OnBaseKeywordSync/App.config
  • OnBaseKeywordSync/Services/ImagingApiClient.cs
  • OnBaseKeywordSync/Services/OnBaseKeywordSyncClient.cs
  • OnBaseKeywordSync/Service References/OnBase/Reference.svcmap