OSDC.Drilling.Cluster.WebPages 1.1.4

dotnet add package OSDC.Drilling.Cluster.WebPages --version 1.1.4
                    
NuGet\Install-Package OSDC.Drilling.Cluster.WebPages -Version 1.1.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OSDC.Drilling.Cluster.WebPages" Version="1.1.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OSDC.Drilling.Cluster.WebPages" Version="1.1.4" />
                    
Directory.Packages.props
<PackageReference Include="OSDC.Drilling.Cluster.WebPages" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OSDC.Drilling.Cluster.WebPages --version 1.1.4
                    
#r "nuget: OSDC.Drilling.Cluster.WebPages, 1.1.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OSDC.Drilling.Cluster.WebPages@1.1.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OSDC.Drilling.Cluster.WebPages&version=1.1.4
                    
Install as a Cake Addin
#tool nuget:?package=OSDC.Drilling.Cluster.WebPages&version=1.1.4
                    
Install as a Cake Tool

OSDC.Drilling.Cluster.WebPages

This release targets MudBlazor 9.9.0 and the matching OSDC shared web component packages.

OSDC.Drilling.Cluster.WebPages is a Razor class library that packages the cluster management pages, reference-aware editors, feature/identity administration pages, display pages, and plotting components required by the Cluster web application.

Contents

  • ClusterMain
  • ClusterEdit
  • ClusterIdentities
  • ClusterFeatures
  • SlotFeatures
  • ClusterSurveyRuns
  • ClusterTrajectories
  • ClusterBackupRestore
  • StatisticsCluster: persistent request summaries in a sortable endpoint and functional-area table
  • ScatterPlot
  • Scatter3DPlot
  • Cluster page support classes such as API access helpers and unit/reference helpers

Calculator pages used by the Cluster web application are supplied by current OSDC Razor packages rather than this library:

  • OSDC.Drilling.Field.WebPages.FieldCartographicConverter at /FieldCartographicConverter
  • EarthVerticalDatum, EarthGravity, and EarthMagneticField components hosted by wrapper routes in WebApp/Pages

Cluster coordinate and mean-sea-level conversions call the Field and EarthVerticalDatum synchronous APIs directly. The library does not create, poll, or delete persisted calculation orders.

Cluster Editing

ClusterEdit provides:

  • Save/close workflows with unsaved-change confirmation.
  • JSON import/export for clusters.
  • Field association.
  • Reference point editing with north/east, latitude/longitude, and depth values through the unit/reference system.
  • Cluster identity assignment.
  • Cluster feature assignment with exclusive/non-exclusive categories and optional date validity periods.
  • Slot editing with row selection, north/east and latitude/longitude columns, shared coordinate accuracy values, and deletion of selected rows.
  • Slot feature assignment driven by selected slot rows. Assigned slot features are summarized in the slot table.

Batch Backup and Restore

ClusterBackupRestore exports all clusters or an ordered selection to one JSON document. It restores with fail-on-collision or replace behavior and lets the user either map existing local catalog definitions or create missing definitions/options. Field and Rig references are included by UUID and verified name and are validated live during restore; ambiguous or missing matches reject the complete operation.

Feature and Identity Management

The web pages include dedicated administration pages for:

  • Cluster identities: definitions such as official name, short name, common name, external database ID, WITSML UID, and similar identifiers.
  • Cluster features: category/option definitions that may be exclusive and may require validity periods.
  • Slot features: category/option definitions for slot status, usage, integrity, accessibility, readiness, operational constraints, and geometry confidence.

Cluster Displays

ClusterSurveyRuns and ClusterTrajectories display all survey runs or trajectories associated with the selected field and cluster.

  • Field and cluster selectors list every applicable item when empty and filter names by case-insensitive substring as the user types.
  • The 3D view shows survey/trajectory traces and selected uncertainty ellipses.
  • The Field position reference uses the persisted reference point of the selected owning Field; if that datum cannot be resolved, the active selection falls back to WGS84.
  • The Cartographic position reference resolves the selected Cluster reference point through its owning Field's configured projection; conversion failure falls back to WGS84 without blocking the display.
  • The depth selector offers the shared Rotary table/RTE choice backed by Rig.DrillFloorElevation only for a selected fixed-platform Cluster with a valid Rig link. Rig-service failure leaves the plots usable and only disables that conversion value.
  • The horizontal projection shows the same data on the north/east plane.
  • If the selected field defines delineation lines, the pages overlay the original delineation lines and calculated boundary lines.
  • Boundary lines are drawn dashed in the horizontal projection.
  • In the 3D view, delineation lines are displayed on the north/east plane at the top or bottom of the survey/trajectory bounding box, depending on camera angle.
  • The 3D bounding box is based only on survey/trajectory data and uncertainty traces that contribute to bounds; delineation lines do not enlarge the plot bounds.

Dependencies

The package depends on:

  • ModelSharedOut
  • OSDC.DotnetLibraries.Drilling.WebAppUtils
  • MudBlazor
  • OSDC.UnitConversion.DrillingRazorMudComponents
  • Plotly.Blazor

Host application requirements

The consuming web app is expected to:

  1. Reference this package.
  2. Provide an implementation of IClusterWebPagesConfiguration.
  3. Register that configuration and IClusterAPIUtils in dependency injection.
  4. Include the library assembly in Blazor routing via AdditionalAssemblies.
  5. If hosting the same contextual-data and calculator menus as the Cluster web app, reference and register the Field and Earth service web page packages and provide wrapper routes where required.

Example registration:

builder.Services.AddSingleton<IClusterWebPagesConfiguration>(new WebPagesHostConfiguration
{
    ClusterHostURL = builder.Configuration["ClusterHostURL"] ?? string.Empty,
    FieldHostURL = builder.Configuration["FieldHostURL"] ?? string.Empty,
    RigHostURL = builder.Configuration["RigHostURL"] ?? string.Empty,
    UnitConversionHostURL = builder.Configuration["UnitConversionHostURL"] ?? string.Empty
});
builder.Services.AddSingleton<IClusterAPIUtils, ClusterAPIUtils>();

Example routing:

<Router AppAssembly="@typeof(App).Assembly"
        AdditionalAssemblies="new[] { typeof(OSDC.Drilling.Cluster.WebPages.ClusterMain).Assembly }">

The Cluster web app registers the Field assembly and provides wrapper pages for EarthCartographicProjection, EarthGeodesy, EarthVerticalDatum, EarthGravity, and EarthMagneticField components. This keeps all user-facing routes under /Cluster/webapp.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.4 80 9/6/2026
1.1.3 81 9/6/2026
1.1.2 80 9/6/2026
1.1.1 127 8/29/2026
1.1.0 131 8/29/2026
1.0.1 99 8/29/2026