mySobek Home   |   Help
Skip Navigation Links.
MISSING BANNER

Complete Code Documentation

Top-Level Namespaces

There are six main namespaces which are included in this documentation.

  • SobekCM.Builder_Library Namespace
    Main library holds all the classes that are used only by the builder. This includes all the standard builder module classes, some conversion classes, the statistics accumulating and records classes, and the settings. Currently, this library is shared between the command line (scheduled task builder) and the windows service builder version.
  • SobekCM.Core Namespace
    Namespace contains all of the classes that are shared by the engine, the web ui-layer, and the builder. Most of these classes are decorated to allow serialization and transfer between the engine and the ui-layer via JSON (and possibly protobuf). Many of these classes must be built using builder classes contained within the SobekCM Engine library.
  • SobekCM.Engine_Library Namespace
    Classes used to support the architecture of the engine and to build all the objects that the engine exposes via REST APIs.
  • SobekCM.Library Namespace
    This namespace (and sub-namespaces) contains the classes used to actually render the web application's output. At some point, this will be renamed the UI_Library.
  • SobekCM.Resource_Object Namespace
    This namespace (and sub-namespaces) contains the code for the digital resource objects, including readers and writers. Also included are the classes needed to save a digital resource to the SobekCM database.
  • SobekCM.Tools Namespace
    This small namespace contains some utility classes which are widely used throughout the SobekCM system's web and windows applications.

Namespaces and Sub-Namespaces

NamespaceDescription
EngineAgnosticLayerDbAccess
Database access layer allows calls to be made form the database gateway classes, using slightly different implementations depending on whether it is hitting MS SQL, MySQL, or PostgreSQL
SobekCM.Builder_Library
Main library holds all the classes that are used only by the builder. This includes all the standard builder module classes, some conversion classes, the statistics accumulating and records classes, and the settings. Currently, this library is shared between the command line (scheduled task builder) and the windows service builder version.
SobekCM.Builder_Library.Modules
Contains all of the standard builder module sub-namespaces, as well as some basic classes used by the modules. These modules are the chunks of code that perform the actual work of the builder, checking incoming folders, processing new items, reprocessing recently submitted items, and performing a number of other tasks.
SobekCM.Builder_Library.Modules.Folders
Contains all the standard builder modules that are used by the builder when checking incoming builder folders. These help determine which items will be selected for processing in the next steps of the builder and can also do some preparation work of incoming material that is non-standard formats.
SobekCM.Builder_Library.Modules.Items
Contains all the item-specific modules used by the builder for processing both newly incoming materials via the builder folders and also reprocessing materials that were recently submitted. Some modules also specifically perform functions necessary for deleting existing digital resources.
SobekCM.Builder_Library.Modules.PostProcess
Contains all the standard modules run the builder AFTER each turn of processing incoming packages and reprocessing recently packages for a single instance of SobekCM
SobekCM.Builder_Library.Modules.PreProcess
Contains all the standard modules run the builder BEFORE each turn of processing incoming packages and reprocessing recently packages for a single instance of SobekCM
SobekCM.Builder_Library.Modules.Schedulable
Contains all the standard modules that are run by the SobekCM builder on a schedule. This can include things that run once a night, or things that run once a week. These tasks help to maintain the general health to the system and perform some basic maintenance tasks.
SobekCM.Builder_Library.Settings
Settings specific to the builder, or specific to the condition of running across multiple instance of SobekCM, as the builder can be configure to do. This includes the setting information for the modules to run and the order to run them.
SobekCM.Builder_Library.Statistics
Classes specific to the collection, aggregation, and recording of usage statistics for digital resources within this instance of SobekCM.
SobekCM.Builder_Library.Tools
Tools used by the builder to perform resource manipulation, such as extraction of text from PDFs, conversion of Office files to PDF, creation of the MARC feed, etc..
SobekCM.Core
Namespace contains all of the classes that are shared by the engine, the web ui-layer, and the builder. Most of these classes are decorated to allow serialization and transfer between the engine and the ui-layer via JSON (and possibly protobuf). Many of these classes must be built using builder classes contained within the SobekCM Engine library.
SobekCM.Core.Aggregations
Classes contain all the information about aggregations, both complete aggrgeations and language-specific versions, as well classes that hold data about the child pages and other child objects to the aggrgegations.
SobekCM.Core.ApplicationState
Contains the main classes which collectively comprise the application state for the running instance of SobekCM
SobekCM.Core.BriefItem
Brief item object is used to pass information about a single digital resource to the ui-layer via the engine. While this retains most the information from the SobekCM_Item class, the data is somewhat simplified and normalized when passed out via the REST API.
SobekCM.Core.Builder
 
SobekCM.Core.Client
Client classes used for accessing the endpoints exposed via the SobekCM engine
SobekCM.Core.Configuration
Classes contain much of the configuration information used throughout the SobekCM system, such as the OAI-PMH, Shibboleth, quality control, and contact form settings, as well as classes to support mulitple web languages. Configuration information is very static and is usually read from config files located under the applications. The readers and writers for this configuration files are generally in the SobekCM Engine library.
SobekCM.Core.Configuration.Authentication
 
SobekCM.Core.Configuration.Engine
 
SobekCM.Core.Configuration.Extensions
 
SobekCM.Core.Configuration.Localization
 
SobekCM.Core.Configuration.OAIPMH
 
SobekCM.Core.EAD
 
SobekCM.Core.FileSystems
 
SobekCM.Core.Items
Class is used to store information about individual items within a single title and made available to the ui-layer via the endpoints on the SobekCM engine
SobekCM.Core.MARC
 
SobekCM.Core.MemoryMgmt
Contains the cached data manager and methods for clearing the cache (or caching server) as well as retrieving and storing objects.
SobekCM.Core.Message
Messages used to wrap responses between the engine and ui-layer.
SobekCM.Core.MicroservicesClient
General classes to support a client that relies on a configuration file to find all the microservice endpoints to be exposed
SobekCM.Core.Navigation
Classes that hold the basic navigational information for a single query and can be used to write the URL for other specific possible requests.
SobekCM.Core.OAI
Classes used to support OAI-PMH serving of digital resource metadata.
SobekCM.Core.Results
Classes hold the search result information returned from a database or solr/lucene search
SobekCM.Core.ResultTitle
 
SobekCM.Core.Search
Contains information about a single metadata field, useful for building the search strings for querying both the database and solr/lucene.
SobekCM.Core.Serialization
Interface is used to determine that some action should be completed before or after serialization, and must be checked on both sides of the REST API communication
SobekCM.Core.Settings
Classes hold all the setting information related to this instance. Setting information is more prone to change than configurations and are usually stored within the database. The builders and database calls to populate these setting objects are in the SobekCM Engine library.
SobekCM.Core.SiteMap
Classes are used to store the sitemap information for a tree of top-level static resources within an instance.
SobekCM.Core.Skins
Contains the objects used to control the web skin (a.k.a. interface) which determines the overall appearance of the digital library
SobekCM.Core.UI_Configuration
 
SobekCM.Core.UI_Configuration.Citation
 
SobekCM.Core.UI_Configuration.TemplateElements
 
SobekCM.Core.UI_Configuration.Viewers
 
SobekCM.Core.Users
Contains all the data about a single authenticated user including all the top-level permissions granted and aggregation-specific permissions.
SobekCM.Core.WebContent
Contains the classes used when to hold all the information about a single static html content page served through the instance, either at the top-level or under an aggrgeation.
SobekCM.Core.WebContent.Admin
 
SobekCM.Core.WebContent.Hierarchy
 
SobekCM.Core.WebContent.Single
 
SobekCM.Engine_Library
Classes used to support the architecture of the engine and to build all the objects that the engine exposes via REST APIs.
SobekCM.Engine_Library.Aggregations
Contains classes to build the item aggregation objects and also to read and write from the aggregation design configuration files
SobekCM.Engine_Library.ApplicationState
Classes to manage the application state of the instance of SobekCM, pulling the data from the engine database and refreshing as needed.
SobekCM.Engine_Library.Configuration
Classes used to read the configuration files and build the configuration objects. The configuration objects are generally contained within the SobekCM Core library, as they are likely shared with the builder and/or ui-layer.
SobekCM.Engine_Library.Database
Gateway classes that provide access to the database for the engine.
SobekCM.Engine_Library.Email
Classes used to assist with emailing items or errors, based on the system-wide settings (i.e., database mail vs. smtp send )
SobekCM.Engine_Library.Endpoints
Standard classes that support specific SobekCM engine endpoints and are referenced in the engine configuration file.
SobekCM.Engine_Library.IpRangeUtilities
Utility classes used to very quickly check for IP restrictions and if a certain IP address is within an IP range. This is used to perform IP restrictions on the endpoints exposed via REST from the engine.
SobekCM.Engine_Library.Items
Factory and utility classes for building the SobekCM_Item objects from the METS files and information from the database. Sub-namespaces facilitate with other activities, such as mapping to a BriefItemInfo object.
SobekCM.Engine_Library.Items.Authority
Authority objects for streets and features, used within the Ephemeral Cities project initially
SobekCM.Engine_Library.Items.BriefItems
Factory class for the BriefItem object as well as any necessary general helper classes. The factory utilizes all the mapping objects in the Mappers sub-namespace, as specified by the configuraiton file.
SobekCM.Engine_Library.Items.BriefItems.Mappers
Mappers which map a discrete set of fields from the SobekCM_Item object to the BriefItem object that is shared via the REST APIs with the ui-layer
SobekCM.Engine_Library.JSON_Client_Helpers
Classes used to support certain endpoint methods, but are not consumed by the ui-layer, so do not reside in the SobekCM Core library.
SobekCM.Engine_Library.Navigation
Classes used to read the query string and build the basic navigational classes for a single query
SobekCM.Engine_Library.Settings
Classes used to build all the settings objects (and call the configuration readers) that reside in the SobekCM Core library and are exposed to the ui-layer via REST.
SobekCM.Engine_Library.SiteMap
Classes used to read the sitemap information for static webcontent hosted by a SobekCM instance
SobekCM.Engine_Library.Skins
Contains the readers and writers used to builder the web skin objects which determines the overall appearance of the digital library
SobekCM.Engine_Library.Solr
Classes used for querying and indexing the Solr/Lucene full text indexes
SobekCM.Library
Class library contains all the classes which render the pages for SobekCM on the web, as well as all the helper classes for that activity
SobekCM.Library.AdminViewer
Collection of all the online system administrative task writers
SobekCM.Library.AggregationViewer
Contains the classes utilized by the aggregation viewer for display item aggregations within the web application
SobekCM.Library.AggregationViewer.Viewers
Contains the list of all possible item aggregation viewers
SobekCM.Library.Citation
Contains all the classes used for editing the descriptive information of a SobekCM digital resources online, including each of the classes used to give access to specific metadata elemented within the digital resource.
SobekCM.Library.Citation.Elements
Contains all of the elements used for online submittal and online editing
SobekCM.Library.Citation.Elements.implemented_elements
Implemented elements that are not very specific and simply extend a base class metadata template element, such as the textbox element
SobekCM.Library.Citation.SectionWriter
 
SobekCM.Library.Citation.Template
Contains the classes to read the template configuration XML file and render a template online for online submittal or online metadata editing
SobekCM.Library.CKEditor
Class is used to add an instance of the CKEditor HTML editor into the pages of the aggregation and web skin admin screens.
SobekCM.Library.Database
Contains the database gateway classes for connecting to the SobekCM/UFDC database
SobekCM.Library.Email
Classes to assist with sending emails, either using direct SMTP or through database mail
SobekCM.Library.HTML
Contains all of the html sub-writers for rendering each mode online as html
SobekCM.Library.ItemViewer
Contains the management and viewer classes for viewing a single digital resource online, used by the item_html_subwriter class
SobekCM.Library.ItemViewer.Viewers
Contains all the individual viewers for rendering a digital resource online (jpeg viewer, download viewer, zoomable viewer, etc...)
SobekCM.Library.Localization
Main classes used to provide localization of all standard strings within SobekCM, which depends on individual classes for each class that is localized.
SobekCM.Library.Localization.Classes
Individual classes for each class that is localized, providing the translated strings for each online html-rendering object, class by class.
SobekCM.Library.MainWriters
Contains the main writers for the different types of responses (i.e., html, oai, data, xml, etc..)
SobekCM.Library.MySobekViewer
Viewers for the various mySobek modes, used by the my_sobek_html_subwriter class
SobekCM.Library.ResultsViewer
Contains the management and viewer classes for viewing a list of digital resources online, used by the results_dataset_html_subwriter class
SobekCM.Library.UI
Contains the UI_ApplicationCache_Gateway which communicates back to the engine's application cache gateway to provide access to the main application state objects and collection used oftern and repeatadly throughout the system
SobekCM.Library.UploadiFive
Contains all the classes used for securing and providing the ability to upload documents through the web interface. This uses the external UploadiFive library.
SobekCM.Library.WebContentViewer
 
SobekCM.Library.WebContentViewer.Viewers
 
SobekCM.Resource_Object
Contains all the data objects to hold the administrative, bibliographic, file, and structural information from a METS/MODS file as well as behavior information from the database for a single digital resource
SobekCM.Resource_Object.Behaviors
Contains all the SobekCM-specific behaviorts and processing instructions for a digital resource, as well as all SobekCM-specific data for a digital resource (i.e., primary key, location on servers, etc..)
SobekCM.Resource_Object.Bib_Info
Contains all of the standards (MODS/MARC) bibliographic information for a digital resource, generally held in a structured format that mirrors the MODS schema
SobekCM.Resource_Object.Builder
Builder classes to construct a digital resource from the tracking database, imported marc records, project-level mets files, etc..
SobekCM.Resource_Object.Configuration
Configuration information determines which classes are used to read and write metadata files and also which classes are used to read and write sections within the METS file structure.
SobekCM.Resource_Object.Database
Contains the database information for saving a single item to various databases ( Tracking, SobekCM/UFDC, dLOC Toolkit )
SobekCM.Resource_Object.Database.DataSets
Contains strongly-typed datasets used during retrieval of data from the SobekCM database
SobekCM.Resource_Object.Divisions
Contains both the structural information as well as all the files
SobekCM.Resource_Object.MARC
Contains all of the MARC record-related classes and objects, both used when reading a MARC record and writing a digital resource as a MARC record
SobekCM.Resource_Object.MARC.ErrorHandling
Classes used for reporting and handling errors and warnings which occur during MARC record importing
SobekCM.Resource_Object.MARC.Parsers
Parsers used to read MARC21 format data files
SobekCM.Resource_Object.Metadata_File_ReaderWriters
Contains all the classes used to read various formats into this digital resource ( i.e., SGML reader, MXF reader, MARC XML reader, METS/MODS reader...)
SobekCM.Resource_Object.Metadata_File_ReaderWriters.MARC.Writers
 
SobekCM.Resource_Object.Metadata_File_ReaderWriters.MARC.Z3950
 
SobekCM.Resource_Object.Metadata_Modules
Standard metadata modules used to extend the basic capability of the SobekCM_Item object to support different schemas at each level of the structure map and METS
SobekCM.Resource_Object.Metadata_Modules.EAD
Contains the EAD-specific data, most particularly, the container list for an EAD
SobekCM.Resource_Object.Metadata_Modules.GeoSpatial
Geo-spatial specific metadata modules classes used to encoding geographic footpring in GML and KML within the METS file
SobekCM.Resource_Object.Metadata_Modules.LearningObjects
IEEE-LOM specific metadata moduels for encoding additional learning object metatada within the METS file
SobekCM.Resource_Object.Metadata_Modules.Maps
Contains the information tagged to an ephemeral cities map from the authority tables [DEPRECATED?]
SobekCM.Resource_Object.Metadata_Modules.VRACore
Classes used to store VRA Core specific visual material information about a digital resource.
SobekCM.Resource_Object.METS_Sec_ReaderWriters
Subreaders used to read a section of metadata encoded in a variety of formats
SobekCM.Resource_Object.OAI
Namespace contains all of the readers and writers for working with OAI-PMH. The writers allow complete customization of the OAI-PMH formats supported (along with the configuration file) and the readers can be used to read standard OAI-PMH and create METS-based digital resources for loading into SobekCM (or other) repositories.
SobekCM.Resource_Object.OAI.Reader
Contains classes used for harvesting OAI-PMH feeds and converting OAI dublin core into SobekCM METS files.
SobekCM.Resource_Object.OAI.Writer
Contains classes used for harvesting OAI-PMH feeds and converting OAI dublin core into SobekCM METS files.
SobekCM.Resource_Object.Solr
Classes used to expose the metadata and full-text to Solr/Lucene for indexing
SobekCM.Resource_Object.Testing
Class used to build a fairly complete test package for testing reading and writing new metadata elements
SobekCM.Resource_Object.Tracking
Contains the classes used to hold tracking database specific data for a digital resource (i.e., tracking primary key, archive and history information)
SobekCM.Resource_Object.Utilities
Utility classes used to perform duties, such as creating image derivates, validating the METS, etc..
SobekCM.Tools
Namespace contains general tools employed by many of the SobekCM tools and libraries. While these perform specific functions which aid the SobekCM digtial repository, these are not generally considered digital repository specific.
SobekCM.Tools.FDA
Tools used to read and write reports from the Florida Digital Archive (DAITSS) digital archive employed by the State University System of Florida, and several other external groups.
SobekCM.Tools.IpRangeUtilities
 
SobekCM.Tools.Logs
Log file objects used to maintain a history of actions performed in windows applications ( vs. web applications ) and used for some basic error reporting
SobekCM.Tools.Settings
Class used to work with settings contained in isolated storage on a Windows machine.


Version 4.10.0 ( last generated Monday, March 7, 2016 )