VOOZH about

URL: https://deepwiki.com/Accenture/Ocaramba/7.1-shfb-api-documentation

⇱ SHFB API Documentation | Accenture/Ocaramba | DeepWiki


Loading...
Last indexed: 6 June 2026 (fb3580)
Menu

SHFB API Documentation

The Ocaramba framework utilizes Sandcastle Help File Builder (SHFB) to generate comprehensive API documentation from source code comments. This documentation provides a structured view of the framework's namespaces, classes, and methods, facilitating easier onboarding and technical reference for automation engineers.

SHFB Project Configuration

The primary documentation project is Ocaramba.Documentation.shfbproj. It is configured to build a static website representing the API surface of both the core Ocaramba libraries and their dependencies.

Key Project Properties

Documentation Sources

The builder pulls metadata and XML comments from the following functional projects:

  1. OcarambaLite.csproj: The core engine containing driver logic and helpers Ocaramba.Documentation/Ocaramba.Documentation.shfbproj37
  2. Ocaramba.csproj: The extended framework layer Ocaramba.Documentation/Ocaramba.Documentation.shfbproj38

Visibility and API Filtering

To keep the documentation clean, specific visibility rules are applied:

Diagram: Documentation Build Data Flow

The following diagram illustrates how source code and configuration files are processed by SHFB to produce the final API Website.

"Documentation Build Process"


Sources: Ocaramba.Documentation/Ocaramba.Documentation.shfbproj36-42 Ocaramba.Documentation/Selenium.shfbproj24-26 Ocaramba.Documentation/ContentLayout.content1-8

Selenium Dependency Documentation

The framework includes a specialized project, Selenium.shfbproj, dedicated to documenting external Selenium dependencies. This ensures that when developers browse Ocaramba's API, they have access to the underlying WebDriver documentation.

Sources: Ocaramba.Documentation/Selenium.shfbproj24-27 Ocaramba.Documentation/Ocaramba.Documentation.shfbproj74-84

Content and Versioning

Conceptual Content

Beyond auto-generated API lists, the documentation includes conceptual topics:

Diagram: Documentation Content Structure

This diagram maps the logical documentation structure to the physical files and code namespaces.

"API Documentation Structure"


Sources: Ocaramba.Documentation/ContentLayout.content1-8 Ocaramba.Documentation/Content/Welcome.aml1-17 Ocaramba.Documentation/Ocaramba.Documentation.shfbproj70-73

Publishing Documentation

The documentation is hosted on GitHub Pages via an automated PowerShell script and CI/CD triggers.

Publishing Script Logic

The script PublishingApiDocumentationOn_gh-pages.ps1 manages the deployment to the gh-pages branch:

Build Integration

  • NuGet Dependencies: The project uses EWSoftware.SHFB and EWSoftware.SHFB.NET packages to enable building documentation on build agents without requiring a full Sandcastle installation Ocaramba.Documentation/Ocaramba.Documentation.shfbproj121-124
  • Solution Dependency: In Ocaramba.sln, the Ocaramba.Documentation project is dependent on OcarambaLite and Ocaramba, ensuring the assemblies are built before SHFB attempts to parse them Ocaramba.sln45-50

Sources: scripts/PublishingApiDocumentationOn_gh-pages.ps11-58 Ocaramba.Documentation/Ocaramba.Documentation.shfbproj121-124 Ocaramba.sln45-50