diff --git a/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-framework-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-framework-intro.adoc index f29928507b9d..2b63b9fd4bb9 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-framework-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-framework-intro.adoc @@ -5,7 +5,7 @@ :order: 05 :summary: Introduction to the Action Framework. -The Action Framework was designed as a way to limit dependencies between applications (apps) in a system. +The ((Action Framework)) was designed as a way to limit dependencies between applications (apps) in a system. For instance, a feature in an app, such as an Atom feed generator, might want to include an external link as part of its feed's entries. That feature does not have to be coupled to a REST endpoint to work, nor does it have to depend on a specific implementation to get a link. In reality, the feature does not identify how the link is generated, but it does identify whether the link works or does not work when retrieving the intended entry's metadata. @@ -17,6 +17,6 @@ The Action Framework consists of two major Java interfaces in its API: . `ddf.action.Action` . `ddf.action.ActionProvider` -Actions:: Specific tasks that can be performed as services. +((Actions)):: Specific tasks that can be performed as services. -Action Providers:: Lists of related actions that a service is capable of performing. +((Action Providers)):: Lists of related actions that a service is capable of performing. diff --git a/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-providers.adoc b/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-providers.adoc index b49b0b521635..ea0c96a0dc98 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-providers.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_actionFramework/action-providers.adoc @@ -7,10 +7,10 @@ :summary: Action Providers. .[[_included_action_providers]]Included Action Providers -Download Resource ActionProvider:: Downloads a resource to the local product cache. -IdP Logout Action Provider:: Identity Provider Logout. -Karaf Logout Action:: Local Logout. -LDAP Logout Action:: Ldap Logout. -Overlay ActionProvider:: Provides a metacard URL that transforms the metacard into a geographically aligned image (suitable for overlaying on a map). -View Metacard ActionProvider:: Provides a URL to a metacard. -Metacard Transformer ActionProvider:: Provides a URL to a metacard that has been transformed into a specified format. +((Download Resource ActionProvider)):: Downloads a resource to the local product cache. +((IdP Logout Action Provider)):: Identity Provider Logout. +((Karaf Logout Action)):: Local Logout. +((LDAP Logout Action)):: Ldap Logout. +((Overlay ActionProvider)):: Provides a metacard URL that transforms the metacard into a geographically aligned image (suitable for overlaying on a map). +((View Metacard ActionProvider)):: Provides a URL to a metacard. +((Metacard Transformer ActionProvider)):: Provides a URL to a metacard that has been transformed into a specified format. diff --git a/distribution/docs/src/main/resources/content/_architectures/_asyncFramework/processing-framework-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_asyncFramework/processing-framework-intro.adoc index f6e0e0120450..207b0997df23 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_asyncFramework/processing-framework-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_asyncFramework/processing-framework-intro.adoc @@ -10,7 +10,7 @@ This code is experimental. While this interface is functional and tested, it may change or be removed in a future version of the library. ==== -The *Asynchronous Processing Framework* is a way to run plugins asynchronously. Generally, plugins that take a significant amount of processing time and whose +The ((Asynchronous Processing Framework)) is a way to run plugins asynchronously. Generally, plugins that take a significant amount of processing time and whose results are not immediately required are good candidates for being asynchronously processed. A *Processing Framework* can either be run on the local or remote system. Once the *Processing Framework* finishes processing incoming requests, it may submit ``(Create|Update|Delete)Request``s to the Catalog. The type of plugins that a *Processing Framework* runs are the *Post-Process Plugins*. The *Post-Process Plugins* are triggered by the *Processing Post Ingest Plugin*, which is a *Post-Ingest Plugin*. *Post-Ingest Plugins* are run after the metacard diff --git a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-api.adoc b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-api.adoc index 570538e398cb..e72e6094ec12 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-api.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-api.adoc @@ -6,7 +6,7 @@ ==== Catalog API -The Catalog API is an OSGi bundle (`catalog-core-api`) that contains the Java interfaces for the Catalog components and implementation classes for the Catalog Framework, Operations, and Data components. +The ((Catalog API)) is an OSGi bundle (`catalog-core-api`) that contains the Java interfaces for the Catalog components and implementation classes for the Catalog Framework, Operations, and Data components. ===== Catalog API Search Interfaces @@ -14,7 +14,7 @@ The Catalog API includes two different search interfaces. ${ddf-ui} Application Search Interface:: The ${branding} Search UI application provides a graphic interface to return results and locate them on an interactive globe or map. -SSH Search Interface:: Additionally, it is possible to use a client script to remotely access ${branding} via SSH and send console commands to search and ingest data. +((SSH Search Interface)):: Additionally, it is possible to use a client script to remotely access ${branding} via SSH and send console commands to search and ingest data. ===== Catalog Search Result Objects diff --git a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-camel-component.adoc b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-camel-component.adoc index d7a695bfc359..2154660b3ee3 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-camel-component.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-camel-component.adoc @@ -1,11 +1,11 @@ :title: Catalog Framework Camel Component :type: catalogFramework :status: published -:summary: Supports creating, updating, and deleting metacards using the Catalog Framework from a Camel route. +:summary: Supports creating, updating, and deleting metacards using the Catalog Framework from a Camel route. :link: _catalog_framework_camel_component :order: 01 -The Catalog Framework Camel Component supports creating, updating, and deleting metacards using the Catalog Framework from a Camel route. +The ((Catalog Framework Camel Component)) supports creating, updating, and deleting metacards using the Catalog Framework from a Camel route. .URI Format ---- @@ -25,12 +25,12 @@ catalog:framework ===== Sending Messages to Catalog Framework Endpoint .Catalog Framework Producer -In Producer mode, the component provides the ability to supply different inputs and have the Catalog Framework perform different operations based upon the header values.   +In Producer mode, the component provides the ability to supply different inputs and have the Catalog Framework perform different operations based upon the header values. -For the CREATE and UPDATE operation, the message body can contain a list of metacards or a single metacard object.  +For the CREATE and UPDATE operation, the message body can contain a list of metacards or a single metacard object. For the DELETE operation, the message body can contain a list of strings or a single string object. -The string objects represent the IDs of metacards to be deleted.  +The string objects represent the IDs of metacards to be deleted. The exchange's "in" message will be set with the affected metacards. In the case of a CREATE, it will be updated with the created metacards. In the case of the UPDATE, it will be updated with the updated metacards and with the DELETE it will contain the deleted metacards. diff --git a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-intro.adoc index c5afcba5d878..6445516c3455 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/catalog-framework-intro.adoc @@ -30,6 +30,7 @@ +------------------------------------------------------------+ .... +(((Catalog Framework))) The `CatalogFramework` is the routing mechanism between catalog components that provides integration points for the Catalog Plugins. An <<{integrating-prefix}endpoints, endpoint>> invokes the active Catalog Framework, which calls any configured <<{architecture-prefix}pre_query_plugins, Pre-query>> or <<{architecture-prefix}pre_ingest_plugins, Pre-ingest plug-ins>>. The selected <<{managing-prefix}federation_strategy, federation strategy>> calls the active <<{managing-prefix}catalog_providers, Catalog Provider>> and any connected or federated sources. @@ -48,7 +49,7 @@ The Catalog Framework decouples clients from service implementations and provi === Catalog API Design The Catalog is composed of several components and an API that connects them together. -The Catalog API is central to ${branding}'s architectural qualities of extensibility and flexibility.  +The ((Catalog API)) is central to ${branding}'s architectural qualities of extensibility and flexibility.  The Catalog API consists of Java interfaces that define Catalog functionality and specify interactions between components.  These interfaces provide the ability for components to interact without a dependency on a particular underlying implementation, thus allowing the possibility of alternate implementations that can maintain interoperability and share developed components. As such, new capabilities can be developed independently, in a modular fashion, using the Catalog API interfaces and reused by other ${branding} installations. diff --git a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/standard-catalog-framework.adoc b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/standard-catalog-framework.adoc index bf4e485c8bd1..93308d5ea22f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/standard-catalog-framework.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_catalogFrameworks/standard-catalog-framework.adoc @@ -1,16 +1,16 @@ :title: Standard Catalog Framework :type: catalogFramework :status: published -:summary: Reference implementation of a Catalog Framework that implements all requirements of the ${ddf-catalog} API. +:summary: Reference implementation of a Catalog Framework that implements all requirements of the ${ddf-catalog} API. :link: _standard_catalog_framework :order: 00 -The Standard Catalog Framework provides the reference implementation of a Catalog Framework that implements all requirements of the ${ddf-catalog} API.  -`CatalogFrameworkImpl` is the implementation of the ${branding} Standard Catalog Framework. +The ((Standard Catalog Framework)) provides the reference implementation of a Catalog Framework that implements all requirements of the ${ddf-catalog} API. +`CatalogFrameworkImpl` is the implementation of the ${branding} Standard Catalog Framework. -The Standard Catalog Framework is the core class of ${branding}. -It provides the methods for create, update, delete, and resource retrieval (CRUD) operations on the `Sources`. -By contrast, the Fanout Catalog Framework only allows for query and resource retrieval operations, no catalog modifications, and all queries are enterprise-wide. +The Standard Catalog Framework is the core class of ${branding}. +It provides the methods for create, update, delete, and resource retrieval (CRUD) operations on the `Sources`. +By contrast, the Fanout Catalog Framework only allows for query and resource retrieval operations, no catalog modifications, and all queries are enterprise-wide. Use this framework if: @@ -18,18 +18,18 @@ Use this framework if: * queries to specific sites are required. * queries to only the local provider are required. -It is possible to have only remote Sources configured with no local `CatalogProvider` configured and be able to execute queries to specific remote sources by specifying the site name(s) in the query request. +It is possible to have only remote Sources configured with no local `CatalogProvider` configured and be able to execute queries to specific remote sources by specifying the site name(s) in the query request. -The Standard Catalog Framework also maintains a list of `ResourceReaders` for resource retrieval operations. -A resource reader is matched to the scheme (i.e., protocol, such as `file://`) in the URI of the resource specified in the request to be retrieved. +The Standard Catalog Framework also maintains a list of `ResourceReaders` for resource retrieval operations. +A resource reader is matched to the scheme (i.e., protocol, such as `file://`) in the URI of the resource specified in the request to be retrieved. -Site information about the catalog provider and/or any federated source(s) can be retrieved using the Standard Catalog Framework. +Site information about the catalog provider and/or any federated source(s) can be retrieved using the Standard Catalog Framework. Site information includes the source's name, version, availability, and the list of unique content types currently stored in the source (e.g., NITF). If no local catalog provider is configured, the site information returned includes site info for the catalog framework with no content types included. ===== Installing the Standard Catalog Framework -The Standard Catalog Framework is bundled as the `catalog-core-standardframework` feature and can be installed and uninstalled using the normal processes described in Configuration. +The Standard Catalog Framework is bundled as the `catalog-core-standardframework` feature and can be installed and uninstalled using the normal processes described in Configuration. ===== Configuring the Standard Catalog Framework @@ -141,11 +141,11 @@ See <<{reference-prefix}ddf.catalog.CatalogFrameworkImpl, Catalog Standard Frame |true |ddf.cache.CacheManager -|  +| |false |org.osgi.service.event.EventAdmin -|  +| |false |=== diff --git a/distribution/docs/src/main/resources/content/_architectures/_data/data-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_data/data-intro.adoc index 4be8953088e4..d852ecd88974 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_data/data-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_data/data-intro.adoc @@ -30,17 +30,19 @@ +------------------------------------------------------------+ .... -The Catalog stores and translates Metadata, which can be transformed into many data formats, shared, and queried. -The primary form of this metadata is the metacard.  -A `Metacard` is a container for metadata.  -`CatalogProviders` accept `Metacards` as input for ingest, and `Sources` search for metadata and return matching `Results` that include `Metacards`. +The Catalog stores and translates ((Metadata)), which can be transformed into many data formats, shared, and queried. +The primary form of this metadata is the metacard. +A `Metacard` is a container for metadata. +`CatalogProviders` accept `Metacards` as input for ingest, and `Sources` search for metadata and return matching `Results` that include `Metacards`. -=== Metacards +== Metacards +(((Metacard))) A metacard is a single instance of metadata in the Catalog (an instance of a metacard type) which -generally contains general information about the resource, such as the title of the resource, the resource's geo-location, the date the resource was created and/or modified, the owner or producer, and/or the security classification.  +generally contains general information about the resource, such as the title of the resource, the resource's geo-location, the date the resource was created and/or modified, the owner or producer, and/or the security classification. -==== Metacard Type +=== Metacard Type +(((Metacard Type))) A metacard type indicates the attributes available for a particular metacard. It is a model used to define the attributes of a metacard, much like a schema. @@ -48,11 +50,11 @@ It is a model used to define the attributes of a metacard, much like a schema. A metacard type indicates the attributes available for a particular type of data. For example, an image may have different attributes than a PDF document, so each could be defined to have their own metacard type. -===== Default Metacard Type and Attributes +==== Default Metacard Type and Attributes Most metacards within the system are created using the default metacard type or a metacard type based on the default type. The default metacard type of the system can be programmatically retrieved by calling `ddf.catalog.data.impl.MetacardImpl.BASIC_METACARD`. -The name of the default `MetacardType` can be retrieved from `ddf.catalog.data.MetacardType.DEFAULT_METACARD_TYPE_NAME`. +The name of the default `MetacardType` can be retrieved from `ddf.catalog.data.MetacardType.DEFAULT_METACARD_TYPE_NAME`. The default metacard type has the following required attributes. Though the following attributes are required on all metacard types, setting their values is optional except for ID. @@ -72,11 +74,11 @@ Every <<{introduction-prefix}introduction_to_federation_and_sources,Source>> sho Other fields may or may not be applicable, but a unique ID must be returned by a source. ==== -===== Extensible Metacards +==== Extensible Metacards Metacard extensibility is achieved by creating a new `MetacardType` that supports attributes in addition to the required attributes listed above. -Required attributes must be the base of all extensible metacard types.  +Required attributes must be the base of all extensible metacard types. [WARNING] ==== @@ -87,38 +89,38 @@ Catalog providers are neither expected nor required to store attributes that are Consult the documentation of the Catalog Provider in use for more information on its support of extensible metacards. ==== -Often, the `BASIC_METACARD` `MetacardType` does not provide all the functionality or attributes necessary for a specific task. +Often, the `BASIC_METACARD` `MetacardType` does not provide all the functionality or attributes necessary for a specific task. For performance or convenience purposes, it may be necessary to create custom attributes even if others will not be aware of those attributes. -One example could be if a user wanted to optimize a search for a date field that did not fit the definition of `CREATED`, `MODIFIED`, `EXPIRATION`, or `EFFECTIVE`. -The user could create an additional `java.util.Date` attribute in order to query the attribute separately.  +One example could be if a user wanted to optimize a search for a date field that did not fit the definition of `CREATED`, `MODIFIED`, `EXPIRATION`, or `EFFECTIVE`. +The user could create an additional `java.util.Date` attribute in order to query the attribute separately. -`Metacard` objects are extensible because they allow clients to store and retrieve standard and custom key/value Attributes from the `Metacard`.  -All `Metacards` must return a `MetacardType` object that includes an `AttributeDescriptor` for each `Attribute`, indicating it's key and value type. -`AttributeType` support is limited to those types defined by the Catalog. +`Metacard` objects are extensible because they allow clients to store and retrieve standard and custom key/value Attributes from the `Metacard`. +All `Metacards` must return a `MetacardType` object that includes an `AttributeDescriptor` for each `Attribute`, indicating it's key and value type. +`AttributeType` support is limited to those types defined by the Catalog. -New `MetacardType` implementations can be made by implementing the `MetacardType` interface. +New `MetacardType` implementations can be made by implementing the `MetacardType` interface. -==== Metacard Type Registry +=== Metacard Type Registry [WARNING] ==== -The `MetacardTypeRegistry` is experimental.  +The `MetacardTypeRegistry` is experimental. While this component has been tested and is functional, it may change as more information is gathered about what is needed and as it is used in more scenarios. ==== -The `MetacardTypeRegistry` allows ${branding} components, primarily catalog providers and sources, to make available the `MetacardTypes` that they support.  -It maintains a list of all supported `MetacardTypes` in the `CatalogFramework`, so that other components such as <<{integrating-prefix}endpoints,Endpoints>>, <<{architecture-prefix}types_of_plugins,Plugins>>, and <<{architecture-prefix}transformers,Transformers>> can make use of those `MetacardTypes`.  -The `MetacardType` is essential for a component in the `CatalogFramework` to understand how it should interpret a metacard by knowing what attributes are available in that metacard.  +The `MetacardTypeRegistry` allows ${branding} components, primarily catalog providers and sources, to make available the `MetacardTypes` that they support. +It maintains a list of all supported `MetacardTypes` in the `CatalogFramework`, so that other components such as <<{integrating-prefix}endpoints,Endpoints>>, <<{architecture-prefix}types_of_plugins,Plugins>>, and <<{architecture-prefix}transformers,Transformers>> can make use of those `MetacardTypes`. +The `MetacardType` is essential for a component in the `CatalogFramework` to understand how it should interpret a metacard by knowing what attributes are available in that metacard. -For example, an endpoint receiving incoming metadata can perform a lookup in the `MetacardTypeRegistry` to find a corresponding `MetacardType`.  -The discovered `MetacardType` will then be used to help the endpoint populate a metacard based on the specified attributes in the `MetacardType`.  +For example, an endpoint receiving incoming metadata can perform a lookup in the `MetacardTypeRegistry` to find a corresponding `MetacardType`. +The discovered `MetacardType` will then be used to help the endpoint populate a metacard based on the specified attributes in the `MetacardType`. By doing this, all the incoming metadata elements can then be available for processing, cataloging, and searching by the rest of the `CatalogFramework`. -`MetacardTypes` should be registered with the `MetacardTypeRegistry`.  The `MetacardTypeRegistry` makes those `MetacardTypes` available to other ${branding} `CatalogFramework` components.  -Other components that need to know how to interpret metadata or metacards should look up the appropriate `MetacardType` from the registry.  -By having these `MetacardTypes` available to the `CatalogFramework`, these components can be aware of the custom attributes.  +`MetacardTypes` should be registered with the `MetacardTypeRegistry`. The `MetacardTypeRegistry` makes those `MetacardTypes` available to other ${branding} `CatalogFramework` components. +Other components that need to know how to interpret metadata or metacards should look up the appropriate `MetacardType` from the registry. +By having these `MetacardTypes` available to the `CatalogFramework`, these components can be aware of the custom attributes. -The `MetacardTypeRegistry` is accessible as an OSGi service.  +The `MetacardTypeRegistry` is accessible as an OSGi service. The following blueprint snippet shows how to inject that service into another component: .MetacardTypeRegistry Service Injection @@ -132,23 +134,23 @@ The following blueprint snippet shows how to inject that service into another co ---- -The reference to this service can then be used to register new `MetacardTypes` or to lookup existing ones.  +The reference to this service can then be used to register new `MetacardTypes` or to lookup existing ones. -Typically, new `MetacardTypes` will be registered by `CatalogProviders` or sources indicating they know how to persist, index, and query attributes from that type.  -Typically, Endpoints or `InputTransformers` will use the lookup functionality to access a `MetacardType` based on a parameter in the incoming metadata.  +Typically, new `MetacardTypes` will be registered by `CatalogProviders` or sources indicating they know how to persist, index, and query attributes from that type. +Typically, Endpoints or `InputTransformers` will use the lookup functionality to access a `MetacardType` based on a parameter in the incoming metadata. Once the appropriate `MetacardType` is discovered and obtained from the registry, the component will know how to translate incoming raw metadata into a ${branding} Metacard. -==== Attributes +=== Attributes An attribute is a single field of a metacard, an instance of an attribute type. Attributes are typically indexed for searching by a source or catalog provider. -===== Attribute Types +==== Attribute Types -An attribute type indicates the attribute format of the value stored as an attribute.  +An attribute type indicates the attribute format of the value stored as an attribute. It is a model for an attribute. -====== Attribute Format +===== Attribute Format An enumeration of attribute formats are available in the catalog. Only these attribute formats may be used. @@ -197,13 +199,13 @@ Only these attribute formats may be used. |=== -====== Attribute Naming Conventions +===== Attribute Naming Conventions Catalog taxonomy elements follow the naming convention of `group-or-namespace.specific-term`, except for extension fields outside of the core taxonomy. These follow the naming convention of `ext.group-or-namespace.specific-term` and must be namespaced. Nesting is not permitted. -===== Result +==== Result A single "hit" included in a query response. @@ -213,30 +215,30 @@ A result object consists of the following: * a relevance score if included. * distance in meters if included. -==== Creating Metacards +=== Creating Metacards -The quickest way to create a `Metacard` is to extend or construct the `MetacardImpl` object.  -`MetacardImpl` is the most commonly used and extended `Metacard` implementation in the system because it provides a convenient way for developers to retrieve and set `Attributes` without having to create a new `MetacardType` (see below). -`MetacardImpl` uses `BASIC_METACARD` as its `MetacardType`.   +The quickest way to create a `Metacard` is to extend or construct the `MetacardImpl` object. +`MetacardImpl` is the most commonly used and extended `Metacard` implementation in the system because it provides a convenient way for developers to retrieve and set `Attributes` without having to create a new `MetacardType` (see below). +`MetacardImpl` uses `BASIC_METACARD` as its `MetacardType`. -===== Limitations +==== Limitations -A given developer does not have all the information necessary to programmatically interact with any arbitrary source.  -Developers hoping to query custom fields from extensible `Metacards` of other sources cannot easily accomplish that task with the current API. -A developer cannot question a source for all its _queryable_ fields. -A developer only knows about the `MetacardTypes` which that individual developer has used or created previously.  +A given developer does not have all the information necessary to programmatically interact with any arbitrary source. +Developers hoping to query custom fields from extensible `Metacards` of other sources cannot easily accomplish that task with the current API. +A developer cannot question a source for all its _queryable_ fields. +A developer only knows about the `MetacardTypes` which that individual developer has used or created previously. -The only exception to this limitation is the `Metacard.ID` field, which is required in every `Metacard` that is stored in a source. -A developer can always request `Metacards` from a source for which that developer has the `Metacard.ID` value.  -The developer could also perform a wildcard search on the `Metacard.ID` field if the source allows. +The only exception to this limitation is the `Metacard.ID` field, which is required in every `Metacard` that is stored in a source. +A developer can always request `Metacards` from a source for which that developer has the `Metacard.ID` value. +The developer could also perform a wildcard search on the `Metacard.ID` field if the source allows. -===== Processing Metacards +==== Processing Metacards -As `Metacard` objects are created, updated, and read throughout the Catalog, care should be taken by all catalog components to interrogate the `MetacardType` to ensure that additional `Attributes` are processed accordingly. +As `Metacard` objects are created, updated, and read throughout the Catalog, care should be taken by all catalog components to interrogate the `MetacardType` to ensure that additional `Attributes` are processed accordingly. -===== Basic Types +==== Basic Types -The Catalog includes definitions of several basic types all found in the `ddf.catalog.data.BasicTypes` class. +The Catalog includes definitions of several basic types all found in the `ddf.catalog.data.BasicTypes` class. .Basic Types [cols="3*", options="header"] @@ -252,50 +254,50 @@ The Catalog includes definitions of several basic types all found in the `ddf.c |`BINARY_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.BINARY`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.BINARY`. |`BOOLEAN_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.BOOLEAN`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.BOOLEAN`. |`DATE_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.DATE`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.DATE`. |`DOUBLE_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.DOUBLE`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.DOUBLE`. |`FLOAT_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.FLOAT`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.FLOAT`. |`GEO_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.GEOMETRY`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.GEOMETRY`. |`INTEGER_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.INTEGER`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.INTEGER`. |`LONG_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.LONG`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.LONG`. |`OBJECT_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.OBJECT`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.OBJECT`. |`SHORT_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.SHORT`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.SHORT`. |`STRING_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.STRING`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.STRING`. |`XML_TYPE` |AttributeType -|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.XML`. +|A Constant for an `AttributeType` with `AttributeType.AttributeFormat.XML`. |=== diff --git a/distribution/docs/src/main/resources/content/_architectures/_eventing/eventing-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_eventing/eventing-intro.adoc index c382bcfb2d06..f5615626e5fe 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_eventing/eventing-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_eventing/eventing-intro.adoc @@ -31,7 +31,7 @@ +------------------------------------------------------------+ .... -The Eventing capability of the Catalog allows endpoints (and thus external users) to create a "standing query" and be notified when a matching metacard is created, updated, or deleted. +The ((Eventing)) capability of the Catalog allows endpoints (and thus external users) to create a "standing query" and be notified when a matching metacard is created, updated, or deleted. Notably, the Catalog allows event evaluation on both the previous value (if available) and new value of a Metacard when an update occurs. @@ -40,7 +40,7 @@ Once subscribed, users will receive notifications of events such as update or cr === Eventing Components -The key components of ${branding} Eventing include: +The key components of ${branding} Eventing include: * <<{developing-prefix}developing_subscriptions,Subscription>> * <<{developing-prefix}delivery_method,Delivery Method>> diff --git a/distribution/docs/src/main/resources/content/_architectures/_operations/operations-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_operations/operations-intro.adoc index a6b486a00ec3..4acca9a6961a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_operations/operations-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_operations/operations-intro.adoc @@ -30,10 +30,10 @@ +------------------------------------------------------------+ .... -The Catalog provides the capability to query, create, update, and delete metacards; retrieve resources; and retrieve information about the sources in the enterprise. +The Catalog provides the capability to query, create, update, and delete metacards; retrieve resources; and retrieve information about the sources in the enterprise. Each of these operations follow a request/response paradigm. -The request is the input to the operation and contains all of the input parameters needed by the Catalog Framework's operation to communicate with the Sources. +The request is the input to the operation and contains all of the input parameters needed by the Catalog Framework's operation to communicate with the Sources. The response is the output from the execution of the operation that is returned to the client, which contains all of the data returned by the sources. For each operation there is an associated request/response pair, e.g., the `QueryRequest` and `QueryResponse` pair for the Catalog Framework's query operation. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/access-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/access-intro.adoc index 9c4256c75760..1ec86866651a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/access-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/access-intro.adoc @@ -6,5 +6,5 @@ :plugintypes: access :order: 03 -Access plugins are invoked directly after the <<_policy_plugins,Policy plugins>> have been successfully executed.  +((Access plugins)) are invoked directly after the <<_policy_plugins,Policy plugins>> have been successfully executed. This is an opportunity to either stop processing or modify the request/response based on policy information. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-backup-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-backup-plugin.adoc index 46b1c88cb3da..8cd8dd6e66ad 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-backup-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-backup-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: postingest :summary: Enables backup of the catalog and its metacards. -The Catalog Backup Plugin is used to enable data backup of the catalog and the metacards it contains. +The ((Catalog Backup Plugin)) is used to enable data backup of the catalog and the metacards it contains. .Catalog Backup Plugin Considerations [WARNING] diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-policy-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-policy-plugin.adoc index 6d5d901a4799..9ec73130595d 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-policy-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/catalog-policy-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Configures user attributes required for catalog operations. -The Catalog Policy Plugin configures the attributes required for users to perform Create, Read, Update, and Delete operations on the catalog. +The ((Catalog Policy Plugin)) configures the attributes required for users to perform Create, Read, Update, and Delete operations on the catalog. ===== Installing the Catalog Policy Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/checksum-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/checksum-plugin.adoc index eebce2ed3bac..3d38e2430c70 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/checksum-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/checksum-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: precreatestorage,preupdatestorage :summary: Creates a unique checksum for ingested resources. -The Checksum plugin creates a unique checksum for resources input into the system to identify updated content. +The ((Checksum plugin)) creates a unique checksum for resources input into the system to identify updated content. ===== Installing the Checksum Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/client-info-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/client-info-plugin.adoc index 42cd6b08c3a5..abe164fc3e40 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/client-info-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/client-info-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: preauthorization :summary: Injects request-specific network information into a request. -The client info plugin injects request-specific network information into request properties, such as Remote IP Address, Remote Host Name, Servlet Scheme, and Servlet Context. +The ((Client Info plugin)) injects request-specific network information into request properties, such as Remote IP Address, Remote Host Name, Servlet Scheme, and Servlet Context. ===== Related Components to the Client Info Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/content-uri-access-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/content-uri-access-plugin.adoc index 8be332d7d77e..fbe293dfeeeb 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/content-uri-access-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/content-uri-access-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: access :summary: Prevents a Metacard's resource URI from being overridden by an incoming UpdateRequest. -The Content URI Access Plugin prevents a Metacard's resource URI from being overridden by an incoming UpdateRequest. +The (((Content URI Access plugin))) prevents a Metacard's resource URI from being overridden by an incoming UpdateRequest. ===== Installing the Content URI Access Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/event-processor.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/event-processor.adoc index 78a5559f6d2c..d3d69690ed9e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/event-processor.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/event-processor.adoc @@ -5,11 +5,11 @@ :plugintypes: postingest :summary: Creates, updates, and deletes subscriptions. -The Event Processor creates, updates, and deletes subscriptions for event notification. -These subscriptions optionally specify a filter criteria so that only events of interest to the subscriber are posted for notification. +The ((Event Processor)) creates, updates, and deletes subscriptions for event notification. +These subscriptions optionally specify a filter criteria so that only events of interest to the subscriber are posted for notification. As metacards are created, updated, and deleted, the Catalog's Event Processor is invoked (as a post-ingest plugin) for each of these events. -The Event Processor applies the filter criteria for each registered subscription to each of these ingest events to determine if they match the criteria. +The Event Processor applies the filter criteria for each registered subscription to each of these ingest events to determine if they match the criteria. For more information on creating subscriptions, see <<{integrating-prefix}creating_a_subscription,Creating a Subscription>>. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/expiration-date-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/expiration-date-plugin.adoc index 2b7d23bda25e..49ba1dc514da 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/expiration-date-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/expiration-date-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: preingest :summary: Adds or updates expiration dates for the resource. -The Expiration Date plugin adds or updates expiration dates which can be used later for archiving old data. +The ((Expiration Date plugin)) adds or updates expiration dates which can be used later for archiving old data. ===== Installing the Expiration Date Pre-Ingest Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/filter-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/filter-plugin.adoc index 370b5b19f9da..545af871b2e1 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/filter-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/filter-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: access :summary: Performs filtering on query responses as they pass through the framework. -The Filter Plugin performs filtering on query responses as they pass through the framework. +The ((Filter Plugin)) performs filtering on query responses as they pass through the framework. Each metacard result can contain security attributes that are pulled from the metadata record after being processed by a `PolicyPlugin` that populates this attribute. The security attribute is a Map containing a set of keys that map to lists of values. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/geocoder-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/geocoder-plugin.adoc index 0f3266b2a2d5..e59b5a8cde8c 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/geocoder-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/geocoder-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: preingest :summary: Populates the `Location.COUNTRY_CODE` attribute if the Metacard has an associated location. -The GeoCoder Plugin is a pre-ingest plugin that is responsible for populating the Metacard's `Location.COUNTRY_CODE` attribute if the Metacard has an associated location. +The ((GeoCoder plugin)) is a pre-ingest plugin that is responsible for populating the Metacard's `Location.COUNTRY_CODE` attribute if the Metacard has an associated location. If there is a valid country code for the Metacard, it will be in ISO 3166-1 alpha-3 format. If the metacard's country code is already populated, the plugin will *not* override it. The GeoCoder relies on either the WebService or <<{reference-prefix}offline_gazetteer_service,Offline Gazetteer>> to retrieve country code information. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/historian-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/historian-plugin.adoc index 8ffd284e03cd..00ec8b84d283 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/historian-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/historian-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Protects metacard history from being edited by users without the history role. -The Historian Policy Plugin protects metacard history from being edited or deleted by users without the history role (a `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role` of `system-history`). +The ((Historian Policy Plugin)) protects metacard history from being edited or deleted by users without the history role (a `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role` of `system-history`). ===== Installing the Historian Policy Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/jpeg2000-thumbnail-converter.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/jpeg2000-thumbnail-converter.adoc index a181d48abfb6..679a493d060e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/jpeg2000-thumbnail-converter.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/jpeg2000-thumbnail-converter.adoc @@ -5,7 +5,7 @@ :plugintypes: postquery :summary: Creates thumbnails for jpeg2000 images. -The JPEG2000 Thumbnail converter creates thumbnails from images ingested in jpeg2000 format. +The ((JPEG2000 Thumbnail converter)) creates thumbnails from images ingested in jpeg2000 format. ===== Installing the JPEG2000 Thumbnail Converter diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-attribute-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-attribute-plugin.adoc index 72b72d54e684..95fa45c1a66f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-attribute-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-attribute-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Collects attributes into a security field for the metacard. -The Metacard Attribute Security Policy Plugin combines existing metacard attributes to make new attributes and adds them to the metacard. +The ((Metacard Attribute Security Policy Plugin)) combines existing metacard attributes to make new attributes and adds them to the metacard. For example, if a metacard has two attributes, `sourceattribute1` and `sourceattribute2`, the values of the two attributes could be combined into a new attribute, `destinationattribute1`. The `sourceattribute1` and `sourceattribute2` are the _source attributes_ diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-filestorage.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-filestorage.adoc index b52850de23c3..d2a8582b9b3d 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-filestorage.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-filestorage.adoc @@ -5,7 +5,7 @@ :plugintypes: postingest :summary: Stores backed-up metacards. -The Metacard Backup File Storage Provider is a storage provider that will store backed-up metacards in a specified file system location. +The ((Metacard Backup File Storage Provider)) is a storage provider that will store backed-up metacards in a specified file system location. ===== Installing the Metacard Backup File Storage Provider diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-s3-storage.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-s3-storage.adoc index b7c78dbc3c32..0acda698444f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-s3-storage.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-backup-s3-storage.adoc @@ -5,7 +5,7 @@ :plugintypes: postingest :summary: Stores backed-up metacards in a specified S3 bucket and key. -The Metacard Backup S3 Storage Provider is a storage provider that will store backed up metacards in the specified S3 bucket and key. +The ((Metacard Backup S3 Storage Provider)) is a storage provider that will store backed up metacards in the specified ((S3)) bucket and key. ===== Installing the Metacard S3 File Storage Provider diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-groomer.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-groomer.adoc index cda425a8949d..c2545c11cd5e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-groomer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-groomer.adoc @@ -5,7 +5,7 @@ :plugintypes: preingest :summary: Modifies metacards when created or updated. -The Metacard Groomer Pre-Ingest plugin makes modifications to `CreateRequest` and `UpdateRequest` metacards. +The ((Metacard Groomer Pre-Ingest plugin)) makes modifications to `CreateRequest` and `UpdateRequest` metacards. Use this pre-ingest plugin as a convenience to apply basic rules for your metacards.  diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-resource-size-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-resource-size-plugin.adoc index 495dddeb2217..95ce32bba654 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-resource-size-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-resource-size-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: postquery :summary: Updates the resource size attribute of a metacard. -This post-query plugin updates the resource size attribute of each metacard in the query results if there is a cached file for the resource and it has a size greater than zero; otherwise, the resource size is unmodified and the original result is returned. +The ((Metacard Resource Size post-query plugin)) updates the resource size attribute of each metacard in the query results if there is a cached file for the resource and it has a size greater than zero; otherwise, the resource size is unmodified and the original result is returned. Use this post-query plugin as a convenience to return query results with accurate resource sizes for cached products.  diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-filter.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-filter.adoc index 439f41493f9a..6d1d2365f4a0 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-filter.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-filter.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Determines whether to filter metacards with validation errors or warnings. -The Metacard Validity Filter Plugin determines whether metacards with validation errors or warnings are filtered from query results. +The ((Metacard Validity Filter Plugin)) determines whether metacards with validation errors or warnings are filtered from query results. ===== Related Components to the Metacard Validity Filter Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-marker.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-marker.adoc index cbc92279978b..dfe749b8bac1 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-marker.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacard-validity-marker.adoc @@ -5,7 +5,7 @@ :plugintypes: preingest :summary: Modifies metacards when created or ingested according to metacard validator services. -The Metacard Validity Marker Pre-Ingest plugin modifies the metacards contained in create and update requests. +The ((Metacard Validity Marker Pre-Ingest plugin)) modifies the metacards contained in create and update requests. The plugin runs each metacard in the `CreateRequest` and `UpdateRequest` against each registered `MetacardValidator` service. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacardingest-network.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacardingest-network.adoc index 895e65e9be2b..ca358d8da33b 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/metacardingest-network.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/metacardingest-network.adoc @@ -5,7 +5,7 @@ :plugintypes: preauthorization :summary: Adds attributes for network info from ingest request. -The Metacard Ingest Network Plugin allows the conditional insertion of new attributes on metacards during ingest based on network information from the ingest request; including IP address and hostname. +The ((Metacard Ingest Network Plugin)) allows the conditional insertion of new attributes on metacards during ingest based on network information from the ingest request; including IP address and hostname. For the extent of this section, a 'rule' will refer to a configured, single instance of this plugin. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/operation-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/operation-plugin.adoc index 7c098b690d0e..1b7013dcd872 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/operation-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/operation-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: access :summary: Validates a user or subject's security attributes. -The operation plugin validates the subject's security attributes to ensure they are adequate to perform the operation. +The ((Operation plugin)) validates the subject's security attributes to ensure they are adequate to perform the operation. ===== Installing the Operation Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/plugins-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/plugins-intro.adoc index d43b59e8ecba..2352bfa3e123 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/plugins-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/plugins-intro.adoc @@ -30,9 +30,9 @@ +------------------------------------------------------------+ .... -Plugins are additional tools to use to add additional business logic at certain points, depending on the type of plugin. +((Catalog Plugins))(((Plugins))) are additional tools to use to add additional business logic at certain points, depending on the type of plugin. -The Catalog Framework calls Catalog Plugins to process requests and responses as they enter and leave the Framework.  +The Catalog Framework calls Catalog Plugins to process requests and responses as they enter and leave the Framework. === Types of Plugins diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/point-of-contact-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/point-of-contact-plugin.adoc index 7a53ca250d1c..e8d7391e12d6 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/point-of-contact-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/point-of-contact-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Adds a policy if Point of Contact is updated. -The Point of Contact Policy Plugin is a PreUpdate plugin that will check if the point-of-contact attribute has changed. +The ((Point of Contact Policy Plugin)) is a PreUpdate plugin that will check if the point-of-contact attribute has changed. If it does, then it adds a policy to that metacard’s policy map that cannot be implied. This will deny such an update request, which essentially makes the point-of-contact attribute read-only. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/policy-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/policy-intro.adoc index 145a82bfc9f4..81b2475fa2c7 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/policy-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/policy-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: policy :order: 02 -Policy plugins are invoked to set up the policy for a request/response.  +((Policy plugins)) are invoked to set up the policy for a request/response. This provides an opportunity to attach custom requirements on operations or individual metacards. All the 'requirements' from each Policy plugin will be combined into a single policy that will be included in the request/response. Access plugins will be used to act on this combined policy. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-federated-query-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-federated-query-intro.adoc index b29fcc144f8e..00bc4b9f3af4 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-federated-query-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-federated-query-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: postfederatedquery :order: 0801 -Post-federated-query plugins are invoked after a federated query has been executed successfully, but before the response is returned to the endpoint.  +((Post-federated-query plugins)) are invoked after a federated query has been executed successfully, but before the response is returned to the endpoint. This is an opportunity to take any action on the query response, including but not limited to: * logging. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-ingest-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-ingest-intro.adoc index a7abd689aec3..64e0f5662778 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-ingest-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-ingest-intro.adoc @@ -6,4 +6,4 @@ :plugintypes: postingest :order: 05 -Post-ingest plugins are invoked after data has been created, updated, or deleted in a Catalog Provider. +((Post-ingest plugins)) are invoked after data has been created, updated, or deleted in a Catalog Provider. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-process-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-process-intro.adoc index eb193318a342..e3a7a88a8ee6 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-process-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-process-intro.adoc @@ -11,7 +11,7 @@ This code is experimental. While this interface is functional and tested, it may change or be removed in a future version of the library. ==== -*Post-Process Plugins* are invoked after a metacard has been created, updated, or deleted and committed to the Catalog. +((Post-Process Plugins)) are invoked after a metacard has been created, updated, or deleted and committed to the Catalog. They are the last plugins to run and are triggered by a *Post-Ingest Plugin*. Post-Process plugins are well-suited for asynchronous tasks. See the <<_asynchronous_processing_framework, Asynchronous Processing Framework>> for more information about how *Post-Process Plugins* are used. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-query-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-query-intro.adoc index 06adc8305178..b31152390139 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-query-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-query-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: postquery :order: 08 -Post-query plugins are invoked after a query has been executed successfully, but before the response is returned to the endpoint.  +((Post-query plugins)) are invoked after a query has been executed successfully, but before the response is returned to the endpoint.  This is an opportunity to take any action on the query response, including but not limited to: * logging. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-resource-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-resource-intro.adoc index 8b9f2de507dc..c313af990307 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-resource-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-resource-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: postresource :order: 10 -Post-resource plugins are invoked after a resource has been retrieved, but before it is returned to the endpoint.  +((Post-resource plugins)) are invoked after a resource has been retrieved, but before it is returned to the endpoint. This is an opportunity to take any action on the response, including but not limited to: * logging. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-update-storage-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-update-storage-intro.adoc index 82fa9915b3ae..62694d80c960 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/post-update-storage-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/post-update-storage-intro.adoc @@ -6,4 +6,4 @@ :plugintypes: postupdatestorage :order: 14 -Post-Update storage plugins are invoked immediately after an item is updated in the content repository. +((Post-Update storage plugins)) are invoked immediately after an item is updated in the content repository. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/postcreatestorage-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/postcreatestorage-intro.adoc index b1454a62650b..b81f1eb6b7c4 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/postcreatestorage-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/postcreatestorage-intro.adoc @@ -6,5 +6,5 @@ :plugintypes: postcreatestorage :order: 12 -Post-Create storage plugins are invoked immediately after an item is created in the content repository. +((Post-Create storage plugins)) are invoked immediately after an item is created in the content repository. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-authorization-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-authorization-intro.adoc index 3e0fa2631926..04d05830362f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-authorization-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-authorization-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: preauthorization :order: 01 -Pre-delivery plugins are invoked before any security rules are applied.  +((Pre-delivery plugins)) are invoked before any security rules are applied.  This is an opportunity to take any action before authorization, including but not limited to: * logging. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-create-storage-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-create-storage-intro.adoc index 681e99559a0c..1b354fb9c2ad 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-create-storage-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-create-storage-intro.adoc @@ -6,4 +6,4 @@ :plugintypes: precreatestorage :order: 11 -Pre-Create storage plugins are invoked immediately before an item is created in the content repository. +((Pre-Create storage plugins)) are invoked immediately before an item is created in the content repository. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-delivery-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-delivery-intro.adoc index a90462be292c..27b67dcfc014 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-delivery-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-delivery-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: predelivery :order: 16 -Pre-delivery plugins are invoked before a Delivery Method is invoked on a Subscription.  +((Pre-delivery plugins)) are invoked before a Delivery Method is invoked on a Subscription. This is an opportunity to take any action before event delivery, including but not limited to: * logging. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-federated-query-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-federated-query-intro.adoc index 692863c23adf..899c748150ef 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-federated-query-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-federated-query-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: prefederatedquery :order: 0701 -Pre-federated-query plugins are invoked before a federated query operation is sent to any of the Sources.  +((Pre-federated-query plugins)) are invoked before a federated query operation is sent to any of the Sources. This is an opportunity to take any action on the query, including but not limited to: * validation. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-ingest-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-ingest-intro.adoc index 3abb6b453c37..0dec30e7446a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-ingest-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-ingest-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: preingest :order: 04 -Pre-ingest plugins are invoked before an ingest operation is sent to the catalog. +((Pre-ingest plugins)) are invoked before an ingest operation is sent to the catalog. They are not run on a query. This is an opportunity to take any action on the ingest request, including but not limited to: diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-query-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-query-intro.adoc index 57dbd43decd9..556a99521f2e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-query-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-query-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: prequery :order: 07 -Pre-query plugins are invoked before a query operation is sent to any of the Sources.  +((Pre-query plugins)) are invoked before a query operation is sent to any of the Sources. This is an opportunity to take any action on the query, including but not limited to: * validation. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-resource-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-resource-intro.adoc index 4d8b1822cb3e..fd64abf94dae 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-resource-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-resource-intro.adoc @@ -6,7 +6,7 @@ :plugintypes: preresource :order: 09 -Pre-Resource plugins are invoked before a request to retrieve a resource is sent to a Source.  +((Pre-Resource plugins)) are invoked before a request to retrieve a resource is sent to a Source. This is an opportunity to take any action on the request, including but not limited to: * validation. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-subscription-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-subscription-intro.adoc index bbad6a9d4b2b..7810cbad5186 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-subscription-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-subscription-intro.adoc @@ -6,8 +6,8 @@ :plugintypes: presubscription :order: 15 -Pre-subscription plugins are invoked before a Subscription is activated by an Event Processor.  -This is an opportunity to take any action on the Subscription, including but not limited to: +((Pre-subscription plugins)) are invoked before a Subscription is activated by an Event Processor. +This is an opportunity to take any action on the Subscription, including but not limited to: * validation. * logging. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-update-storage-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-update-storage-intro.adoc index 97dce62732f1..f6e37dcb5a54 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-update-storage-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/pre-update-storage-intro.adoc @@ -6,5 +6,5 @@ :plugintypes: preupdatestorage :order: 13 -Pre-Update storage plugins are invoked immediately before an item is updated in the content repository. +((Pre-Update storage plugins)) are invoked immediately before an item is updated in the content repository. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/processing-post-ingest-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/processing-post-ingest-plugin.adoc index 40236305e1e6..771ec5263b2e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/processing-post-ingest-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/processing-post-ingest-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: postingest :summary: Submits catalog Create, Update, or Delete requests to the Processing Framework. -The Processing Post Ingest Plugin is responsible for submitting catalog Create, Update, and Delete (CUD) requests to the <<_asynchronous_processing_framework,Processing Framework>>. +The ((Processing Post Ingest Plugin)) is responsible for submitting catalog Create, Update, and Delete (CUD) requests to the <<_asynchronous_processing_framework,Processing Framework>>. ===== Related Components to Processing Post-Ingest Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/resource-uri-policy-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/resource-uri-policy-plugin.adoc index 6376961e41c8..408dcc50aa7a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/resource-uri-policy-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/resource-uri-policy-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Configures required user attributes for setting or altering a resource URI. -The Resource URI Policy Plugin configures the attributes required for users to set the resource URI when creating a metacard or alter the resource URI when updating an existing metacard in the catalog. +The ((Resource URI Policy Plugin)) configures the attributes required for users to set the resource URI when creating a metacard or alter the resource URI when updating an existing metacard in the catalog. ===== Installing the Resource URI Policy Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/security-audit-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/security-audit-plugin.adoc index 54f8f994c2fb..95258cb1ee7a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/security-audit-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/security-audit-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: access :summary: Audits specific metacard attributes. -The Security Audit Plugin is used to allow the auditing of specific metacard attributes. +The ((Security Audit Plugin)) is used to allow the auditing of specific metacard attributes. Any time a metacard attribute listed in the configuration is updated, a log will be generated in the security log. ===== Installing the Security Audit Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/security-logging-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/security-logging-plugin.adoc index 8fb256d15360..14f3a239645c 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/security-logging-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/security-logging-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: preingest, postingest, prequery, postquery, prefederatedquery, postfederatedquery, preresource, postresource, precreatestorage, preupdatestorage, postcreatestorage, postupdatestorage :summary: Logs operations to the security log. -The Security Logging Plugin logs operations to the security log. +The ((Security Logging Plugin)) logs operations to the security log. ===== Installing Security Logging Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/security-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/security-plugin.adoc index 50f70f054c56..130cda0a383b 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/security-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/security-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: access :summary: Identifies the subject for an operation. -The Security Plugin identifies the subject for an operation. +The ((Security Plugin)) identifies the subject for an operation. ===== Installing the Security Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/tags-filter-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/tags-filter-plugin.adoc index 369dc52e002a..5fe5f7332079 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/tags-filter-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/tags-filter-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: prefederatedquery :summary: Updates queries without filters. -The Tags Filter Plugin updates queries without filters for tags, and adds a default tag of `resource`. +The ((Tags Filter Plugin)) updates queries without filters for tags, and adds a default tag of `resource`. For backwards compatibility, a filter will also be added to include metacards without any tags attribute. ===== Related Components to Tags Filter Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/video-thumbnail-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/video-thumbnail-plugin.adoc index fcced101fb70..cdb3f6390a6f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/video-thumbnail-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/video-thumbnail-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: postcreatestorage, postupdatestorage :summary: Generates thumbnails for video files. -The Video Thumbnail Plugin provides the ability to generate thumbnails for video files stored in the Content Repository. +The ((Video Thumbnail Plugin)) provides the ability to generate thumbnails for video files stored in the Content Repository. It is an implementation of both the `PostCreateStoragePlugin` and `PostUpdateStoragePlugin` interfaces. When installed, it is invoked by the Catalog Framework immediately after a content item has been created or updated by the Storage Provider. diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-access-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-access-plugin.adoc index 43da20a2976d..c90003e5feea 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-access-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-access-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: access :summary: Prevents non-owner users from changing workspace permissions. -The Workspace Access Plugin prevents non-owner users from changing workspace permissions. +The ((Workspace Access Plugin)) prevents non-owner users from changing workspace permissions. ===== Related Components to The Workspace Access Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-pre-ingest-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-pre-ingest-plugin.adoc index 8c746f66f968..0f4592f8a8c4 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-pre-ingest-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-pre-ingest-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: preingest :summary: Verifies that a workspace has an associated email to enable sharing. -The Workspace Pre-Ingest Plugin verifies that a workspace has an associated email to enable sharing and assigns that email as "owner". +The ((Workspace Pre-Ingest Plugin)) verifies that a workspace has an associated email to enable sharing and assigns that email as "owner". ===== Related Components to The Workspace Pre-Ingest Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-sharing-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-sharing-plugin.adoc index 0dce04ae563f..7deaabed56a5 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-sharing-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/workspace-sharing-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Collects attributes for a workspace to identify the appropriate policy to allow sharing. -The Workspace Sharing Policy Plugin collects attributes for a workspace to identify the appropriate policy to apply to allow sharing. +The ((Workspace Sharing Policy Plugin)) collects attributes for a workspace to identify the appropriate policy to apply to allow sharing. ===== Related Components to The Workspace Sharing Policy Plugin diff --git a/distribution/docs/src/main/resources/content/_architectures/_plugins/xml-attribute-plugin.adoc b/distribution/docs/src/main/resources/content/_architectures/_plugins/xml-attribute-plugin.adoc index 265000463a00..45548149fa67 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_plugins/xml-attribute-plugin.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_plugins/xml-attribute-plugin.adoc @@ -5,7 +5,7 @@ :plugintypes: policy :summary: Finds security attributes contained in a metacard's metadata. -The XML Attribute Security Policy Plugin parses XML metadata contained within a metacard for security attributes on any number of XML elements in the metadata. +The ((XML Attribute Security Policy Plugin)) parses XML metadata contained within a metacard for security attributes on any number of XML elements in the metadata. The configuration for the plugin contains one field for setting the XML elements that will be parsed for security attributes and the other two configurations contain the XML attributes that will be pulled off of those elements. The *Security Attributes (union)* field will compute the union of values for each attribute defined and the *Security Attributes (intersection)* field will compute the intersection of values for each attribute defined. diff --git a/distribution/docs/src/main/resources/content/_architectures/_queries/filter-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_queries/filter-intro.adoc index c59ec202880c..612a2ccc172c 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_queries/filter-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_queries/filter-intro.adoc @@ -6,17 +6,18 @@ :order: 00 :summary: Filters. -An OGC Filter is a http://www.opengeospatial.org/standards/filter[Open Geospatial Consortium (OGC) standard] {external-link} that describes a query expression in terms of Extensible Markup Language (XML) and key-value pairs (KVP).  +((({title}))) +An ((OGC Filter)) is a http://www.opengeospatial.org/standards/filter[Open Geospatial Consortium (OGC) standard] {external-link} that describes a query expression in terms of Extensible Markup Language (XML) and key-value pairs (KVP). The OGC Filter is used to represent a query to be sent to sources and the Catalog Provider, as well as to represent a Subscription. The OGC Filter provides support for expression processing, such as adding or dividing expressions in a query, but that is not the intended use for ${branding}. The ${ddf-catalog} Framework does not use the XML representation of the OGC Filter standard. ${branding} instead uses the Java implementation provided by http://geotools.org/[GeoTools] {external-link}. GeoTools provides Java equivalent classes for OGC Filter XML elements. -GeoTools originally provided the standard Java classes for the OGC Filter Encoding 1.0 under the package name `org.opengis.filter`. -The same package name is used today and is currently used by ${branding}.  -Java developers do not parse or view the XML representation of a Filter in ${branding}. Instead, developers use only the Java objects to complete query tasks. +GeoTools originally provided the standard Java classes for the OGC Filter Encoding 1.0 under the package name `org.opengis.filter`. +The same package name is used today and is currently used by ${branding}. +Java developers do not parse or view the XML representation of a Filter in ${branding}. Instead, developers use only the Java objects to complete query tasks. -Note that the `ddf.catalog.operation.Query` interface extends the `org.opengis.filter.Filter` interface, which means that a Query object is an OGC Java Filter with Query Options. +Note that the `ddf.catalog.operation.Query` interface extends the `org.opengis.filter.Filter` interface, which means that a Query object is an OGC Java Filter with Query Options. .A Query is an OGC Filter [source,java] diff --git a/distribution/docs/src/main/resources/content/_architectures/_queries/filterbuilder-api.adoc b/distribution/docs/src/main/resources/content/_architectures/_queries/filterbuilder-api.adoc index 45d98ac3eda0..24f7af747a4f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_queries/filterbuilder-api.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_queries/filterbuilder-api.adoc @@ -5,6 +5,7 @@ :order: 00 :summary: FilterBuilder API. +((({title}))) To avoid the complexities of working with the Filter interface directly and implementing the ${branding} Profile of the Filter specification, the ${ddf-catalog} includes an API, primarily in `${ddf-branding}.filter`, to build Filters using a fluent API. To use the `FilterBuilder` API, an instance of `${ddf-branding}.filter.FilterBuilder` should be used via the OSGi registry. diff --git a/distribution/docs/src/main/resources/content/_architectures/_queries/queries-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_queries/queries-intro.adoc index 0b9fd1c6e5f9..b0487d201825 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_queries/queries-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_queries/queries-intro.adoc @@ -5,14 +5,15 @@ :order: 03 :summary: Introduction to Queries. -Clients use `ddf.catalog.operation.Query` objects to describe which metacards are needed from <<{introduction-prefix}introduction_to_federation_and_sources,Sources>>.  +((({title}))) +Clients use `ddf.catalog.operation.Query` objects to describe which metacards are needed from <<{introduction-prefix}introduction_to_federation_and_sources,Sources>>. -Query objects have two major components: +Query objects have two major components: * <<{architecture-prefix}filters,Filters>> * <<{developing-prefix}query_options,Query Options>> -A Source uses the Filter criteria constraints to find the requested set of metacards within its domain of metacards. -The Query Options are used to further restrict the Filter's set of requested metacards. +A Source uses the Filter criteria constraints to find the requested set of metacards within its domain of metacards. +The Query Options are used to further restrict the Filter's set of requested metacards. diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/content-item.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/content-item.adoc index 30216006a33a..d5e543b1b7ec 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/content-item.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/content-item.adoc @@ -6,6 +6,6 @@ :order: 00 :summary: Content Item. -ContentItem is the domain object populated by the Storage Provider that represents the information about the content to be stored or content that has been stored in the Storage Provider. -A ContentItem encapsulates the content's globally unique ID, mime type, and input stream (i.e., the actual content). -The unique ID of a ContentItem will always correspond to a Metacard ID. +((Content Item)) is the domain object populated by the Storage Provider that represents the information about the content to be stored or content that has been stored in the Storage Provider. +A `ContentItem` encapsulates the content's globally unique ID, mime type, and input stream (i.e., the actual content). +The unique ID of a `ContentItem` will always correspond to a Metacard ID. diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/resource-components-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/resource-components-intro.adoc index 11600fa0ca53..ebc3b721071c 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/resource-components-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/resource-components-intro.adoc @@ -6,7 +6,7 @@ :order: 01 :summary: Resource components. -Resource components are used when working with resources +((Resource components)) are used when working with resources A resource is a URI-addressable entity that is represented by a metacard. diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/resource-readers-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/resource-readers-intro.adoc index f811ae10f180..b39e766befda 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/resource-readers-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/resource-readers-intro.adoc @@ -6,7 +6,7 @@ :order: 02 :summary: Resource Readers. -A resource reader retrieves resources associated with metacards via URIs. +A ((Resource Reader)) retrieves resources associated with metacards via URIs. Each resource reader must know how to interpret the resource's URI and how to interact with the data store to retrieve the resource. There can be multiple resource readers in a Catalog instance. diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/resource-writers-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/resource-writers-intro.adoc index f832eaaa1fe0..ee038ad090c9 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/resource-writers-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/resource-writers-intro.adoc @@ -6,7 +6,7 @@ :order: 03 :summary: Resource Writers. -A resource writer stores a resource and produces a URI that can be used for retrieval. +A ((Resource Writer)) stores a resource and produces a URI that can be used for retrieval. The resource URI uniquely locates and identifies the resource. Resource writers can interact with an underlying data store and store the resource in the proper place. Each implementation can do this differently, providing flexibility in the data stores used to persist the resources. diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/resources-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/resources-intro.adoc index 5e732de754f8..a65ae0a66510 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/resources-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/resources-intro.adoc @@ -33,9 +33,9 @@ Resources are the data that is represented by the cataloged metadata in ${branding}. -Metacards are used to describe those resources through metadata.  -This metadata includes the time the resource was created, the location where the resource was created, etc.  -A ${branding} `Metacard` contains the `getResourceUri` method, which is used to locate and retrieve its corresponding resource. +Metacards are used to describe those resources through metadata. +This metadata includes the time the resource was created, the location where the resource was created, etc. +A ${branding} `Metacard` contains the `getResourceUri` method, which is used to locate and retrieve its corresponding resource. .Content Data Component Architecture [ditaa, content_data_components, png,${image.width}] diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/storing-resources.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/storing-resources.adoc index 368adee79d6f..3dd69482fd75 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/storing-resources.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/storing-resources.adoc @@ -5,7 +5,7 @@ :order: 02 :summary: Storing Resources. -Resources are saved using a `ResourceWriter`.  +((Resources)) are saved using a `ResourceWriter`.  `${ddf-branding}.catalog.resource.ResourceWriter` instances can be discovered via the OSGi Service Registry. Once retrieved, the `ResourceWriter` instance provides clients with a way to store resources and get a corresponding URI that can be used to subsequently retrieve the resource via a `ResourceReader`.  Simply invoke either of the `storeResource` methods with a resource and any potential arguments. diff --git a/distribution/docs/src/main/resources/content/_architectures/_resources/url-resource-reader.adoc b/distribution/docs/src/main/resources/content/_architectures/_resources/url-resource-reader.adoc index 6ce406b839a4..77d5790f07b1 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_resources/url-resource-reader.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_resources/url-resource-reader.adoc @@ -5,9 +5,10 @@ :order: 00 :summary: URL Resource Reader. -The `URLResourceReader` is an implementation of `ResourceReader` which is included in the ${branding} Catalog.  -It obtains a resource given an http, https, or file-based URL.  -The `URLResourceReader` will connect to the provided Resource URL and read the resource's bytes into an `InputStream`.   +((({title}))) +The `URLResourceReader` is an implementation of `ResourceReader` which is included in the ${branding} Catalog. +It obtains a resource given an http, https, or file-based URL. +The `URLResourceReader` will connect to the provided Resource URL and read the resource's bytes into an `InputStream`. [WARNING] ==== @@ -18,7 +19,7 @@ For example, if path `/my/valid/path` is configured in the ``URLResourceReader`` ===== Installing the URL Resource Reader -The `URLResourceReader` is installed by default with a standard installation in the ${ddf-catalog} application. +The `URLResourceReader` is installed by default with a standard installation in the ${ddf-catalog} application. ===== Configuring Permissions for the URL Resource Reader @@ -51,10 +52,10 @@ See <<{reference-prefix}ddf.catalog.resource.impl.URLResourceReader,URL Resource ==== Using the URL Resource Reader -`URLResourceReader` will be used by the Catalog Framework to obtain a resource whose metacard is cataloged in the local data store. -This particular `ResourceReader` will be chosen by the `CatalogFramework` if the requested resource's URL has a protocol of `http`, `https`, or `file`.   +`URLResourceReader` will be used by the Catalog Framework to obtain a resource whose metacard is cataloged in the local data store. +This particular `ResourceReader` will be chosen by the `CatalogFramework` if the requested resource's URL has a protocol of `http`, `https`, or `file`. -For example, requesting a resource with the following URL will make the Catalog Framework invoke the `URLResourceReader` for retrieval. +For example, requesting a resource with the following URL will make the Catalog Framework invoke the `URLResourceReader` for retrieval. .Example [source,http] @@ -62,7 +63,7 @@ For example, requesting a resource with the following URL will make the Catalog file:///home/users/${ddf-branding}_user/data/example.txt ---- -If a resource was requested with the URL `udp://123.45.67.89:80/SampleResourceStream`, the `URLResourceReader` would _not_ be invoked. +If a resource was requested with the URL `udp://123.45.67.89:80/SampleResourceStream`, the `URLResourceReader` would _not_ be invoked. .Supported Schemes: * http diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/external-ws-s-sts-support.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/external-ws-s-sts-support.adoc index d75dcd5160ea..8a0f0f31023e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/external-ws-s-sts-support.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/external-ws-s-sts-support.adoc @@ -6,12 +6,14 @@ :order: 02 == {title} +((({title}))) This configuration works just like the STS Client Config for the internal STS, but produces standard requests instead of the custom ${branding} ones. It supports two new auth types for the context policy manager, WSSBASIC and WSSPKI. Use these auth types when connecting to a non-${branding} STS or if ignoring realms. === Security STS Address Provider +(((Security STS Address Provider))) This allows one to select which STS address will be used (e.g. in SOAP sources) for clients of this service. Default is off (internal). diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/federated-identity.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/federated-identity.adoc index c9c68d453e3a..f21dd25f6def 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/federated-identity.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/federated-identity.adoc @@ -6,6 +6,7 @@ :summary: How a user's identity is shared with federated Sources during queries == {title} +((({title}))) Each instance of {branding} may be configured with its own security policy that determines the resources a user may access and the actions they may perform. To decide whether a given request is diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/guest-interceptor.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/guest-interceptor.adoc index 773a6b59140f..af13944fed61 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/guest-interceptor.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/guest-interceptor.adoc @@ -6,8 +6,9 @@ :summary: Guest Interceptor. == {title} +((({title}))) -The goal of the `GuestInterceptor` is to allow non-secure clients (such as SOAP requests without security headers) to access secure service endpoints.  +The goal of the `GuestInterceptor` is to allow non-secure clients (such as SOAP requests without security headers) to access secure service endpoints. All requests to secure endpoints must satisfy the WS-SecurityPolicy that is included in the WSDL. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/realms.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/realms.adoc index b975110a2f4b..3a39d6b769d1 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/realms.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/realms.adoc @@ -6,6 +6,7 @@ :summary: Shiro realms. == {title} +((({title})))(((Apache Shiro))) ${branding} uses https://shiro.org[Apache Shiro] {external-link} for the concept of https://shiro.apache.org/realm.html[Realms] {external-link} for Authentication and Authorization. Realms are components that access security data such as such as users or permissions. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-api.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-api.adoc index 64933afc0a6c..7b3d21b9e7e7 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-api.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-api.adoc @@ -6,6 +6,7 @@ :summary: Security Core API. == {title} +((({title}))) The Security Core API contains all of the ${branding} APIs that are used to perform security operations within ${branding}. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-commons.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-commons.adoc index 85489b720717..94c470623ba4 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-commons.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-commons.adoc @@ -6,8 +6,9 @@ :summary: Security Core commons. == {title} +((({title}))) -The Security Core Services bundle contains services that are used within ${branding} to help with performing common security operations. +The ((Security Core Services)) bundle contains services that are used within ${branding} to help with performing common security operations. Most notably, this bundle contains the `ddf.security.audit.SecurityLogger` class that performs the security audit logging within ${branding}. === Configuring the Security Core Commons diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-implementation.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-implementation.adoc index 9ccf46e4516c..0e093b383e3d 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-implementation.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-implementation.adoc @@ -7,12 +7,12 @@ == {title} -The Security Core Implementation contains the reference implementations for the Security Core API interfaces that come with the ${branding} distribution. +The Security Core Implementation contains the reference implementations for the Security Core API interfaces that come with the ${branding} distribution. === Installing the Security Core Implementation The Security Core app installs this bundle by default. -It is recommended to use this bundle as it contains the reference implementations for many classes used within the ${ddf-security} Framework. +It is *recommended* to use this bundle as it contains the reference implementations for many classes used within the ${ddf-security} Framework. === Configuring the Security Core Implementation diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-intro.adoc index e5d5af78d312..fd0614aeb918 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-core-intro.adoc @@ -7,4 +7,4 @@ == {title} -The Security Core application contains all of the necessary components that are used to perform security operations (authentication, authorization, and auditing) required in the framework. +The (((Security Core application))) contains all of the necessary components that are used to perform security operations (authentication, authorization, and auditing) required in the framework. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-api.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-api.adoc index 40928392d700..955b2cbef9d7 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-api.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-api.adoc @@ -6,6 +6,7 @@ :summary: Security Encryption API. == {title} +((({title}))) The Security Encryption API bundle provides the framework for the encryption service. Applications that use the encryption service should use the interfaces defined within it instead of calling an implementation directly. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-commands.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-commands.adoc index 81146a703fa3..7d29c1a72365 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-commands.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-commands.adoc @@ -6,6 +6,7 @@ :summary: Security Encryption commands. == {title} +((({title}))) The Security Encryption Commands bundle enhances the ${branding} system console by allowing administrators and integrators to encrypt and decrypt values directly from the console. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-impl.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-impl.adoc index 94c0259f7296..990b1dffe6cc 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-impl.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-impl.adoc @@ -6,6 +6,7 @@ :summary: Security Encryption implementation. == {title} +((({title}))) The Security Encryption Implementation bundle contains all of the service implementations for the Encryption Framework and exports those implementations as services to the OSGi service registry. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-intro.adoc index bc2dbde2271c..18951963a5ec 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-encryption-intro.adoc @@ -8,7 +8,7 @@ == {title} -The ${ddf-security} Encryption application offers an encryption framework and service implementation for other applications to use. +The ((${ddf-security} Encryption application)) offers an encryption framework and service implementation for other applications to use. This service is commonly used to encrypt and decrypt default passwords that are located within the metatype and ${admin-console}. The encryption service and encryption command, which are based on https://github.com/google/tink/wiki[tink] {external-link}, provide an easy way for developers to add encryption capabilities to ${branding}. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-expansion-service.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-expansion-service.adoc index 50ec239a7e26..ec26bca79e4b 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-expansion-service.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-expansion-service.adoc @@ -7,7 +7,7 @@ == {title} -The Expansion Service and its corresponding expansion-related commands provide an easy way for developers to add expansion capabilities to ${branding} during user attribute and metadata card processing. +The ((Expansion Service)) and its corresponding expansion-related commands provide an easy way for developers to add expansion capabilities to ${branding} during user attribute and metadata card processing. In addition to these two defined uses of the expansion service, developers are free to utilize the service in their own implementations. .Expansion Service Rulesets diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-filtering.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-filtering.adoc index f87242cbba5c..85033c8673d6 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-filtering.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-filtering.adoc @@ -8,7 +8,7 @@ == {title} -Metacard filtering is performed by the <<{developing-prefix}filter_plugin,Filter Plugin>> after a query has been performed, but before the results are returned to the requestor. +((Metacard filtering)) is performed by the <<{developing-prefix}filter_plugin,Filter Plugin>> after a query has been performed, but before the results are returned to the requestor. Each metacard result will contain security attributes that are populated by the CatalogFramework based on the PolicyPlugins (Not provided! You must create your own plugin for your specific metadata!) that populates this attribute. The security attribute is a HashMap containing a set of keys that map to lists of values. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-framework-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-framework-intro.adoc index 22df69bcbafc..fd04c107716d 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-framework-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-framework-intro.adoc @@ -5,6 +5,7 @@ :summary: Introduction to Security Framework. == {title} +((({title}))) The ${branding} Security Framework utilizes http://shiro.apache.org/[Apache Shiro] as the underlying security framework. The classes mentioned in this section will have their full package name listed, to make it easy to tell which classes come with the core Shiro framework and which are added by ${branding}. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-embedded-server.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-embedded-server.adoc index 0e6831b2c2a4..f2029c8e2f0f 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-embedded-server.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-embedded-server.adoc @@ -6,6 +6,7 @@ :summary: Embedded LDAP server. == {title} +((({title}))) ${branding} includes an embedded LDAP server (OpenDJ) for testing and demonstration purposes. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-intro.adoc index 6f54261c73a4..743d44b9b190 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-ldap-intro.adoc @@ -7,6 +7,7 @@ :summary: Security LDAP application. == {title} +((({title}))) -The ${ddf-branding} LDAP application allows the user to configure either an embedded or a standalone LDAP server. +The ${ddf-security} LDAP application allows the user to configure either an embedded or a standalone LDAP server. The provided features contain a default set of schemas and users loaded to help facilitate authentication and authorization testing. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-manager.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-manager.adoc index 3528863640ca..09d40038a987 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-manager.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-manager.adoc @@ -6,6 +6,7 @@ :summary: Security Manager. == {title} +((({title}))) `ddf.security.service.SecurityManager` diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-authz-realm.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-authz-realm.adoc index 8fb097353a91..b26972a6ba00 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-authz-realm.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-authz-realm.adoc @@ -6,6 +6,7 @@ :summary: Security PDP AuthZ Realm. == {title} +((({title}))) The ${ddf-security} PDP AuthZ Realm exposes a realm service that makes decisions on authorization requests using the attributes stored within the metacard to determine if access should be granted. This realm can use XACML and will delegate decisions to an external processing engine if internal processing fails. @@ -15,8 +16,8 @@ It is recommended to list as many attributes as possible in these sections to av If it is desired that all decisions be passed to the XACML processing engine, remove all of the "match-all" and "match-one" configurations. The configuration below provides the mapping between user attributes and the attributes being asserted - one map exists for each type of mapping (each map may contain multiple values). -Match-All Mapping:: This mapping is used to guarantee that all values present in the specified metacard attribute exist in the corresponding user attribute. -Match-One Mapping:: This mapping is used to guarantee that at least one of the values present in the specified metacard attribute exists in the corresponding user attribute. +((Match-All Mapping)):: This mapping is used to guarantee that all values present in the specified metacard attribute exist in the corresponding user attribute. +((Match-One Mapping)):: This mapping is used to guarantee that at least one of the values present in the specified metacard attribute exists in the corresponding user attribute. === Configuring the Security PDP AuthZ Realm diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-intro.adoc index 4d611244c07e..5f8360d07826 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pdp-intro.adoc @@ -7,7 +7,8 @@ :summary: Security PDP application. == {title} +((({title}))) -The ${ddf-security} Policy Decision Point (PDP) module contains services that are able to perform authorization decisions based on configurations and policies. +The ((${ddf-security} Policy Decision Point))(((PDP))) (PDP) module contains services that are able to perform authorization decisions based on configurations and policies. In the ${ddf-security} Framework, these components are called realms, and they implement the `org.apache.shiro.realm.Realm` and `org.apache.shiro.authz.Authorizer` interfaces. -Although these components perform decisions on access control, enforcement of this decision is performed by components within the notional PEP application. +Although these components perform decisions on access control, enforcement of this decision is performed by components within the notional PEP application. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-interceptor.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-interceptor.adoc index 1b49164658dd..2ecdc0694028 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-interceptor.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-interceptor.adoc @@ -7,7 +7,7 @@ == {title} -The Security PEP Interceptor bundle contains the `ddf.security.pep.interceptor.PEPAuthorizingInterceptor` class. +The ((Security PEP Interceptor)) bundle contains the `ddf.security.pep.interceptor.PEPAuthorizingInterceptor` class. This class uses CXF to intercept incoming SOAP messages and enforces service authorization policies by sending the service request to the security framework. === Installing the Security PEP Interceptor diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-intro.adoc index 9bf4baf1d68f..57d168cbe5f5 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-pep-intro.adoc @@ -7,5 +7,6 @@ :summary: Security PEP. == {title} +((({title}))) -The ${ddf-security} Policy Enforcement Point (PEP) application contains bundles that allow for policies to be enforced at various parts of the system, for example: to reach contexts, view metacards, access catalog operations, and others. +The ((${ddf-security} Policy Enforcement Point))(((PEP))) (PEP) application contains bundles that allow for policies to be enforced at various parts of the system, for example: to reach contexts, view metacards, access catalog operations, and others. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-rest-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-rest-intro.adoc index dcf86e3fedf2..9fb42dbf2205 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-rest-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-rest-intro.adoc @@ -58,7 +58,7 @@ +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .... -The Jetty Authenticator is the topmost handler of all requests. +The ((Jetty Authenticator)) is the topmost handler of all requests. It initializes all Security Filters and runs them in order according to service ranking: . The *Web SSO Filter* reads from the web context policy manager and functions as the first decision point. @@ -117,10 +117,10 @@ SAML IdP Architecture .... -The SAML Handler is a configured handler on the Web SSO Filter just like the other handlers in the previous diagram. -The SAML Handler and the Assertion Consumer Service are both part of the IdP client that can be used to interface with any compliant SAML 2.0 Web SSO Identity Provider. +The ((SAML Handler)) is a configured handler on the Web SSO Filter just like the other handlers in the previous diagram. +The SAML Handler and the ((Assertion Consumer Service)) are both part of the IdP client that can be used to interface with any compliant SAML 2.0 Web SSO Identity Provider. -The Metadata Exchange happens asynchronously from any login event. +The ((Metadata Exchange)) happens asynchronously from any login event. The exchange can happen via HTTP or File, or the metadata XML itself can be pasted into the configuration for the SAML client. The metadata contains information about what bindings are accepted by the client or server and whether or not either expects messages to be signed, etc. The redirect from the Assertion Consumer Service to the Endpoint will cause the client to pass back through the entire filter chain, which will get caught at the `Has Session` point of the `WebSsoFilter`. @@ -179,7 +179,7 @@ Unauthenticated non-browser clients that pass the HTTP headers signaling that th +---------------------------------------------------------------------------------------------------------------------+ .... -SAML ECP can be used to authenticate a non-browser client or non-person entity (NPE). +((SAML ECP)) can be used to authenticate a non-browser client or non-person entity (NPE). This method of authentication is useful when there is no human in the loop, but authentication with an IdP is still desired. The SAML Handler will send a PAOS (Reverse SOAP) request as an initial response back to the Secure Client, assuming the client has sent the necessary HTTP headers to declare that it supports this function. That response does not complete the request/response loop, but is instead caught by a SOAP intermediary, which is implemented through a CXF interceptor. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-sts-claims-handler.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-sts-claims-handler.adoc index d0df89b6219d..39f5f083773d 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-sts-claims-handler.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-sts-claims-handler.adoc @@ -7,7 +7,7 @@ == {title} -Claims handlers are classes that convert the incoming user credentials into a set of attribute claims that will be populated in the user Subject object. +((Claims handlers)) are classes that convert the incoming user credentials into a set of attribute claims that will be populated in the user Subject object. An example in action would be the LDAPClaimsHandler that takes in the user's credentials and retrieves the user's attributes from a backend LDAP server. These attributes are then mapped and added to the Subject being created. Integrators and developers can add more claims handlers that can handle other types of external services that store user attributes. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-wss-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-wss-intro.adoc index 4f190bd61b2a..f91c895ba2d5 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-wss-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/security-wss-intro.adoc @@ -8,8 +8,8 @@ == {title} -The Web Service Security (WSS) functionality that comes with ${branding} is integrated throughout the system. +The ((Web Service Security))(((WSS))) (WSS) functionality that comes with ${branding} is integrated throughout the system. This is a central resource describing how all of the pieces work together and where they are located within the system. ${branding} comes with a *Security Framework* and *Security Services*. -The Security Framework is the set of APIs that define the integration with the ${branding} framework and the Security Services are the reference implementations of those APIs built for a realistic end-to-end use case. +The ((Security Framework)) is the set of APIs that define the integration with the ${branding} framework and the ((Security Services)) are the reference implementations of those APIs built for a realistic end-to-end use case. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-claims-handler.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-claims-handler.adoc index b07e177e00ce..813df9257153 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-claims-handler.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-claims-handler.adoc @@ -7,7 +7,7 @@ == {title} -The ${ddf-security} LDAP Claims Handler bundle adds functionality that allows retrieval of claims from an LDAP server. +The ((${ddf-security} LDAP Claims Handler)) bundle adds functionality that allows retrieval of claims from an LDAP server. [NOTE] ==== diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-login.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-login.adoc index 0d8562d7742d..735b9ba133b6 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-login.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/sts-ldap-login.adoc @@ -6,6 +6,7 @@ :order: 03 == {title} +((({title}))) The ${ddf-security} JAAS LDAP Login bundle enables authentication via an LDAP server when passed a username and password. diff --git a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/subject.adoc b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/subject.adoc index eb1c7f8c4a55..d5d9e9d98cc7 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_securityFramework/subject.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_securityFramework/subject.adoc @@ -9,7 +9,7 @@ `ddf.security.Subject org.apache.shiro.subject.Subject` -The Subject is the key object in the security framework. +The ((Subject)) is the key object in the security framework. Most of the workflow and implementations revolve around creating and using a Subject. The Subject object in ${branding} is a class that encapsulates all information about the user performing the current operation. The Subject can also be used to perform permission checks to see if the calling user has acceptable permission to perform a certain action (e.g., calling a service or returning a metacard). diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/atom-queryresp-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/atom-queryresp-xformer.adoc index 142478fc9d62..02805a8e8d36 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/atom-queryresp-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/atom-queryresp-xformer.adoc @@ -5,7 +5,7 @@ :link: _atom_query_response_transformer :summary: Transforms a query response into an http://tools.ietf.org/html/rfc4287[Atom 1.0] feed. -The Atom Query Response Transformer transforms a query response into an http://tools.ietf.org/html/rfc4287[Atom 1.0] feed. +The ((Atom Query Response Transformer)) transforms a query response into an http://tools.ietf.org/html/rfc4287[Atom 1.0] feed. The Atom transformer maps a `QueryResponse` object as described in the Query Result Mapping. ===== Installing the Atom Query Response Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/csw-queryresp-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/csw-queryresp-xformer.adoc index 795b7e7c8d19..00f5bf6df6a7 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/csw-queryresp-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/csw-queryresp-xformer.adoc @@ -5,7 +5,7 @@ :link: _csw_query_response_transformer :summary: Transforms a query response into a http://www.opengeospatial.org/standards/cat[CSW-formatted] document. -The CSW Query Response Transformer transforms a query response into a http://www.opengeospatial.org/standards/cat[CSW-formatted] document. +The (((CSW Query Response Transformer))) transforms a query response into a http://www.opengeospatial.org/standards/cat[CSW-formatted] document. ===== Installing the CSW Query Response Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/custom-mime-type-resolver.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/custom-mime-type-resolver.adoc index 6ccd1123a0c5..ca6f1339962d 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/custom-mime-type-resolver.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/custom-mime-type-resolver.adoc @@ -4,6 +4,7 @@ :link: _custom_mime_type_resolver :summary: The Custom Mime Type Resolver is a `MimeTypeResolver` that defines the custom mime types that ${branding} will support. +((({title}))) These are mime types not supported by the default `TikaMimeTypeResolver`. .Custom Mime Type Resolver Default Supported Mime Types diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/ddf-mime-type-mapper.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/ddf-mime-type-mapper.adoc index 368fbb80465b..9eb2361fd00a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/ddf-mime-type-mapper.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/ddf-mime-type-mapper.adoc @@ -4,7 +4,7 @@ :link: _ddf_mime_type_mapper :summary: Core implementation of the ${ddf-branding} Mime API. -The ${ddf-branding} Mime Type Mapper is the core implementation of the ${ddf-branding} Mime API. +The ((${ddf-branding} Mime Type Mapper)) is the core implementation of the ${ddf-branding} Mime API. It provides access to all `MimeTypeResolvers` within ${branding}, which provide mapping of mime types to file extensions and file extensions to mime types. ===== Installing the ${ddf-branding} Mime Type Mapper diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-input-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-input-xformer.adoc index b1bbd778f88a..fca9e41effa3 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-input-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-input-xformer.adoc @@ -5,7 +5,7 @@ :link: _geojson_input_transformer :summary: Translates GeoJSON into a Catalog metacard. -The GeoJSON input transformer is responsible for translating GeoJSON into a Catalog metacard. +The ((GeoJSON input transformer)) is responsible for translating GeoJSON into a Catalog metacard. .{title} Usage diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-metacard-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-metacard-xformer.adoc index acad8d082f4a..d34ab0d94457 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-metacard-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-metacard-xformer.adoc @@ -5,7 +5,7 @@ :link: _geojson_metacard_transformer :summary: Translates a metacard into GeoJSON. -GeoJSON Metacard Transformer translates a metacard into GeoJSON. +((GeoJSON Metacard Transformer)) translates a metacard into GeoJSON. ===== Installing the GeoJSON Metacard Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-queryresp-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-queryresp-xformer.adoc index 4a36724a59f3..853a349fa975 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-queryresp-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/geojson-queryresp-xformer.adoc @@ -5,7 +5,7 @@ :summary: Translates a query response into a GeoJSON-formatted document. :subtype: queryResponse -The GeoJSON Query Response Transformer translates a query response into a GeoJSON-formatted document. +The ((GeoJSON Query Response Transformer)) translates a query response into a GeoJSON-formatted document. ===== Installing the GeoJSON Query Response Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-metacard-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-metacard-xformer.adoc index d1c42f85a1f0..73038478e975 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-metacard-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-metacard-xformer.adoc @@ -5,7 +5,7 @@ :link: _kml_metacard_transformer :summary: Translates a metacard into a KML-formatted document. -The KML Metacard Transformer is responsible for translating a metacard into a KML-formatted document. +The ((KML Metacard Transformer)) is responsible for translating a metacard into a KML-formatted document. The KML will contain an HTML description that will display in the pop-up bubble in Google Earth. The HTML contains links to the full metadata view as well as the resource. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-queryresp-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-queryresp-xformer.adoc index 3dad86e0430c..4aee1171c4af 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-queryresp-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-queryresp-xformer.adoc @@ -5,7 +5,7 @@ :link: _kml_query_response_transformer :summary: Translates a query response into a KML-formatted document. -The KML Query Response Transformer translates a query response into a KML-formatted document. +The ((KML Query Response Transformer)) translates a query response into a KML-formatted document. The KML will contain an HTML description for each metacard that will display in the pop-up bubble in Google Earth. The HTML contains links to the full metadata view as well as the resource. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-style-mapper.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-style-mapper.adoc index 2f56386550b3..d5bf946aaae4 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-style-mapper.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/kml-style-mapper.adoc @@ -5,7 +5,7 @@ :link: _kml_style_mapper :summary: Maps a KML Style URL to a metacard based on that metacard's attributes. -The KML Style Mapper provides the ability for the `KMLTransformer` to map a KML Style URL to a metacard based on that metacard's attributes. +The ((KML Style Mapper)) provides the ability for the `KMLTransformer` to map a KML Style URL to a metacard based on that metacard's attributes. For example, if a user wanted all JPEGs to be blue, the KML Style Mapper provides the ability to do so. This would also allow an administrator to configure metacards from each source to be different colors. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/metadata-metacard-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/metadata-metacard-xformer.adoc index 7a228f21290b..09929832dcfa 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/metadata-metacard-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/metadata-metacard-xformer.adoc @@ -5,7 +5,7 @@ :link: _metadata_metacard_transformer :summary: returns the `Metacard.METADATA` attribute when given a metacard. -The Metadata Metacard Transformer returns the `Metacard.METADATA` attribute when given a metacard. +The ((Metadata Metacard Transformer)) returns the `Metacard.METADATA` attribute when given a metacard. The MIME Type returned is `text/xml`. ===== Installing the Metadata Metacard Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-mapper-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-mapper-intro.adoc index 279e0caf584e..e33746bbf432 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-mapper-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-mapper-intro.adoc @@ -4,7 +4,7 @@ :link: _mime_type_mapper_intro :summary: Resolves file extensions to mime types and vice versa. -The MimeTypeMapper is the entry point in ${branding} for resolving file extensions to mime types, and vice versa. +The ((Mime Type Mapper)) is the entry point in ${branding} for resolving file extensions to mime types, and vice versa. `MimeTypeMappers` are used by the `ResourceReader` to determine the file extension for a given mime type in aid of retrieving a resource. `MimeTypeMappers` are also used by the `FileSystemProvider` in the Catalog Framework to read a file from the content file repository. @@ -17,4 +17,4 @@ Similarly, the `MimeTypeMapper` accesses each `MimeTypeResolver` according to it If no mapping is found for the mime type, `null` is returned for the file extension. For files with no file extension, the MimeTypeMapper will attempt to determine the mime type from the contents of the file. -If it is unsuccessful, the file will be ingested as a binary file. \ No newline at end of file +If it is unsuccessful, the file will be ingested as a binary file. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-resolver-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-resolver-intro.adoc index e8eed8a50fc5..fed13f712342 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-resolver-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/mime-type-resolver-intro.adoc @@ -4,7 +4,7 @@ :link: _mime_type_resolver_intro :summary: Introduction to mime type resolvers. -A `MimeTypeResolver` is a ${branding} service that can map a file extension to its corresponding mime type and, conversely, can map a mime type to its file extension. +A ((Mime Type Resolver)) is a ${branding} service that can map a file extension to its corresponding mime type and, conversely, can map a mime type to its file extension. `MimeTypeResolvers` are assigned a priority (0-100, with the higher the number indicating the higher priority). This priority is used to sort all of the `MimeTypeResolvers` in the order they should be checked to map a file extension to a mime type (or vice versa). diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/pdf-input-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/pdf-input-xformer.adoc index 54667f8b0412..7e745f9ab727 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/pdf-input-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/pdf-input-xformer.adoc @@ -5,7 +5,7 @@ :link: _pdf_input_transformer :summary: Translates a PDF document into a Catalog Metacard. -The PDF Input Transformer is responsible for translating a PDF document into a Catalog Metacard. +The ((PDF Input Transformer)) is responsible for translating a PDF document into a Catalog Metacard. .{title} Usage [cols="1,2m" options="header"] diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/pptx-input-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/pptx-input-xformer.adoc index 3e7e47b697a2..7faa938dbdac 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/pptx-input-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/pptx-input-xformer.adoc @@ -5,7 +5,7 @@ :link: _pptx_input_transformer :summary: Translates Microsoft PowerPoint (OOXML only) documents into Catalog Metacards. -The PPTX Input Transformer translates Microsoft PowerPoint (OOXML only) documents into Catalog Metacards, using https://tika.apache.org/[Apache Tika] for basic metadata and https://poi.apache.org/[Apache POI] for thumbnail creation. +The ((PPTX Input Transformer)) translates ((Microsoft PowerPoint)) (OOXML only) documents into Catalog Metacards, using https://tika.apache.org/[Apache Tika] for basic metadata and https://poi.apache.org/[Apache POI] for thumbnail creation. The PPTX Input Transformer ingests PPTX documents into the ${branding} Content Repository and the Metadata Catalog, and adds a thumbnail of the first page in the PPTX document. The PPTX Input Transformer will take precedence over the Tika Input Transformer for PPTX documents. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/queryresp-xformer-consumer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/queryresp-xformer-consumer.adoc index ada1c51f7c4c..cd89a5a1fdf7 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/queryresp-xformer-consumer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/queryresp-xformer-consumer.adoc @@ -5,7 +5,7 @@ :link: _query_response_transformer_consumer :summary: Translates a query response into a Catalog Metacard. -The Query Response Transformer Consumer is responsible for translating a query response into a Catalog Metacard. +The ((Query Response Transformer Consumer)) is responsible for translating a query response into a Catalog Metacard. ===== Installing the Query Response Transformer Consumer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/resource-metacard-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/resource-metacard-xformer.adoc index 5e4e682b79fe..0e6d194958a9 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/resource-metacard-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/resource-metacard-xformer.adoc @@ -5,7 +5,7 @@ :link: _resource_metacard_transformer :summary: Retrieves the resource bytes of a metacard by returning the resource associated with the metacard. -The Resource Metacard Transformer retrieves a resource associated with a metacard. +The ((Resource Metacard Transformer)) retrieves a resource associated with a metacard. ===== Installing the Resource Metacard Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/thumbnail-metacard-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/thumbnail-metacard-xformer.adoc index 8b8b31da86cd..7184770e5de1 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/thumbnail-metacard-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/thumbnail-metacard-xformer.adoc @@ -5,7 +5,7 @@ :link: _thumbnail_metacard_transformer :summary: Retrieves the thumbnail bytes of a Metacard by returning the `Metacard.THUMBNAIL` attribute value. -The Thumbnail Metacard Transformer retrieves the thumbnail bytes of a Metacard by returning the `Metacard.THUMBNAIL` attribute value. +The ((Thumbnail Metacard Transformer)) retrieves the thumbnail bytes of a Metacard by returning the `Metacard.THUMBNAIL` attribute value. ===== Installing the Thumbnail Metacard Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-input-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-input-xformer.adoc index 47cb28660770..8836e68a34e9 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-input-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-input-xformer.adoc @@ -5,7 +5,7 @@ :link: _tika_input_transformer :summary: Translates Microsoft Word, Microsoft Excel, Microsoft PowerPoint, OpenOffice Writer, and PDF documents into Catalog records. -The Tika Input Transformer is the default input transformer responsible for translating Microsoft Word, Microsoft Excel, Microsoft PowerPoint, OpenOffice Writer, and PDF documents into Catalog records. +The ((Tika Input Transformer)) is the default input transformer responsible for translating Microsoft Word, Microsoft Excel, Microsoft PowerPoint, OpenOffice Writer, and PDF documents into Catalog records. This input transformer utilizes https://tika.apache.org[Apache Tika] to provide basic support for these mime types. The metadata common to all these document types, e.g., creation date, author, last modified date, etc., is extracted and used to create the catalog record. The Tika Input Transformer's main purpose is to ingest these types of content into the Metadata Catalog. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-mime-type-resolver.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-mime-type-resolver.adoc index 8f86e5ac82d5..5f62f03e8f2a 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-mime-type-resolver.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/tika-mime-type-resolver.adoc @@ -4,6 +4,7 @@ :link: _tika_mime_type_resolver :summary: Provides support for resolving over 1300 mime types. +((({title}))) The `TikaMimeTypeResolver` is a `MimeTypeResolver` that is implemented using the https://tika.apache.org[Apache Tika] open source product. Using the Apache Tika content analysis toolkit, the `TikaMimeTypeResolver` provides support for resolving over 1300 mime types, but not all mime types yield the same quality metadata. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/video-input-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/video-input-xformer.adoc index 77d825f6e23a..94774f30a949 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/video-input-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/video-input-xformer.adoc @@ -5,7 +5,7 @@ :link: _video_input_transformer :summary: Creates Catalog metacards from certain video file types. -The video input transformer Creates Catalog metacards from certain video file types. +The ((Video Input transformer)) Creates Catalog metacards from certain video file types. Currently, it is handles MPEG-2 transport streams as well as MPEG-4, AVI, MOV, and WMV videos. This input transformer uses https://tika.apache.org[Apache Tika] to extract basic metadata from the video files and applies more sophisticated methods to extract more meaningful metadata from these types of video. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/xformers-intro.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/xformers-intro.adoc index db9b08b9d2c5..1d5cac5b8e8e 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/xformers-intro.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/xformers-intro.adoc @@ -28,7 +28,7 @@ +------------------------------------------------------------+ .... -Transformers transform data to and from various formats. +((Transformers)) transform data to and from various formats. Transformers are categorized by when they are invoked and used. The <<{architecture-prefix}types_of_transformers,existing types>> are <<{architecture-prefix}available_input_transformers,Input transformers>>, <<{architecture-prefix}available_metacard_transformers,Metacard transformers>>, and <<{architecture-prefix}available_query_response_transformers,Query Response transformers>>. Additionally, XSLT transformers are provided to aid in developing custom, lightweight Metacard and Query Response transformers. diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-input-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-input-xformer.adoc index c6e34f9907cb..18ed20f677a6 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-input-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-input-xformer.adoc @@ -5,7 +5,7 @@ :link: {developing-prefix}xml_input_transformer :summary: Translates an XML document into a Catalog Metacard. -The XML Input Transformer is responsible for translating an XML document into a Catalog Metacard. +The ((XML Input Transformer)) is responsible for translating an XML document into a Catalog Metacard. .{title} Usage [cols="1,2m" options="header"] diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-metacard-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-metacard-xformer.adoc index dd3f9b65be5e..89da1dfbbd80 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-metacard-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-metacard-xformer.adoc @@ -5,7 +5,7 @@ :link: _xml_metacard_transformer :summary: Translates a metacard into an XML-formatted document. -The XML metacard transformer is responsible for translating a metacard into an XML-formatted document. +The ((XML metacard transformer)) is responsible for translating a metacard into an XML-formatted document. The metacard element that is generated is an extension of `gml:AbstractFeatureType`, which makes the output of this transformer GML 3.1.1 compatible. ===== Installing the XML Metacard Transformer diff --git a/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-queryresp-xformer.adoc b/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-queryresp-xformer.adoc index a892466ff475..870c39a357ca 100644 --- a/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-queryresp-xformer.adoc +++ b/distribution/docs/src/main/resources/content/_architectures/_transformers/xml-queryresp-xformer.adoc @@ -5,7 +5,7 @@ :link: _xml_query_response_transformer :summary: Translates a query response into an XML-formatted document. -The XML Query Response Transformer is responsible for translating a query response into an XML-formatted document. +The ((XML Query Response Transformer)) is responsible for translating a query response into an XML-formatted document. The metacard element generated is an extension of `gml:AbstractFeatureCollectionType`, which makes the output of this transformer http://www.opengeospatial.org/projects/groups/gmldwg[GML 3.1.1] compatible. ===== Installing the XML Query Response Transformer diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-injection.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-injection.adoc index 6a20bf145bd2..0f27cbe018a4 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-injection.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-injection.adoc @@ -5,7 +5,7 @@ :summary: Creating a custom attribute injection. :order: 05 -Attribute injections are defined attributes that will be injected into all metacard types or into specific metacard types. This capability allows metacard types to be extended with new attributes. +((Attribute injections)) are defined attributes that will be injected into all metacard types or into specific metacard types. This capability allows metacard types to be extended with new attributes. ==== Attribute Injection Definition diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-type.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-type.adoc index 135f75c44309..f4f183698e0a 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-type.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/attribute-type.adoc @@ -7,7 +7,8 @@ Create custom attribute types with Attribute Type definition files. -==== Attribute Type Definition File +== Attribute Type Definition File +(((Attribute Type Definition File))) To define Attribute Types, the definition file must have an `attributeTypes` key in the root object. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-action-components.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-action-components.adoc index 53946f1d732a..fe5ce3bbedf6 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-action-components.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-action-components.adoc @@ -5,14 +5,14 @@ :order: 19 :summary: Creating a custom Action Component. -To provide a service, such as a link to a metacard, the `ActionProvider` interface should be implemented. -An `ActionProvider` essentially provides a List of `Actions` when given input that it can recognize and handle. -For instance, if a REST endpoint ActionProvider was given a metacard, it could provide a link based on the metacard's ID.  +To provide a service, such as a link to a metacard, the `ActionProvider` interface should be implemented. +An `ActionProvider` essentially provides a List of `Actions` when given input that it can recognize and handle. +For instance, if a REST endpoint ActionProvider was given a metacard, it could provide a link based on the metacard's ID. An Action Provider performs an action when given a subject that it understands. -If it does not understand the subject or does not know how to handle the given input, it will return `Collections.emptyList()`. +If it does not understand the subject or does not know how to handle the given input, it will return `Collections.emptyList()`. An Action Provider is required to have an ActionProvider id. -The Action Provider must register itself in the OSGi Service Registry with the `${ddf-branding-lowercase}.action.ActionProvider` interface and must also have a service property value for `id`.  -An action is a URL that, when invoked, provides a resource or executes intended business logic.  +The Action Provider must register itself in the OSGi Service Registry with the `${ddf-branding-lowercase}.action.ActionProvider` interface and must also have a service property value for `id`. +An action is a URL that, when invoked, provides a resource or executes intended business logic. ==== Action Component Naming Convention @@ -22,14 +22,14 @@ The verb 'Export' or the expression 'Export as' is recommended when the metacard ===== Action Component Taxonomy -An Action Provider registers an `id` as a service property in the OGSi Service Registry based on the type of service or action that is provided. -Regardless of implementation, if more than one Action Provider provides the same service, such as providing a URL to a thumbnail for a given metacard, they must both register under the same `id`. -Therefore, Action Provider implementers must follow an Action Taxonomy.  +An Action Provider registers an `id` as a service property in the OGSi Service Registry based on the type of service or action that is provided. +Regardless of implementation, if more than one Action Provider provides the same service, such as providing a URL to a thumbnail for a given metacard, they must both register under the same `id`. +Therefore, Action Provider implementers must follow an Action Taxonomy. -The following is a sample taxonomy:  +The following is a sample taxonomy: -. `catalog.data.metacard` shall be the grouping that represents Actions on a Catalog metacard. +. `catalog.data.metacard` shall be the grouping that represents Actions on a Catalog metacard. .. `catalog.data.metacard.view` .. `catalog.data.metacard.thumbnail` .. `catalog.data.metacard.html` diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-catalog-frameworks.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-catalog-frameworks.adoc index b962803a702a..cc1768254a61 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-catalog-frameworks.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-catalog-frameworks.adoc @@ -9,24 +9,24 @@ ${branding} and the underlying OSGi technology can serve as a robust infrastruct ==== Simple Catalog API Implementations -The Catalog API implementations, which are denoted with the suffix of `Impl` on the Java file names, have multiple purposes and uses: +The ((Catalog API implementations)), which are denoted with the suffix of `Impl` on the Java file names, have multiple purposes and uses: -* First, they provide a good starting point for other developers to extend functionality in the framework. For instance, extending the `MetacardImpl` allows developers to focus less on the inner workings of ${branding} and more on the developer's intended purposes and objectives.  +* First, they provide a good starting point for other developers to extend functionality in the framework. For instance, extending the `MetacardImpl` allows developers to focus less on the inner workings of ${branding} and more on the developer's intended purposes and objectives. -* Second, the Catalog API Implementations display the proper usage of an interface and an interface's intentions. Also, they are good code examples for future implementations. If a developer does not want to extend the simple implementations, the developer can at least have a working code reference on which to base future development. +* Second, the Catalog API Implementations display the proper usage of an interface and an interface's intentions. Also, they are good code examples for future implementations. If a developer does not want to extend the simple implementations, the developer can at least have a working code reference on which to base future development. ==== Use of the Whiteboard Design Pattern The ${ddf-catalog} makes extensive use of the Whiteboard Design Pattern. -Catalog Components are registered as services in the OSGi Service Registry, and the Catalog Framework or any other clients tracking the OSGi Service Registry are automatically notified by the OSGi Framework of additions and removals of relevant services. +Catalog Components are registered as services in the OSGi Service Registry, and the Catalog Framework or any other clients tracking the OSGi Service Registry are automatically notified by the OSGi Framework of additions and removals of relevant services. -The Whiteboard Design Pattern is a common OSGi technique that is derived from a technical whitepaper provided by the OSGi Alliance in 2004. +The Whiteboard Design Pattern is a common OSGi technique that is derived from a technical whitepaper provided by the OSGi Alliance in 2004. It is recommended to use the Whiteboard pattern over the Listener pattern in OSGi because it provides less complexity in code (both on the client and server sides), fewer deadlock possibilities than the Listener pattern, and closely models the intended usage of the OSGi framework. ==== Recommendations for Framework Development * Provide extensibility similar to that of the ${ddf-catalog}. -** Provide a stable API with interfaces and simple implementations (refer to `http://www.ibm.com/developerworks/websphere/techjournal/1007_charters/1007_charters.html`). +** Provide a stable API with interfaces and simple implementations (refer to `http://www.ibm.com/developerworks/websphere/techjournal/1007_charters/1007_charters.html`). * Make use of the ${ddf-catalog} wherever possible to store, search, and transform information. * Utilize OSGi standards wherever possible. ** ConfigurationAdmin @@ -52,7 +52,7 @@ The `CatalogFramework` provides convenient methods to transform `Metacards` and ====== Create, Update, and Delete Methods -Create, Update, and Delete (CUD) methods add, change, or remove stored metadata in the local Catalog Provider. +Create, Update, and Delete (CUD) methods add, change, or remove stored metadata in the local Catalog Provider. .Example Create, Update, Delete Methods [source,java,linenums] @@ -62,12 +62,12 @@ public UpdateResponse update(UpdateRequest updateRequest) throws IngestException public DeleteResponse delete(DeleteRequest deleteRequest) throws IngestException, SourceUnavailableException; ---- -CUD operations process `PolicyPlugin`, `AccessPlugin`, and `PreIngestPlugin` instances before execution and `PostIngestPlugin` instances after execution. +CUD operations process `PolicyPlugin`, `AccessPlugin`, and `PreIngestPlugin` instances before execution and `PostIngestPlugin` instances after execution. ====== Query Methods -Query methods search metadata from available Sources based on the `QueryRequest` properties and Federation Strategy. -Sources could include Catalog Provider, Connected Sources, and Federated Sources. +Query methods search metadata from available Sources based on the `QueryRequest` properties and Federation Strategy. +Sources could include Catalog Provider, Connected Sources, and Federated Sources. .Example Query Methods [source,java,linenums] @@ -75,11 +75,11 @@ Sources could include Catalog Provider, Connected Sources, and Federated Sour public QueryResponse query(QueryRequest query) throws UnsupportedQueryException,SourceUnavailableException, FederationException; public QueryResponse query(QueryRequest queryRequest, FederationStrategy strategy) throws SourceUnavailableException, UnsupportedQueryException, FederationException; ---- -Query requests process  `PolicyPlugin`, `AccessPlugin`, and `PreQueryPlugin` instances before execution and  `PolicyPlugin`, `AccessPlugin`, and `PostQueryPlugin` instances after execution. +Query requests process `PolicyPlugin`, `AccessPlugin`, and `PreQueryPlugin` instances before execution and `PolicyPlugin`, `AccessPlugin`, and `PostQueryPlugin` instances after execution. ====== Resource Methods -Resource methods retrieve data resources from Sources. +Resource methods retrieve data resources from Sources. .Example Resource Methods [source,java,linenums] @@ -88,11 +88,11 @@ public ResourceResponse getEnterpriseResource(ResourceRequest request) throwsIOE public ResourceResponse getLocalResource(ResourceRequest request) throws IOException, ResourceNotFoundException, ResourceNotSupportedException; public ResourceResponse getResource(ResourceRequest request, String resourceSiteName) throws IOException, ResourceNotFoundException, ResourceNotSupportedException; ---- -Resource requests process ``PreResourcePlugin``s before execution and ``PostResourcePlugin``s after execution. +Resource requests process ``PreResourcePlugin``s before execution and ``PostResourcePlugin``s after execution. ====== Source Methods -Source methods can get a list of Source identifiers or request descriptions about Sources. +Source methods can get a list of Source identifiers or request descriptions about Sources. .Example Source Methods [source,java,linenums] @@ -103,7 +103,7 @@ public SourceInfoResponse getSourceInfo(SourceInfoRequest sourceInfoRequest) thr ====== Transform Methods -Transform methods provide convenience methods for using Metacard Transformers and Query Response Transformers. +Transform methods provide convenience methods for using Metacard Transformers and Query Response Transformers. .Transform Methods [source,java,linenums] diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-endpoints.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-endpoints.adoc index 7c31310d2614..9078c3100cd6 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-endpoints.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-endpoints.adoc @@ -6,7 +6,7 @@ :implements: https://www.w3.org/2001/sw/wiki/REST[REST specification] {external-link}. :order: 06 -Custom endpoints can be created, if necessary. +((Custom endpoints)) can be created, if necessary. See <<{integrating-prefix}endpoint_details,Endpoints>> for descriptions of provided endpoints. Complete the following procedure to create an endpoint.  diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-filters.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-filters.adoc index 003f7066dd8d..8839decb9a5a 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-filters.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-filters.adoc @@ -5,8 +5,8 @@ :order: 17 :summary: Creating a custom Filter. -The common way to create a `Filter` is to use the GeoTools `FilterFactoryImpl` object, which provides Java implementations for the various types of filters in the Filter Specification. -Examples are the easiest way to understand how to properly create a `Filter` and a `Query`.  +The common way to create a ((Filter)) is to use the GeoTools `FilterFactoryImpl` object, which provides Java implementations for the various types of filters in the Filter Specification. +Examples are the easiest way to understand how to properly create a `Filter` and a `Query`. [NOTE] ==== @@ -19,8 +19,8 @@ Implementing the Filter interface directly is only for extremely advanced use ca Instead, use of the ${branding}-specific `FilterBuilder` API is recommended. ==== -Developers create a `Filter` object in order to filter or constrain the amount of records returned from a `Source`. -The OGC Filter Specification has several types of filters that can be combined in a tree-like structure to describe the set of metacards that should be returned.  +Developers create a `Filter` object in order to filter or constrain the amount of records returned from a `Source`. +The OGC Filter Specification has several types of filters that can be combined in a tree-like structure to describe the set of metacards that should be returned. .Categories of Filters * Comparison Operators @@ -31,23 +31,23 @@ The OGC Filter Specification has several types of filters that can be combined i * Spatial Operators * Temporal Operators -==== Units of Measure +== Units of Measure According to the http://www.opengeospatial.org/standards/filter[OGC Filter Specifications: 09-026r1] {external-link} and http://www.opengeospatial.org/standards/filter[OGC Filter Specifications: 04-095] {external-link}, units of measure can be expressed as a URI. -To fulfill that requirement, ${branding} utilizes the GeoTools class `org.geotools.styling.UomOgcMapping` for spatial filters requiring a standard for units of measure for scalar distances. -Essentially, the `UomOgcMapping` maps the http://www.opengeospatial.org/standards/symbol[OGC Symbology Encoding] {external-link} standard URIs to Java Units. -This class provides three options for units of measure:  +To fulfill that requirement, ${branding} utilizes the GeoTools class `org.geotools.styling.UomOgcMapping` for spatial filters requiring a standard for units of measure for scalar distances. +Essentially, the `UomOgcMapping` maps the http://www.opengeospatial.org/standards/symbol[OGC Symbology Encoding] {external-link} standard URIs to Java Units. +This class provides three options for units of measure: * FOOT * METRE * PIXEL -${branding} only supports FOOT and METRE since they are the most applicable to scalar distances. +${branding} only supports FOOT and METRE since they are the most applicable to scalar distances. -==== Filter Examples +== Filter Examples The example below illustrates creating a query, and thus an OGC Filter, that does a case-insensitive search for the phrase "mission" in the entire metacard's text. -Note that the OGC `PropertyIsLike` Filter is used for this simple contextual query. +Note that the OGC `PropertyIsLike` Filter is used for this simple contextual query. .Simple Contextual Search [source,java,linenums] @@ -67,7 +67,7 @@ ${ddf-branding}.catalog.operation.QueryImpl query = new QueryImpl( propertyIsLik ---- The example below illustrates creating an absolute temporal query, meaning the query is searching for Metacards whose modified timestamp occurred during a specific time range. -Note that this query uses the `During` OGC Filter for an absolute temporal query. +Note that this query uses the `During` OGC Filter for an absolute temporal query. .Absolute Temporal Search [source,java,linenums] @@ -86,9 +86,9 @@ org.opengis.filter.Filter filter = filterFactory.during( filterFactory.property( ${ddf-branding}.catalog.operation.QueryImpl query = new QueryImpl(filter) ; ---- -===== Contextual Searches +=== Contextual Searches -Most contextual searches can be expressed using the `PropertyIsLike` filter. The special characters that have meaning in a `PropertyIsLike` filter are the wildcard, single wildcard, and escape characters (see Example Creating-Filters-1). +Most contextual searches can be expressed using the `PropertyIsLike` filter. The special characters that have meaning in a `PropertyIsLike` filter are the wildcard, single wildcard, and escape characters (see Example Creating-Filters-1). .`PropertyIsLike` Special Characters [cols="2*", options="header"] @@ -106,7 +106,7 @@ Most contextual searches can be expressed using the `PropertyIsLike` filter. T |Escapes the meaning of the Wildcard, Single Wildcard, and the Escape character itself |=== -Characters and words, such as `AND`, `&`, `and`, `OR`, `|`, `or`, `NOT`, `~`, `not`, `{`, and `}`, are treated as literals in a `PropertyIsLike` filter. In order to create equivalent logical queries, a developer must instead use the Logical Operator filters {`AND`, `OR`, `NOT`}. The Logical Operator filters can be combined together with `PropertyIsLike` filters to create a tree that represents the search phrase expression.  +Characters and words, such as `AND`, `&`, `and`, `OR`, `|`, `or`, `NOT`, `~`, `not`, `{`, and `}`, are treated as literals in a `PropertyIsLike` filter. In order to create equivalent logical queries, a developer must instead use the Logical Operator filters {`AND`, `OR`, `NOT`}. The Logical Operator filters can be combined together with `PropertyIsLike` filters to create a tree that represents the search phrase expression. .Creating the search phrase "mission and planning" [source,java,linenums] @@ -130,9 +130,9 @@ wildcardChar, singleChar, escapeChar, isCaseSensitive) ${ddf-branding}.catalog.operation.QueryImpl query = new QueryImpl( filter ); ---- -====== Tree View of Creating Filters  +==== Tree View of Creating Filters -Filters used in ${branding} can always be represented in a tree diagram. +Filters used in ${branding} can always be represented in a tree diagram. .Filter Example Tree Diagram [ditaa,filter-example-tree, png,600] @@ -151,7 +151,7 @@ Filters used in ${branding} can always be represented in a tree diagram. \--------------------/ .... -====== XML View of Creating Filters +==== XML View of Creating Filters Another way to view this type of Filter is through an XML model, which is shown below. @@ -172,13 +172,13 @@ Another way to view this type of Filter is through an XML model, which is shown ---- -Using the Logical Operators and `PropertyIsLike` filters, a developer can create a whole language of search phrase expressions. +Using the Logical Operators and `PropertyIsLike` filters, a developer can create a whole language of search phrase expressions. -===== Fuzzy Operations +=== Fuzzy Operations -${branding} only supports one custom function. +${branding} only supports one custom function. The Filter specification does not include a fuzzy operator, so a Filter function was created to represent a fuzzy operation. -The function and class is called `FuzzyFunction`, which is used by clients to notify the Sources to perform a fuzzy search. +The function and class is called `FuzzyFunction`, which is used by clients to notify the Sources to perform a fuzzy search. The syntax expected by providers is similar to the Fuzzy Function. Refer to the example below. @@ -203,27 +203,27 @@ Filter fuzzyFilter = filterFactory.like( QueryImpl query = new QueryImpl(fuzzyFilter); ---- -==== Parsing Filters +== Parsing Filters According to the http://www.opengeospatial.org/standards/filter[OGC Filter Specification 04-095] {external-link}: a "(filter expression) representation can be ... parsed and then transformed into whatever target language is required to retrieve or modify object instances stored in some persistent object store." -Filters can be thought of as the `WHERE` clause for a SQL SELECT statement to "fetch data stored in a SQL-based relational database."  +Filters can be thought of as the `WHERE` clause for a SQL SELECT statement to "fetch data stored in a SQL-based relational database." -Sources can parse OGC Filters using the `FilterAdapter` and `FilterDelegate`. -See Developing a Filter Delegate for more details on implementing a new `FilterDelegate`. +Sources can parse OGC Filters using the `FilterAdapter` and `FilterDelegate`. +See Developing a Filter Delegate for more details on implementing a new `FilterDelegate`. This is the preferred way to handle OGC Filters in a consistent manner. -Alternately, `org.opengis.filter.Filter` implementations can be parsed using implementations of the interface `org.opengis.filter.FilterVisitor`.  -The `FilterVisitor` uses the http://www.oodesign.com/visitor-pattern.html[Visitor pattern] {external-link}. Essentially, `FilterVisitor` instances "visit" each part of the `Filter` tree allowing developers to implement logic to handle the filter's operations.  -GeoTools 8 includes implementations of the `FilterVisitor` interface. -The `DefaultFilterVisitor`, as an example, provides only business logic to visit every node in the `Filter` tree. -The `DefaultFilterVisitor` methods are meant to be overwritten with the correct business logic.  -The simplest approach when using `FilterVisitor` instances is to build the appropriate query syntax for a target language as each part of the `Filter` is visited. -For instance, when given an incoming `Filter` object to be evaluated against a RDBMS, a `CatalogProvider` instance could use a `FilterVisitor` to interpret each filter operation on the `Filter` object and translate those operations into SQL. -The `FilterVisitor` may be needed to support `Filter` functionality not currently handled by the `FilterAdapter` and `FilterDelegate` reference implementation. +Alternately, `org.opengis.filter.Filter` implementations can be parsed using implementations of the interface `org.opengis.filter.FilterVisitor`. +The `FilterVisitor` uses the http://www.oodesign.com/visitor-pattern.html[Visitor pattern] {external-link}. Essentially, `FilterVisitor` instances "visit" each part of the `Filter` tree allowing developers to implement logic to handle the filter's operations. +GeoTools 8 includes implementations of the `FilterVisitor` interface. +The `DefaultFilterVisitor`, as an example, provides only business logic to visit every node in the `Filter` tree. +The `DefaultFilterVisitor` methods are meant to be overwritten with the correct business logic. +The simplest approach when using `FilterVisitor` instances is to build the appropriate query syntax for a target language as each part of the `Filter` is visited. +For instance, when given an incoming `Filter` object to be evaluated against a RDBMS, a `CatalogProvider` instance could use a `FilterVisitor` to interpret each filter operation on the `Filter` object and translate those operations into SQL. +The `FilterVisitor` may be needed to support `Filter` functionality not currently handled by the `FilterAdapter` and `FilterDelegate` reference implementation. -===== Interpreting a Filter to Create SQL +=== Interpreting a Filter to Create SQL -If the `FilterAdapter` encountered or "visited" a `PropertyIsLike` filter with its property assigned as `title` and its literal expression assigned as `mission`, the `FilterDelegate` could create the proper SQL syntax similar to title `LIKE` mission. +If the `FilterAdapter` encountered or "visited" a `PropertyIsLike` filter with its property assigned as `title` and its literal expression assigned as `mission`, the `FilterDelegate` could create the proper SQL syntax similar to title `LIKE` mission. .Parsing Filters Tree Diagram [ditaa,parsing-filters,png] @@ -243,9 +243,9 @@ If the `FilterAdapter` encountered or "visited" a `PropertyIsLike` filter wi \-------------------------/ .... -===== Interpreting a Filter to Create XQuery +=== Interpreting a Filter to Create XQuery -If the `FilterAdapter` encountered an `OR` filter, such as in Figure Parsing-Filters2 and the target language was XQuery, the `FilterDelegate` could yield an expression such as  +If the `FilterAdapter` encountered an `OR` filter, such as in Figure Parsing-Filters2 and the target language was XQuery, the `FilterDelegate` could yield an expression such as [source] ---- @@ -279,29 +279,29 @@ ft:query(//inventory:book/@subject,'science'). .... -====== FilterAdapter/Delegate Process for Figure Parsing +==== FilterAdapter/Delegate Process for Figure Parsing -. `FilterAdapter` visits the `OR` filter first. -. `OR` filter visits its children in a loop.  -. The first child in the loop that is encountered is the LHS `PropertyIsLike`. -. The `FilterAdapter` will call the `FilterDelegate` `PropertyIsLike` method with the LHS property and literal. -. The LHS `PropertyIsLike` delegate method builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject` Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. -. The `FilterAdapter` then moves back to the `OR` filter, which visits its second child. -. The `FilterAdapter` will call the `FilterDelegate` `PropertyIsLike` method with the RHS property and literal. -. The RHS `PropertyIsLike` delegate method builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject` Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. -. The `FilterAdapter` then moves back to its `OR` Filter which is now done with its children. -. It then collects the output of each child and sends the list of results to the `FilterDelegate OR` method. -. The final result object will be returned from the `FilterAdapter` adapt method. +. `FilterAdapter` visits the `OR` filter first. +. `OR` filter visits its children in a loop. +. The first child in the loop that is encountered is the LHS `PropertyIsLike`. +. The `FilterAdapter` will call the `FilterDelegate` `PropertyIsLike` method with the LHS property and literal. +. The LHS `PropertyIsLike` delegate method builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject` Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. +. The `FilterAdapter` then moves back to the `OR` filter, which visits its second child. +. The `FilterAdapter` will call the `FilterDelegate` `PropertyIsLike` method with the RHS property and literal. +. The RHS `PropertyIsLike` delegate method builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject` Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. +. The `FilterAdapter` then moves back to its `OR` Filter which is now done with its children. +. It then collects the output of each child and sends the list of results to the `FilterDelegate OR` method. +. The final result object will be returned from the `FilterAdapter` adapt method. -====== FilterVisitor Process for Figure Parsing +==== FilterVisitor Process for Figure Parsing -. FilterVisitor visits the `OR` filter first. -. `OR` filter visits its children in a loop.  -. The first child in the loop that is encountered is the LHS `PropertyIsLike`. -. The LHS `PropertyIsLike` builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject`. Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. -. The FilterVisitor then moves back to the `OR` filter, which visits its second child. -. The RHS `PropertyIsLike` builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject`. Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. -. The FilterVisitor then moves back to its `OR` filter, which is now done with its children. It then collects the output of each child and could potentially execute the following code to produce the above expression. +. FilterVisitor visits the `OR` filter first. +. `OR` filter visits its children in a loop. +. The first child in the loop that is encountered is the LHS `PropertyIsLike`. +. The LHS `PropertyIsLike` builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject`. Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. +. The FilterVisitor then moves back to the `OR` filter, which visits its second child. +. The RHS `PropertyIsLike` builds the XQuery syntax that makes sense for this particular underlying object store. In this case, the _subject_ property is specific to this XML database, and the business logic maps the _subject_ property to its index at `//inventory:book/@subject`. Note that `ft:query` in this instance is a custom XQuery module for this specific XML database that does full text searches. +. The FilterVisitor then moves back to its `OR` filter, which is now done with its children. It then collects the output of each child and could potentially execute the following code to produce the above expression. [source,java,linenums] ---- @@ -313,11 +313,11 @@ public visit( Or filter, Object data) { } ---- -==== Filter Profile +== Filter Profile The filter profile maps filters to metacard types. -===== Role of the OGC Filter +=== Role of the OGC Filter Both Queries and Subscriptions extend the OGC GeoAPI Filter interface. @@ -325,7 +325,7 @@ The Filter Builder and Adapter do not fully implement the OGC Filter Specificati The filter support profile contains suggested filter to metacard type mappings. For example, even though a Source could support a `PropertyIsGreaterThan` filter on `XML_TYPE`, it would not likely be useful. -===== Catalog Filter Profile +=== Catalog Filter Profile The following table displays the common metacard attributes with their respective types for reference. @@ -389,11 +389,11 @@ The following table displays the common metacard attributes with their respectiv |=== -====== Comparison Operators +==== Comparison Operators Comparison operators compare the value associated with a property name with a given Literal value. Endpoints and sources should try to use metacard types other than the object type. -The object type only supports backwards compatibility with `java.net.URI`.   +The object type only supports backwards compatibility with `java.net.URI`. Endpoints that send other objects will not be supported by standard sources. The following table maps the metacard types to supported comparison operators. @@ -479,7 +479,7 @@ The following table maps the metacard types to supported comparison operators. |*X* |*X* -  + |GEO_TYPE | @@ -571,7 +571,7 @@ The following table maps the metacard types to supported comparison operators. |*X* | |*X* -  + |=== .Comparison Operators @@ -602,7 +602,7 @@ The following table maps the metacard types to supported comparison operators. |PropertyIsLike |Property LIKE Literal -Equivalent to SQL "like"  +Equivalent to SQL "like" |PropertyIsNotEqualTo |Property != Literal @@ -612,7 +612,7 @@ Equivalent to SQL "like"  |=== -====== Logical Operators +==== Logical Operators Logical operators apply Boolean logic to one or more child filters. @@ -632,7 +632,7 @@ Logical operators apply Boolean logic to one or more child filters. |=== -====== Temporal Operators +==== Temporal Operators Temporal operators compare a date associated with a property name to a given Literal date or date range. @@ -687,9 +687,9 @@ Literal values can be either date instants or date periods. |=== -====== Spatial Operators +==== Spatial Operators -Spatial operators compare a geometry associated with a property name to a given Literal geometry.  +Spatial operators compare a geometry associated with a property name to a given Literal geometry. .Supported Spatial Operators. [cols="11*", options="headers"] @@ -746,7 +746,7 @@ Geometries are usually represented as Well-Known Text (_WKT_). |Property geometry lies within distance to Literal geometry |Intersects -|Property geometry intersects Literal geometry; opposite to the Disjoint operator  +|Property geometry intersects Literal geometry; opposite to the Disjoint operator |Overlaps |Property geometry interior overlaps Literal geometry interior somewhere diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-plugins.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-plugins.adoc index c20a1b526c3f..3d2733bf855a 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-plugins.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-plugins.adoc @@ -5,9 +5,9 @@ :summary: Creating a custom catalog plugin. :order: 11 -Plugins extend the functionality of the Catalog Framework by performing actions at specified times during a transaction.  +((Catalog Plugins)) extend the functionality of the Catalog Framework by performing actions at specified times during a transaction. Plugin interfaces are located in the Catalog Core API. -By implementing a plugin interface, actions can be performed at the desired time.  +By implementing a plugin interface, actions can be performed at the desired time. The following types of plugins can be created: @@ -101,7 +101,7 @@ The procedure for implementing any of the plugins follows a similar format: .. Register the plugin class as a service to OSGi registry. -. Deploy to ${branding}. +. Deploy to ${branding}. .Plugin Performance Concerns [NOTE] @@ -125,7 +125,7 @@ For any other exceptions, the Catalog should "fail fast" and cancel the Operatio Develop a custom Pre-Ingest Plugin. -. Create a Java class that implements `PreIngestPlugin`. + +. Create a Java class that implements `PreIngestPlugin`. + `public class SamplePreIngestPlugin implements ddf.catalog.plugin.PreIngestPlugin` + . Implement the required methods. + @@ -133,7 +133,7 @@ Develop a custom Pre-Ingest Plugin. * `public UpdateRequest process(UpdateRequest input) throws PluginExecutionException, StopProcessingException;` * `public DeleteRequest process(DeleteRequest input) throws PluginExecutionException, StopProcessingException;` + -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin` + . Export the service to the OSGi registry. + @@ -144,7 +144,7 @@ Develop a custom Pre-Ingest Plugin. Develop a custom Post-Ingest Plugin. -. Create a Java class that implements `PostIngestPlugin`. + +. Create a Java class that implements `PostIngestPlugin`. + `public class SamplePostIngestPlugin implements ddf.catalog.plugin.PostIngestPlugin` . Implement the required methods. + @@ -152,7 +152,7 @@ Develop a custom Post-Ingest Plugin. * `public UpdateResponse process(UpdateResponse input) *throws* PluginExecutionException;` * `public DeleteResponse process(DeleteResponse input) *throws* PluginExecutionException;` -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin` . Export the service to the OSGi registry. + @@ -163,12 +163,12 @@ Develop a custom Post-Ingest Plugin. Develop a custom Pre-Query Plugin -. Create a Java class that implements `PreQueryPlugin`. + +. Create a Java class that implements `PreQueryPlugin`. + `public class SamplePreQueryPlugin implements ddf.catalog.plugin.PreQueryPlugin` . Implement the required method. + `public QueryRequest process(QueryRequest input) *throws* PluginExecutionException, StopProcessingException;` -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin` . Export the service to the OSGi registry. + @@ -178,13 +178,13 @@ Develop a custom Pre-Query Plugin Develop a custom Post-Query Plugin -. Create a Java class that implements `PostQueryPlugin`. + +. Create a Java class that implements `PostQueryPlugin`. + `public class SamplePostQueryPlugin implements ddf.catalog.plugin.PostQueryPlugin` . Implement the required method. + `public QueryResponse process(QueryResponse input) *throws* PluginExecutionException, StopProcessingException;` -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin` . Export the service to the OSGi registry. + @@ -194,7 +194,7 @@ Develop a custom Post-Query Plugin Develop a custom Pre-Delivery Plugin. -. Create a Java class that implements `PreDeliveryPlugin`. + +. Create a Java class that implements `PreDeliveryPlugin`. + `public class SamplePreDeliveryPlugin *implements* ddf.catalog.plugin.PreDeliveryPlugin` . Implement the required methods. + @@ -204,7 +204,7 @@ StopProcessingException;` * `public Update processUpdateHit(Update update) *throws* PluginExecutionException, StopProcessingException;` * `public Metacard processCreate(Metacard metacard) *throws* PluginExecutionException, StopProcessingException;` -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin,ddf.catalog.operation,ddf.catalog.event` . Export the service to the OSGi registry. + @@ -215,7 +215,7 @@ StopProcessingException;` Develop a custom Pre-Subscription Plugin. -. Create a Java class that implements `PreSubscriptionPlugin`. + +. Create a Java class that implements `PreSubscriptionPlugin`. + `public class SamplePreSubscriptionPlugin *implements* ddf.catalog.plugin.PreSubscriptionPlugin` . Implement the required method. @@ -225,13 +225,13 @@ Develop a custom Pre-Subscription Plugin. Develop a custom Pre-Resource Plugin. -. Create a Java class that implements `PreResourcePlugin`. +. Create a Java class that implements `PreResourcePlugin`. `public class SamplePreResourcePlugin *implements* ddf.catalog.plugin.PreResourcePlugin` . Implement the required method. + * `public ResourceRequest process(ResourceRequest input) *throws* PluginExecutionException, StopProcessingException;` -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin,ddf.catalog.operation` . Export the service to the OSGi registry. @@ -245,13 +245,13 @@ Develop a custom Pre-Resource Plugin. Develop a custom Post-Resource Plugin. -. Create a Java class that implements `PostResourcePlugin`. + +. Create a Java class that implements `PostResourcePlugin`. + `public class SamplePostResourcePlugin *implements* ddf.catalog.plugin.PostResourcePlugin` . Implement the required method. + * `public ResourceResponse process(ResourceResponse input) *throws* PluginExecutionException, StopProcessingException;` -. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + +. Import the ${branding} interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin,ddf.catalog.operation` . Export the service to the OSGi registry. @@ -266,7 +266,7 @@ Develop a custom Post-Resource Plugin. Develop a custom Policy Plugin. -. Create a Java class that implements `PolicyPlugin`. + +. Create a Java class that implements `PolicyPlugin`. + `public class SamplePolicyPlugin *implements* ddf.catalog.plugin.PolicyPlugin` . Implement the required methods. + @@ -276,7 +276,7 @@ Develop a custom Policy Plugin. * `PolicyResponse processPreQuery(Query query, Map properties) *throws* StopProcessingException;` * `PolicyResponse processPostQuery(Result input, Map properties) *throws* StopProcessingException;` -. Import the DDF interface packages to the bundle manifest (in addition to any other required packages). + +. Import the DDF interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin,ddf.catalog.operation` . Export the service to the OSGi registry. + @@ -287,7 +287,7 @@ Develop a custom Policy Plugin. Develop a custom Access Plugin. -. Create a Java class that implements `AccessPlugin`. + +. Create a Java class that implements `AccessPlugin`. + `public class SamplePostResourcePlugin *implements* ddf.catalog.plugin.AccessPlugin` . Implement the required methods. + @@ -297,7 +297,7 @@ Develop a custom Access Plugin. * `QueryRequest processPreQuery(QueryRequest input) *throws* StopProcessingException;` * `QueryResponse processPostQuery(QueryResponse input) *throws* StopProcessingException;` -. Import the DDF interface packages to the bundle manifest (in addition to any other required packages). + +. Import the DDF interface packages to the bundle manifest (in addition to any other required packages). + `Import-Package: ddf.catalog,ddf.catalog.plugin,ddf.catalog.operation` . Export the service to the OSGi registry. + diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-query-options.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-query-options.adoc index 8da32612244b..130d480811f4 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-query-options.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-query-options.adoc @@ -5,8 +5,8 @@ :order: 19 :summary: Creating a custom Query Option. -The easiest way to create a Query is to use the `ddf.catalog.operation.QueryImpl` object. -It is first necessary to create an OGC Filter object then set the Query Options after `QueryImpl` has been constructed. +The easiest way to create a ((Query)) is to use the `ddf.catalog.operation.QueryImpl` object. +It is first necessary to create an OGC Filter object then set the Query Options after `QueryImpl` has been constructed. .`QueryImpl` Example [source,java,linenums] @@ -34,13 +34,13 @@ filterFactory.literal(value))) ; ==== Evaluating a query -Every Source must be able to evaluate a Query object. -Nevertheless, each Source could evaluate the Query differently depending on what that Source supports as to properties and query capabilities. -For instance, a common property all Sources understand is id, but a Source could possibly store frequency values under the property name "frequency." -Some Sources may not support frequency property inquiries and will +Every Source must be able to evaluate a Query object. +Nevertheless, each Source could evaluate the Query differently depending on what that Source supports as to properties and query capabilities. +For instance, a common property all Sources understand is id, but a Source could possibly store frequency values under the property name "frequency." +Some Sources may not support frequency property inquiries and will throw an error stating it cannot interpret the property. In addition, some Sources might be able to handle spatial operations, while others might not. -A developer should consult a Source's documentation for the limitations, capabilities, and properties that a Source can support. +A developer should consult a Source's documentation for the limitations, capabilities, and properties that a Source can support. .[[_query_options]]Query Options @@ -68,14 +68,14 @@ A developer should consult a Source's documentation for the limitations, capabil ==== Commons-DDF Utilities -The `commons-${ddf-branding}` bundle provides utilities and functionality commonly used across other ${branding} components, such as the endpoints and providers.  +The `commons-${ddf-branding}` bundle provides utilities and functionality commonly used across other ${branding} components, such as the endpoints and providers. ===== FuzzyFunction -`${ddf-branding}.catalog.impl.filter.FuzzyFunction` class is used to indicate that a `PropertyIsLike` filter should interpret the search as a fuzzy query.  +`${ddf-branding}.catalog.impl.filter.FuzzyFunction` class is used to indicate that a `PropertyIsLike` filter should interpret the search as a fuzzy query. ===== XPathHelper `${ddf-branding}.util.XPathHelper` provides convenience methods for executing XPath operations on XML. -It also provides convenience methods for converting XML as a `String` from a `org.w3c.dom.Document` object and vice versa. +It also provides convenience methods for converting XML as a `String` from a `org.w3c.dom.Document` object and vice versa. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-registry-clients.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-registry-clients.adoc index 1ecd64802ee5..5f5daea8ab1a 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-registry-clients.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-registry-clients.adoc @@ -5,8 +5,8 @@ :order: 14 :summary: Creating a custom Registry Client. -Registry Clients create Federated Sources using the OSGi Configuration Admin. -Developers should reference an individual ``Source``'s (Federated, Connected, or Catalog Provider) documentation for the Configuration properties (such as a Factory PID, addresses, intervals, etc) necessary to establish that `Source` in the framework.  +((Registry Clients)) create Federated Sources using the OSGi Configuration Admin. +Developers should reference an individual ``Source``'s (Federated, Connected, or Catalog Provider) documentation for the Configuration properties (such as a Factory PID, addresses, intervals, etc) necessary to establish that `Source` in the framework. .Creating a Source Configuration [source,java,linenums] @@ -18,5 +18,5 @@ properties.put(QUERY_ADDRESS_PROPERTY,queryAddress); currentConfiguration.update( properties ); ---- -Note that the `QUERY_ADDRESS_PROPERTY` is specific to this Configuration and might not be required for every `Source`. -The properties necessary for creating a Configuration are different for every `Source`. +Note that the `QUERY_ADDRESS_PROPERTY` is specific to this Configuration and might not be required for every `Source`. +The properties necessary for creating a Configuration are different for every `Source`. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-readers.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-readers.adoc index c0f37c9c13b8..de1fec5967d6 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-readers.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-readers.adoc @@ -5,17 +5,17 @@ :order: 15 :summary: Creating a custom Resource Reader. -A `ResourceReader` is a class that retrieves a resource from a native/external source and returns it to ${branding}. -A simple example is that of a File `ResourceReader`. -It takes a file from the local file system and passes it back to ${branding}. -New implementations can be created in order to support obtaining Resources from various Resource data stores.  +A ((Resource Reader)) is a class that retrieves a resource from a native/external source and returns it to ${branding}. +A simple example is that of a File `ResourceReader`. +It takes a file from the local file system and passes it back to ${branding}. +New implementations can be created in order to support obtaining Resources from various Resource data stores. ==== Creating a New `ResourceReader` -Complete the following procedure to create a `ResourceReader`. +Complete the following procedure to create a `ResourceReader`. -. Create a Java class that implements the `${ddf-branding}.catalog.resource.ResourceReader` interface. -. Deploy the OSGi bundled packaged service to the ${branding} run-time. +. Create a Java class that implements the `${ddf-branding}.catalog.resource.ResourceReader` interface. +. Deploy the OSGi bundled packaged service to the ${branding} run-time. ===== Implementing the `ResourceReader` Interface @@ -24,12 +24,12 @@ Complete the following procedure to create a `ResourceReader`. public class TestResourceReader implements ${ddf-branding}.catalog.resource.ResourceReader ---- -`ResourceReader` has a couple of key methods where most of the work is performed. +`ResourceReader` has a couple of key methods where most of the work is performed. [NOTE] ==== *URI* + -It is recommended to become familiar with the Java API URI class in order to properly build a `ResourceReader`.  +It is recommended to become familiar with the Java API URI class in order to properly build a `ResourceReader`. Furthermore, a URI should be used according to its http://www.w3.org/Addressing/URL/uri-spec.html[specification] {external-link}. ==== @@ -40,18 +40,18 @@ Furthermore, a URI should be used according to its http://www.w3.org/Addressing/ public ResourceResponse retrieveResource( URI uri, Map arguments )throws IOException, ResourceNotFoundException, ResourceNotSupportedException; ---- -This method is the main entry to the `ResourceReader`. -It is used to retrieve a `Resource` and send it back to the caller (generally the `CatalogFramework`). -Information needed to obtain the entry is contained in the `URI` reference. -The URI Scheme will need to match a scheme specified in the `getSupportedSchemes` method. -This is how the CatalogFramework determines which `ResourceReader` implementation to use.  -If there are multiple `ResourceReaders` supporting the same scheme, these `ResourceReaders` will be invoked iteratively.  -Invocation of the `ResourceReaders` stops once one of them returns a `Resource`. +This method is the main entry to the `ResourceReader`. +It is used to retrieve a `Resource` and send it back to the caller (generally the `CatalogFramework`). +Information needed to obtain the entry is contained in the `URI` reference. +The URI Scheme will need to match a scheme specified in the `getSupportedSchemes` method. +This is how the CatalogFramework determines which `ResourceReader` implementation to use. +If there are multiple `ResourceReaders` supporting the same scheme, these `ResourceReaders` will be invoked iteratively. +Invocation of the `ResourceReaders` stops once one of them returns a `Resource`. Arguments are also passed in. -These can be used by the `ResourceReader` to perform additional operations on the resource. +These can be used by the `ResourceReader` to perform additional operations on the resource. -The `URLResourceReader` is an example `ResourceReader` that reads a file from a URI. +The `URLResourceReader` is an example `ResourceReader` that reads a file from a URI. [NOTE] ==== @@ -61,7 +61,7 @@ The `Map arguments` parameter is passed in to support any ===== Implement `retrieveResource()` . Define supported schemes (e.g., file, http, etc.). -. Check if the incoming URI matches a supported scheme. If it does not, throw `ResourceNotSupportedException`. +. Check if the incoming URI matches a supported scheme. If it does not, throw `ResourceNotSupportedException`. .Example: [source,java,linenums] @@ -73,7 +73,7 @@ if ( !uri.getScheme().equals("http") ) ---- . Implement the business logic. -. For example, the `URLResourceReader` will obtain the resource through a connection: +. For example, the `URLResourceReader` will obtain the resource through a connection: [source,java,linenums] ---- @@ -88,12 +88,12 @@ InputStream is = conn.getInputStream(); [NOTE] ==== -The `Resource` needs to be accessible from the ${branding} installation (see the rootResourceDirectories property of the `URLResourceReader`).  -This includes being able to find a file locally or reach out to a remote URI.  +The `Resource` needs to be accessible from the ${branding} installation (see the rootResourceDirectories property of the `URLResourceReader`). +This includes being able to find a file locally or reach out to a remote URI. This may require Internet access, and ${branding} may need to be configured to use a proxy (`http.proxyHost` and `http.proxyPort` can be added to the system properties on the command line script). ==== -. Return `Resource` in `ResourceResponse`. +. Return `Resource` in `ResourceResponse`. For example: [source,java,linenums] @@ -101,7 +101,7 @@ For example: return ResourceResponseImpl( new ResourceImpl( new BufferedInputStream( is ), new MimeType( mimeType ), url.getFile() ) ); ---- -If the Resource cannot be found, throw a `ResourceNotFoundException`.   +If the Resource cannot be found, throw a `ResourceNotFoundException`. ===== `getSupportedSchemes` @@ -110,10 +110,10 @@ If the Resource cannot be found, throw a `ResourceNotFoundException`.   public Set getSupportedSchemes(); ---- -This method lets the `ResourceReader` inform the CatalogFramework about the type of URI scheme that it accepts and should be passed. +This method lets the `ResourceReader` inform the CatalogFramework about the type of URI scheme that it accepts and should be passed. For single-use ResourceReaders (like a URLResourceReader), there may be only one scheme that it can accept while others may understand more than one. -A ResourceReader must, at minimum, accept one qualifier.  -As mentioned before, this method is used by the `CatalogFramework` to determine which `ResourceReader` to invoke.  +A ResourceReader must, at minimum, accept one qualifier. +As mentioned before, this method is used by the `CatalogFramework` to determine which `ResourceReader` to invoke. [NOTE] ==== @@ -124,7 +124,7 @@ Additionally, there are other methods that are used to uniquely describe a `Reso ===== Export to OSGi Service Registry -In order for the `ResourceReader` to be used by the `CatalogFramework`, it should be exported to the OSGi Service Registry as a `${ddf-branding}.catalog.resource.ResourceReader`. +In order for the `ResourceReader` to be used by the `CatalogFramework`, it should be exported to the OSGi Service Registry as a `${ddf-branding}.catalog.resource.ResourceReader`. See the XML below for an example: diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-writers.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-writers.adoc index 4f0ebc54226a..5c1dbb692867 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-writers.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-resource-writers.adoc @@ -5,14 +5,14 @@ :order: 16 :summary: Creating a custom Resource Writer. -A `ResourceWriter` is an object used to store or delete a `Resource`.  -`ResourceWriter` objects should be registered within the OSGi Service Registry, so clients can retrieve an instance when they need to store a `Resource`.  +A ((Resource Writer)) is an object used to store or delete a `Resource`. +`ResourceWriter` objects should be registered within the OSGi Service Registry, so clients can retrieve an instance when they need to store a `Resource`. ==== Create a New `ResourceWriter` -Complete the following procedure to create a `ResourceWriter`. +Complete the following procedure to create a `ResourceWriter`. -. Create a Java class that implements the `${ddf-branding}.catalog.resource.ResourceWriter` interface. +. Create a Java class that implements the `${ddf-branding}.catalog.resource.ResourceWriter` interface. .ResourceWriter Implementation Skeleton [source,java,linenums] @@ -56,10 +56,10 @@ public class SampleResourceWriter implements ResourceWriter { ... ---- -. Deploy the OSGi bundled packaged service to the ${branding} run-time (Refer to the <<{developing-prefix}osgi_basics,OSGi Basics>> - Bundles section.) +. Deploy the OSGi bundled packaged service to the ${branding} run-time (Refer to the <<{developing-prefix}osgi_basics,OSGi Basics>> - Bundles section.) [TIP] ==== *ResourceWriter Javadoc* + -Refer to the ${ddf-catalog} API Javadoc for more information about the methods required for implementing the interface.  +Refer to the ${ddf-catalog} API Javadoc for more information about the methods required for implementing the interface. ==== diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sources.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sources.adoc index a27fe5c2d52e..4b3b51b3e6ed 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sources.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sources.adoc @@ -5,7 +5,7 @@ :summary: Creating a custom source. :order: 10 -Sources are components that enable ${branding} to talk to back-end services. +((Sources)) are components that enable ${branding} to talk to back-end services. They let ${branding} perform query and ingest operations on catalog stores and query operations on federated sources. .Source Architecture @@ -46,13 +46,13 @@ They let ${branding} perform query and ingest operations on catalog stores and q There are three types of sources that can be created to perform query operations. All of these sources must also be able to return their availability and the list of content types currently stored in their back-end data stores. -Catalog Provider:: `ddf.catalog.source.CatalogProvider` _is used to communicate with back-end storage and allows for Query and Create/Update/Delete operations._ -Federated Source:: `ddf.catalog.source.FederatedSource` _is used to communicate with remote systems and only allows query operations._ -Connected Source:: `ddf.catalog.source.ConnectedSource` _is similar to a Federated Source with the following exceptions:_ +((Catalog Provider)):: `ddf.catalog.source.CatalogProvider` _is used to communicate with back-end storage and allows for Query and Create/Update/Delete operations._ +((Federated Source)):: `ddf.catalog.source.FederatedSource` _is used to communicate with remote systems and only allows query operations._ +((Connected Source)):: `ddf.catalog.source.ConnectedSource` _is similar to a Federated Source with the following exceptions:_ * _Queried on all local queries_ * ``SiteName`` _is hidden (masked with the ${branding} sourceId) in query results_ * ``SiteService`` _does not show this Source's information separate from ${branding}'s._ -Catalog Store:: `catalog.store.interface` _is used to store data._ +((Catalog Store)):: `catalog.store.interface` _is used to store data._ The procedure for implementing any of the source types follows a similar format: diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sts-claims-handlers.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sts-claims-handlers.adoc index 966157ad79f7..cbb7f055b0d9 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sts-claims-handlers.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-sts-claims-handlers.adoc @@ -5,6 +5,7 @@ :summary: Creating a custom Claims Handler. :order: 13 +(((STS Claims Handlers))) Develop a custom claims handler to retrieve attributes from an external attribute store. A claim is an additional piece of data about a subject that can be included in a token along with basic token data. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-token-validators.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-token-validators.adoc index d47d9537d8c4..8f738b8829d1 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-token-validators.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-token-validators.adoc @@ -5,7 +5,7 @@ :summary: Creating a custom token validator. :order: 12 -Token validators are used by the Security Token Service (STS) to validate incoming token requests. +((Token validators)) are used by the Security Token Service (STS) to validate incoming token requests. The `TokenValidator` CXF interface must be implemented by all custom token validators. The `canHandleToken` and `validateToken` methods must be overridden. The `canHandleToken` method should return true or false based on the `ValueType` value of the token that the validator is associated with. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-input.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-input.adoc index 51880c60a195..4f36912a5c0f 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-input.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-input.adoc @@ -5,6 +5,7 @@ :summary: Creating a custom input transformer. :order: 07 +(((Input Transformers))) ${branding} supports the creation of custom <<{architecture-prefix}types_of_transformers,input transformers>> for use cases not covered by the included implementations. .Creating a custom input Transformer: diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-metacard.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-metacard.adoc index 6a986cc9fc3a..e03bcd260e27 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-metacard.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-transformers-metacard.adoc @@ -5,6 +5,7 @@ :summary: Creating a custom metacard transformer. :order: 08 +(((Metacard Transformers))) In general, a `MetacardTransformer` is used to transform a `Metacard` into some desired format useful to the end user or as input to another process. Programmatically, a `MetacardTransformer` transforms a `Metacard` into a `BinaryContent` instance, which translates the `Metacard` into the desired final format. Metacard transformers can be used through the Catalog Framework `transform` convenience method or requested from the OSGi Service Registry by endpoints or other bundles. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-xacml-policies.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-xacml-policies.adoc index f6d62deddec1..e5e955be603f 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-xacml-policies.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/custom-xacml-policies.adoc @@ -5,6 +5,7 @@ :summary: Creating a custom metacard transformer. :order: 21 +(((XACML Policies))) This document assumes familiarity with the XACML schema and does not go into detail on the XACML language. When creating a policy, a target is used to indicate that a certain action should be run only for one type of request. Targets can be used on both the main policy element and any individual rules. diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/default-attribute-values.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/default-attribute-values.adoc index a58efe6bfb99..0ad39b77442f 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/default-attribute-values.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/default-attribute-values.adoc @@ -9,6 +9,7 @@ Create custom default attribute types. ==== Default Attribute Values +(((Default Attribute Values))) To define default attribute values, the definition file must have a `defaults` key in the root object. [source,json] diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/filter-delegates.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/filter-delegates.adoc index 716ec50fceea..f937ca8f6ee0 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/filter-delegates.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/filter-delegates.adoc @@ -5,7 +5,7 @@ :order: 18 :summary: Creating a custom Filter Delegate. -Filter Delegates help reduce the complexity of parsing OGC Filters. +((Filter Delegates)) help reduce the complexity of parsing OGC Filters. The reference Filter Adapter implementation contains the necessary boilerplate visitor code and input normalization to handle commonly supported OGC Filters. ==== Creating a New Filter Delegate diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/global-attribute-validators.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/global-attribute-validators.adoc index 65f3685fbb3a..b30fc6955a8d 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/global-attribute-validators.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/global-attribute-validators.adoc @@ -7,6 +7,7 @@ ==== Global Attribute Validators File +(((Global Attribute Validators))) To define Validators, the definition file must have a `validators` key in the root object. [source,json] diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/json-definition-files.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/json-definition-files.adoc index 5ff1de902847..4597364861d9 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/json-definition-files.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/json-definition-files.adoc @@ -4,6 +4,7 @@ :summary: Introduction to JSON definition files. :order: 32 +(((JSON Definition Files))) ${branding} supports adding new attribute types, metacard types, validators, and more using json-formatted definition files. The following may be defined in a JSON definition file: diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-type.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-type.adoc index 9afa23c3c32b..ea937c8fdb41 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-type.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-type.adoc @@ -5,7 +5,7 @@ :summary: Creating a custom Metacard Type. :order: 01 -Create custom Metacard types with Metacard Type definition files. +Create custom Metacard types with ((Metacard Type definition files)). ==== Metacard Type Definition File diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-validators.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-validators.adoc index 32ee44f33164..4119ad103847 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-validators.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/metacard-validators.adoc @@ -7,7 +7,8 @@ ==== Metacard Validator Definition -Metacard Validator definitions are similar to the Validators definitions. To define Metacard +(((Metacard Validators))) +((Metacard Validator definitions)) are similar to the Validators definitions. To define Metacard Validators, your definition file must have a `metacardvalidators` key in the root object. [source,json] diff --git a/distribution/docs/src/main/resources/content/_developing/_devComponents/transformers-query-response.adoc b/distribution/docs/src/main/resources/content/_developing/_devComponents/transformers-query-response.adoc index 698a85d02ead..5ab1034df99f 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devComponents/transformers-query-response.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devComponents/transformers-query-response.adoc @@ -5,8 +5,8 @@ :summary: Creating a custom query response transformer. :order: 09 -A `QueryResponseTransformer` is used to transform a List of Results from a `SourceResponse`. -Query Response Transformers can be used through the Catalog transform convenience method or requested from the OSGi Service Registry by endpoints or other bundles. +A Query Response Transformer is used to transform a List of Results from a `SourceResponse`. +((Query Response Transformers)) can be used through the Catalog transform convenience method or requested from the OSGi Service Registry by endpoints or other bundles. . Create a new Java class that implements `ddf.catalog.transform.QueryResponseTransformer`. + `public class SampleResponseTransformer implements ddf.catalog.transform.QueryResponseTransformer` diff --git a/distribution/docs/src/main/resources/content/_developing/_devGuidelines/contributing-intro.adoc b/distribution/docs/src/main/resources/content/_developing/_devGuidelines/contributing-intro.adoc index b0cb296b4387..da5401394db6 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devGuidelines/contributing-intro.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devGuidelines/contributing-intro.adoc @@ -6,5 +6,5 @@ The ${ddf-branding-expanded} is free and open-source software offered under the GNU Lesser General Public License. The ${ddf-branding} is managed under the guidance of the http://codice.org[Codice Foundation] {external-link}. -Contributions are welcomed and encouraged. +((Contributions)) are welcomed and encouraged. Please visit the https://codice.atlassian.net/wiki/display/DDF/Guidelines%2C+Standards+and+Best+Practices[Codice DDF Contributor Guidelines] {external-link} and the https://github.com/codice/ddf[DDF source code repository] {external-link} for more information. diff --git a/distribution/docs/src/main/resources/content/_developing/_devGuidelines/high-availability-guidance.adoc b/distribution/docs/src/main/resources/content/_developing/_devGuidelines/high-availability-guidance.adoc index 8bda04427460..a68f4aa4ba7c 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devGuidelines/high-availability-guidance.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devGuidelines/high-availability-guidance.adoc @@ -6,6 +6,6 @@ Capabilities that need to function in a Highly Available Cluster should have one of the two below properties. -Stateless:: Stateless capabilities will function in an Highly Available Cluster because no synchronization between ${branding} nodes is necessary. -Common storage:: If a capability must store data or share state with another node, then the data or shared state must be accessible to all nodes in the Highly Available Cluster. +((Stateless)):: Stateless capabilities will function in an Highly Available Cluster because no synchronization between ${branding} nodes is necessary. +((Common storage)):: If a capability must store data or share state with another node, then the data or shared state must be accessible to all nodes in the Highly Available Cluster. For example, the Catalog's storage provider must be accessible to all ${branding} nodes. diff --git a/distribution/docs/src/main/resources/content/_developing/_devGuidelines/osgi-basics.adoc b/distribution/docs/src/main/resources/content/_developing/_devGuidelines/osgi-basics.adoc index f4c368fbced3..d3710f2c1690 100644 --- a/distribution/docs/src/main/resources/content/_developing/_devGuidelines/osgi-basics.adoc +++ b/distribution/docs/src/main/resources/content/_developing/_devGuidelines/osgi-basics.adoc @@ -4,7 +4,7 @@ :summary: Using OSGi within ${branding}. :order: 01 -${branding} runs on top of an OSGi framework, a Java virtual machine (JVM), several choices of operating systems, and the physical hardware infrastructure. +${branding} runs on top of an ((OSGi)) framework, a Java virtual machine (JVM), several choices of operating systems, and the physical hardware infrastructure. The items within the dotted line represent the standard ${branding} components. ${branding} is a customized and branded distribution of http://karaf.apache.org/[Apache Karaf] {external-link}. @@ -28,7 +28,7 @@ Application:: A JSON file defining a collection of bundles with configurations t Services and code are physically deployed to ${branding} using bundles. The bundles within ${branding} are created using the maven bundle plug-in. -Bundles are Java JAR files that have additional metadata in the `MANIFEST.MF` that is relevant to an OSGi container. +((Bundles)) are Java JAR files that have additional metadata in the `MANIFEST.MF` that is relevant to an OSGi container. The best resource for learning about the structure and headers in the manifest definition is in section 3.6 of the https://osgi.org/download/r5/osgi.core-5.0.0.pdf[OSGi Core Specification] {external-link}. The bundles within ${branding} are created using the http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html[maven bundle plug-in] {external-link}, which uses the http://bnd.bndtools.org/[BND tool] {external-link}. diff --git a/distribution/docs/src/main/resources/content/_installing/java-reqs.adoc b/distribution/docs/src/main/resources/content/_installing/java-reqs.adoc index 463d06f7e4cd..b63974a37097 100644 --- a/distribution/docs/src/main/resources/content/_installing/java-reqs.adoc +++ b/distribution/docs/src/main/resources/content/_installing/java-reqs.adoc @@ -5,6 +5,7 @@ :order: 01 == Java Requirements +(((Java Requirements))) For a runtime system: * https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html[JRE 8 x64] {external-link} or https://openjdk.java.net/install[OpenJDK 8 JRE] {external-link} must be installed. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/catalog-rest-endpoint.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/catalog-rest-endpoint.adoc index 9e20e2b3368a..b5df1bd14a51 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/catalog-rest-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/catalog-rest-endpoint.adoc @@ -7,7 +7,7 @@ == {title} -The Catalog REST Endpoint allows clients to perform operations on the Catalog using REST, a simple architectural style that performs communication using HTTP.  +The ((Catalog REST Endpoint)) allows clients to perform operations on the Catalog using REST, a simple architectural style that performs communication using HTTP. Bulk operations are not supported: for all RESTful CRUD commands, only one metacard ID is supported in the URL. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/content-endpoints-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/content-endpoints-intro.adoc index f703c3f8240a..0db4121e35f3 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/content-endpoints-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/content-endpoints-intro.adoc @@ -5,5 +5,6 @@ :order: 04 == {title} +((({title}))) To retrieve content from an instance of ${branding}, use one of these endpoints. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/crud-endpoints-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/crud-endpoints-intro.adoc index db3c5ea882aa..4a8d69a33bde 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/crud-endpoints-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/crud-endpoints-intro.adoc @@ -5,6 +5,7 @@ :order: 02 == {title} +((({title}))) To perform CRUD (Create, Read, Update, Delete) operations on data or metadata in the catalog, work with one of these endpoints. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/csw-endpoint.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/csw-endpoint.adoc index 4cd798269a25..60670ec1aea9 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/csw-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/csw-endpoint.adoc @@ -7,7 +7,7 @@ == {title} -The CSW endpoint enables a client to search collections of descriptive information (metadata) about geospatial data and services. +The ((CSW endpoint)) enables a client to search collections of descriptive information (metadata) about geospatial data and services. The CSW endpoint supports metadata operations only. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/endpoint-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/endpoint-intro.adoc index ec5097391453..7943b0189d16 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/endpoint-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/endpoint-intro.adoc @@ -4,7 +4,7 @@ :operations: na :order: 00 -Federation with ${branding} is primarily accomplished through <<{integrating-prefix}endpoints,Endpoints>> accessible through http(s) requests and responses. +(((Federation))) with ${branding} is primarily accomplished through <<{integrating-prefix}endpoints,Endpoints>> accessible through http(s) requests and responses. [NOTE] ==== diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/ingest-endpoints-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/ingest-endpoints-intro.adoc index d3ab98dd3384..354151bcab59 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/ingest-endpoints-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/ingest-endpoints-intro.adoc @@ -5,6 +5,7 @@ :order: 01 == {title} +((({title}))) *Ingest* is the process of getting data and/or metadata into the ${branding} catalog framework. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/opensearch-endpoint.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/opensearch-endpoint.adoc index 03731289f6b6..98bbefc1aa48 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/opensearch-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/opensearch-endpoint.adoc @@ -7,7 +7,7 @@ == {title} -The OpenSearch Endpoint enables a client to send query parameters and receive search results. +The ((OpenSearch Endpoint)) enables a client to send query parameters and receive search results. This endpoint uses the input query parameters to create an OpenSearch query. The client does not need to specify all of the query parameters, only the query parameters of interest. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/prometheus-endpoint.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/prometheus-endpoint.adoc index 8cba881fe5fd..278a332cbb92 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/prometheus-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/prometheus-endpoint.adoc @@ -8,7 +8,7 @@ == {title} -The Prometheus endpoint provides various metrics about ${branding} such as the number of queries made +The ((Prometheus endpoint)) provides various metrics about ${branding} such as the number of queries made to a specific source and counters of ingest operations. An external Prometheus server will need to be setup and configured to scrape from ${branding}. The @@ -23,4 +23,4 @@ https://:/metrics === Visualising Metrics A visualization software, such as Grafana, can be connected to Prometheus and configured to display -available metrics. \ No newline at end of file +available metrics. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/pub-sub-endpoints-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/pub-sub-endpoints-intro.adoc index 7bbe48aa37de..95eb97e1c7e2 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/pub-sub-endpoints-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/pub-sub-endpoints-intro.adoc @@ -5,6 +5,7 @@ :order: 05 == {title} +((({title}))) These endpoints provide publication and subscription services to allow notifications when certain events happen within ${branding}. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints-intro.adoc index 85ae609e3885..10d5163b7758 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints-intro.adoc @@ -5,5 +5,6 @@ :order: 03 == {title} +((({title}))) Query data or metadata stored within an instance of ${branding} using one of these endpoints. diff --git a/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints.adoc b/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints.adoc index 9201b499e228..1832a88e8471 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_endpoints/query-endpoints.adoc @@ -6,6 +6,7 @@ :summary: To perform CRUD (Create, Read, Update, Delete) operations on query metacards in the catalog, work with one of these endpoints. == {title} +((({title}))) The queries endpoint enables an application to create, retrieve, update, and delete query metacards. diff --git a/distribution/docs/src/main/resources/content/_integrating/_eventing/subscriptions.adoc b/distribution/docs/src/main/resources/content/_integrating/_eventing/subscriptions.adoc index e9f194462dc4..73cd3f6fde23 100644 --- a/distribution/docs/src/main/resources/content/_integrating/_eventing/subscriptions.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/_eventing/subscriptions.adoc @@ -5,7 +5,7 @@ :order: 32 :summary: Creating a custom Subscription. -Subscriptions represent "standing queries" in the Catalog. +((Subscriptions)) represent "standing queries" in the Catalog. Like a query, subscriptions are based on the OGC Filter specification. ==== Subscription Lifecycle @@ -14,8 +14,8 @@ A Subscription itself is a series of events during which various plugins or tran ===== Creation -* Subscriptions are created directly with the <<{architecture-prefix}event_processor,Event Processor>> or declaratively through use of the Whiteboard Design Pattern. -* The Event Processor will invoke each Pre-Subscription Plugin and, if the subscription is not rejected, the subscription will be activated. +* Subscriptions are created directly with the<<{architecture-prefix}event_processor,Event Processor>> or declaratively through use of the Whiteboard Design Pattern. +* The Event Processor will invoke each Pre-Subscription Plugin and, if the subscription is not rejected, the subscription will be activated. ===== Evaluation diff --git a/distribution/docs/src/main/resources/content/_integrating/integrating-intro.adoc b/distribution/docs/src/main/resources/content/_integrating/integrating-intro.adoc index 249d25d3072b..e225e825aff8 100644 --- a/distribution/docs/src/main/resources/content/_integrating/integrating-intro.adoc +++ b/distribution/docs/src/main/resources/content/_integrating/integrating-intro.adoc @@ -3,6 +3,7 @@ :status: published :summary: Introduction to Integrating sections. +(((Integrating))) ${branding} is structured to enable flexible integration with external clients and into larger component systems. If integrating with an existing installation of ${branding}, continue to the following sections on endpoints and data/metadata management. diff --git a/distribution/docs/src/main/resources/content/_introduction/applications.adoc b/distribution/docs/src/main/resources/content/_introduction/applications.adoc index 496221c1a13b..a67be4be93dc 100644 --- a/distribution/docs/src/main/resources/content/_introduction/applications.adoc +++ b/distribution/docs/src/main/resources/content/_introduction/applications.adoc @@ -9,28 +9,28 @@ ${branding} is comprised of several modular applications, to be installed or uninstalled as needed. -${ddf-admin} Application:: +((${ddf-admin} Application)):: Enhances administrative capabilities when installing and managing ${branding}. It contains various services and interfaces that allow administrators more control over their systems. -${ddf-catalog} Application:: +((${ddf-catalog} Application)):: Provides a framework for storing, searching, processing, and transforming information. Clients typically perform local and/or federated query, create, read, update, and delete (QCRUD) operations against the Catalog. At the core of the Catalog functionality is the *Catalog Framework*, which routes all requests and responses through the system, invoking additional processing per the system configuration. -${ddf-platform} Application:: +((${ddf-platform} Application)):: The Core application of the distribution. The Platform application contains the fundamental building blocks to run the distribution. -${ddf-security} Application:: +((${ddf-security} Application)):: Provides authentication, authorization, and auditing services for the ${branding}. It is both a framework that developers and integrators can extend and a reference implementation that meets security requirements. -${ddf-solr} Application:: +((${ddf-solr} Application)):: Includes the Solr Catalog Provider, an implementation of the Catalog Provider using http://lucene.apache.org/solr/[Apache Solr] {external-link} as a data store. -${ddf-spatial} Application:: +((${ddf-spatial} Application)):: Provides OGC services, such as http://www.opengeospatial.org/standards/cat[CSW] {external-link}, http://www.opengeospatial.org/standards/wcs[WCS] {external-link}, http://www.opengeospatial.org/standards/wfs[WFS] {external-link}, and http://www.opengeospatial.org/standards/kml[KML] {external-link}. -${ddf-ui}:: +((${ddf-ui})):: Allows a user to search for records in the local Catalog (provider) and federated sources. Results of the search are returned and displayed on a globe or map, providing a visual representation of where the records were found. diff --git a/distribution/docs/src/main/resources/content/_introduction/developing-intro.adoc b/distribution/docs/src/main/resources/content/_introduction/developing-intro.adoc index 69a2aeac6207..806ca74c3769 100644 --- a/distribution/docs/src/main/resources/content/_introduction/developing-intro.adoc +++ b/distribution/docs/src/main/resources/content/_introduction/developing-intro.adoc @@ -9,7 +9,7 @@ Developers will build or extend the functionality of the applications.  ${branding} includes several extension points where external developers can add functionality to support individual use cases. ${branding} is written in Java and uses many open source libraries. -${branding} uses OSGi to provide modularity, lifecycle management, and dynamic services. +${branding} uses ((OSGi)) to provide modularity, lifecycle management, and dynamic services. OSGi services can be installed and uninstalled while ${branding} is running. ${branding} development typically means developing new OSGi bundles and deploying them to the running ${branding}. A complete description of OSGi is outside the scope of this documentation. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/admin-console-tutorial.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/admin-console-tutorial.adoc index a8ab90dfcffc..74e3209479a0 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/admin-console-tutorial.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/admin-console-tutorial.adoc @@ -7,7 +7,7 @@ == {title} -The ${admin-console} is the centralized location for administering the system. +The ((${admin-console})) is the centralized location for administering the system. The ${admin-console} allows an administrator to configure and tailor system services and properties. The default address for the ${admin-console} is \${secure_url}/admin. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-filtering.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-filtering.adoc index 4493007fca36..ed2829929b6f 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-filtering.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-filtering.adoc @@ -7,7 +7,7 @@ == {title} -Filtering is the process of evaluating security markings on data resources, comparing them to the users permissions and protecting resources from inappropriate access. +((Filtering)) is the process of evaluating security markings on data resources, comparing them to the users permissions and protecting resources from inappropriate access. There are two options for processing filtering policies: internally, or through the use of a policy formatted in eXtensible Access Control Markup Language (XACML). The procedure for setting up a policy differs depending on whether that policy is to be used internally or by the external XACML processing engine. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-provider.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-provider.adoc index 193c716789fa..6f3a0d07d27e 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-provider.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/catalog-provider.adoc @@ -6,6 +6,7 @@ :order: 01 == {title} +(((Catalog Providers))) This scenario describes how to reconfigure ${branding} to use a different catalog provider. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/changing-hostname.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/changing-hostname.adoc index 82d08367fc8c..d1f671b1adbc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/changing-hostname.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/changing-hostname.adoc @@ -6,6 +6,7 @@ :order: 02 == {title} +(((Hostname))) By default, the STS server, STS client and the rest of the services use the system property `org.codice.ddf.system.hostname` which is defaulted to 'localhost' and not to the fully qualified domain name of the ${branding} instance. Assuming the ${branding} instance is providing these services, the configuration must be updated to use the *fully qualified domain name* as the service provider. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-access-plugins.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-access-plugins.adoc index e7ae71cf6865..1199c1298d69 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-access-plugins.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-access-plugins.adoc @@ -6,11 +6,13 @@ :order: 06 == {title} +(((Data Access Plugins))) Configure access plugins to act upon the rules and attributes configured by the policy plugins and user attributes. === Configuring the Security Audit Plugin +(((Security Audit Plugin))) The <<{architecture-prefix}security_audit_plugin,Security Audit Plugin>> audits specific metacard attributes. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-catalog-rest-endpoint.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-catalog-rest-endpoint.adoc index b0ec920f6746..24e2a6be194f 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-catalog-rest-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-catalog-rest-endpoint.adoc @@ -7,7 +7,7 @@ == {title} -The Catalog REST endpoint allows clients to perform operations on the Catalog using REST. +The ((Catalog REST endpoint)) allows clients to perform operations on the Catalog using REST. To install the Catalog REST endpoint: diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-csw-endpoint.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-csw-endpoint.adoc index a2cd8d4faeb5..301aa8b632d9 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-csw-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-csw-endpoint.adoc @@ -7,7 +7,7 @@ == {title} -The CSW endpoint enables a client to search collections of descriptive information (metadata) about geospatial data and services. +The ((CSW endpoint)) enables a client to search collections of descriptive information (metadata) about geospatial data and services. To install the CSW endpoint: diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-management.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-management.adoc index 404f9e698949..461515f59489 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-management.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-management.adoc @@ -6,6 +6,7 @@ :order: 06 == {title} +(((Data Management))) Data ingested into ${branding} has security attributes that can be mapped to users' permissions to ensure proper access. This section covers configurations that ensure only the appropriate data is contained in or exposed by ${branding}. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-policy-plugins.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-policy-plugins.adoc index d903f17a010d..9d84f6b16276 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-policy-plugins.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-data-policy-plugins.adoc @@ -10,6 +10,7 @@ Configure the data-related policy plugins to determine the accessibility of data held by ${branding}. === Configuring the Metacard Attribute Security Policy Plugin +(((Metacard Attribute Security Policy Plugin))) The Metacard Attribute Security Policy Plugin combines existing metacard attributes to make new attributes and adds them to the metacard. @@ -35,6 +36,7 @@ enter these two lines under the title **Metacard Union Attributes** See <<{reference-prefix}org.codice.ddf.catalog.security.policy.metacard.MetacardAttributeSecurityPolicyPlugin,Metacard Attribute Security Policy Plugin configurations>> for all possible configurations. === Configuring the Metacard Validation Marker Plugin +(((Metacard Validation Marker Plugin))) By default, the Metacard Validation Marker Plugin will mark metacards with validation errors and warnings as they are reported by each metacard validator and then allow the ingest. To prevent the ingest of certain invalid metacards, the `Metacard Validity Marker` plugin can be configured to "enforce" one or more validators. @@ -50,6 +52,7 @@ Metacards that are invalid according to an "enforced" validator will not be inge See <<{reference-prefix}ddf.catalog.metacard.validation.MetacardValidityMarkerPlugin,Metacard Validity Marker Plugin configurations>> for all possible configurations. === Configuring the Metacard Validity Filter Plugin +(((Metacard Validity Filter Plugin))) The <<{architecture-prefix}metacard_validity_filter_plugin,Metacard Validity Filter Plugin>> determines whether metacards with validation errors or warnings are filtered from query results. @@ -63,6 +66,7 @@ The <<{architecture-prefix}metacard_validity_filter_plugin,Metacard Validity Fil See <<{reference-prefix}ddf.catalog.metacard.validation.MetacardValidityFilterPlugin,Metacard Validity Filter Plugin configurations>> for all possible configurations. === Configuring the XML Attribute Security Policy Plugin +(((XML Attribute Security Policy Plugin))) The XML Attribute Security Policy Plugin finds security attributes contained in a metacard's metadata. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-endpoints.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-endpoints.adoc index 01349a24ff3b..2f5789c3fcdc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-endpoints.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-endpoints.adoc @@ -7,4 +7,4 @@ == {title} -Configure endpoints to enable external systems to send and receive content and metadata from ${branding}. \ No newline at end of file +Configure endpoints to enable external systems to send and receive content and metadata from ${branding}. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-fanout-proxy.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-fanout-proxy.adoc index 4fb987e72a9e..4f50336dd269 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-fanout-proxy.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-fanout-proxy.adoc @@ -6,6 +6,7 @@ :order: 01 == {title} +(((Fanout Proxy))) Optionally, configure ${branding} as a fanout proxy such that only queries and resource retrieval requests are processed and create/update/delete requests are rejected. All queries are enterprise queries and no catalog provider needs to be configured. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-federation.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-federation.adoc index cdb965a70d65..a1036f82b727 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-federation.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-federation.adoc @@ -6,5 +6,6 @@ :summary: Configuring federation. == {title} +(((Federation))) ${branding} is able to <<{introduction-prefix}introduction_to_federation_and_sources,federate>> to other data sources, including other instances of ${branding}, with some simple configuration. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-guest-access.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-guest-access.adoc index 333ce8c06458..328a24adc0ea 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-guest-access.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-guest-access.adoc @@ -6,6 +6,7 @@ :order: 00 == {title} +(((Guest Access))) Unauthenticated access to a secured ${branding} system is provided by the *Guest* user. By default, ${branding} allows guest access. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-kml-endpoint.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-kml-endpoint.adoc index 2755f2d0ad98..eabcd46dc734 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-kml-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-kml-endpoint.adoc @@ -7,9 +7,9 @@ == {title} -Keyhole Markup Language (_KML_) is an XML notation for describing geographic annotation and visualization for 2- and 3- dimensional maps. +((Keyhole Markup Language)) (_KML_)(((KML))) is an XML notation for describing geographic annotation and visualization for 2- and 3- dimensional maps. -The root network link will create a network link for each configured source, including the local catalog. +(((KML Network Link endpoint)))The root network link will create a network link for each configured source, including the local catalog. The individual source network links will perform a query against the OpenSearch Endpoint periodically based on the current view in the KML client. The query parameters for this query are obtained by a bounding box generated by Google Earth. The root network link will refresh every 12 hours or can be forced to refresh. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-multi-factor-auth.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-multi-factor-auth.adoc index 40b037bea066..8de364ef1c38 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-multi-factor-auth.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-multi-factor-auth.adoc @@ -7,11 +7,11 @@ == {title} -Mutli-factor authentication, sometimes referred to as two-factor authentication, allows for greater security. +(((MFA)))((Multi-factor authentication)), sometimes referred to as ((Two-factor authentication)), allows for greater security. It does this by requiring users to provide multiple proofs of identity, typically through something they know (such as a password), and something they have/are (such as a randomly generated pin number sent to one of their personal devices). The IdP that comes with ${branding} does not support multi-factor authentication by default. -Keycloak can be used to help setup and configure multi-factor authentication. +((Keycloak)) can be used to help setup and configure multi-factor authentication. See <<{managing-prefix}connecting_to_an_external_saml_identity_provider,Connecting to an External Identity Provider>> on how to initially hookup Keycloak. .Configuring Keycloak for MFA diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-oidc.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-oidc.adoc index a3b0d4b7dda1..5ab98b442996 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-oidc.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-oidc.adoc @@ -5,12 +5,13 @@ :summary: Configuring included IdP. :order: 03 -==== {title} +== {title} +(((OpenID Connect, OIDC))) (((OAuth 2.0))) To use https://openid.net/specs/openid-connect-core-1_0.html[OpenID Connect (OIDC)] and https://tools.ietf.org/html/rfc6749[OAuth 2.0], ${branding} needs to be connected to an external Identity Provider (IdP) which supports these protocols. -===== OIDC +=== OIDC OIDC is used to authenticate (or log in) a user. To use this protocol in ${branding}, ${branding} needs the external IdP's information. @@ -28,7 +29,7 @@ Once connected, the Web Context Policy Manager needs to be updated. to do so, . Select the *Web Context Policy Manager*. . Under `Authentication Types for Web Pages` and `Authentication Types for Endpoints` add OIDC. -===== OAuth 2.0 +=== OAuth 2.0 OAuth 2.0 is an authorization protocol and ${branding} can use it when federating. When a user queries a source that is configured to use this protocol, ${branding} will forward the user's information (access token) with the request. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-opensearch-endpoint.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-opensearch-endpoint.adoc index 15af2bae299d..71b2ebaa77f0 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-opensearch-endpoint.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-opensearch-endpoint.adoc @@ -7,9 +7,9 @@ == {title} -The OpenSearch endpoint enables a client to send query parameters and receive search results. This endpoint uses the input query parameters to create an OpenSearch query. The client does not need to specify all of the query parameters, only the query parameters of interest. +The ((OpenSearch endpoint)) enables a client to send query parameters and receive search results. This endpoint uses the input query parameters to create an OpenSearch query. The client does not need to specify all of the query parameters, only the query parameters of interest. -To install the KML endpoint: +To install the OpenSearch endpoint: . Navigate to the *${admin-console}*. . Select *System*. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-rest-for-users.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-rest-for-users.adoc index 6d38ec2bc913..6d8a2b0b1555 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-rest-for-users.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-rest-for-users.adoc @@ -7,7 +7,7 @@ == {title} -If using REST services or connecting to REST sources, several configuration options are available. +If using ((REST services)) or connecting to ((REST sources)), several configuration options are available. ${branding} can be configured to support an <<{managing-prefix}connecting_to_an_external_saml_identity_provider,external SAML IdP>> or no IdP at all. The following diagram shows the configuration options. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-security-policies.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-security-policies.adoc index 48aefd27eef7..4e72a605b78a 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-security-policies.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-security-policies.adoc @@ -7,4 +7,4 @@ == {title} -User attributes and Data attributes are matched by security policies defined within ${branding}. +((User attributes)) and ((Data attributes)) are matched by security policies((Security policies)) defined within ${branding}. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-system-message.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-system-message.adoc index 96d3c72501e4..44bdcfdea231 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-system-message.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/configuring-system-message.adoc @@ -6,6 +6,7 @@ :order: 04 == {title} +(((System Usage Message))) The Platform UI configuration contains the settings for displaying messages to users at login or in banners in the headers and footers of all pages. For, example this configuration can provide warnings that system usage is monitored or controlled. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-external-idp.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-external-idp.adoc index 0946afba7c6f..d2e899e30e67 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-external-idp.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-external-idp.adoc @@ -7,7 +7,7 @@ == {title} -To connect to an external SAML Identity Provider, +To connect to an external ((SAML Identity Provider)), . Provide the external SAML IdP with ${branding}'s Service Provider (SP) metadata. The SP metadata can found at `https://:/services/saml/sso/metadata`. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-sources.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-sources.adoc index e421f4f33b4a..62980c6ad125 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-sources.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/connecting-to-sources.adoc @@ -6,25 +6,26 @@ :summary: Connecting to sources. == {title} +(((Sources))) A *source* is a system consisting of a catalog containing Metacards. -Catalog sources are used to connect Catalog components to data sources, local and remote. +((Catalog sources)) are used to connect Catalog components to data sources, local and remote. Sources act as proxies to the actual external data sources, e.g., a RDBMS database or a NoSQL database. .Types of Sources -Remote Source:: Read-only data sources that support query operations but cannot be used to create, update, or delete metacards. +((Remote Source)):: Read-only data sources that support query operations but cannot be used to create, update, or delete metacards. -[[_federated_source]]Federated Sources:: A federated source is a remote source that can be included in federated queries by request or as part of an enterprise query. Federated sources support query and site information operations only. Catalog modification operations, such as create, update, and delete, are not allowed. +[[_federated_source]]((Federated Sources)):: A federated source is a remote source that can be included in federated queries by request or as part of an enterprise query. Federated sources support query and site information operations only. Catalog modification operations, such as create, update, and delete, are not allowed. Federated sources also expose an event service, which allows the Catalog Framework to subscribe to event notifications when metacards are created, updated, and deleted. + ${ddf-catalog} instances can also be federated to each other. Therefore, a ${ddf-catalog} can also act as a federated source to another ${ddf-catalog}. -[[_connected_sources]]Connected Sources:: A Connected Source is a local or remote source that is always included in every local and enterprise query, but is hidden from being queried individually. A connected source's identifier is removed in all query results by replacing it with ${branding}'s source identifier. The Catalog Framework does not reveal a connected source as a separate source when returning source information responses. +[[_connected_sources]]((Connected Sources)):: A Connected Source is a local or remote source that is always included in every local and enterprise query, but is hidden from being queried individually. A connected source's identifier is removed in all query results by replacing it with ${branding}'s source identifier. The Catalog Framework does not reveal a connected source as a separate source when returning source information responses. -[[_catalog_providers]]Catalog Providers:: A Catalog Provider is used to interact with data providers, such as files systems or databases, to query, create, update, or delete data. The provider also translates between ${branding} objects and native data formats. +[[_catalog_providers]]((Catalog Providers)):: A Catalog Provider is used to interact with data providers, such as files systems or databases, to query, create, update, or delete data. The provider also translates between ${branding} objects and native data formats. + All sources, including federated source and connected source, support queries, but a Catalog provider also allows metacards to be created, updated, and deleted. A Catalog provider typically connects to an external application or a storage system (e.g., a database), acting as a proxy for all catalog operations. -[[_catalog_stores]]Catalog Stores:: A Catalog Store is an editable store that is either local or remote. +[[_catalog_stores]]((Catalog Stores)):: A Catalog Store is an editable store that is either local or remote. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/console-commands-ref.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/console-commands-ref.adoc index e6aa325dae05..0353b61a22a5 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/console-commands-ref.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/console-commands-ref.adoc @@ -6,5 +6,6 @@ :summary: Console command reference == {title} +(((Console command))) ${branding} provides access to a powerful ${command-console} to use to manage and configure the system. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/content-directory-monitor.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/content-directory-monitor.adoc index 9021e7084c0b..b12a30317eb2 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/content-directory-monitor.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/content-directory-monitor.adoc @@ -6,6 +6,7 @@ :summary: Content Directory Monitor. == {title} +((({title}))) The Content Directory Monitor (CDM) provides the capability to easily add content and metacards into the ${ddf-catalog} by placing a file in a directory. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/decanter-services.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/decanter-services.adoc index 8f4f073c4bd8..9f054740435b 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/decanter-services.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/decanter-services.adoc @@ -6,6 +6,7 @@ :order: 02 == {title} +(((Alerts))) By default, ${branding} uses two services provided by Karaf Decanter for alerts that can be configured by configuration file. Further information on Karaf Decanter services and configurations can be found https://karaf.apache.org/documentation.html#decanter[here] {external-link}. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/enabling-ssl.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/enabling-ssl.adoc index 186c80a05cde..5d6132b597d4 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/enabling-ssl.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/enabling-ssl.adoc @@ -5,6 +5,7 @@ :order: 00 == {title} +(((SSL))) In order for outbound secure connections (HTTPS) to be made from components like Federated Sources and Resource Readers configuration may need to be updated with keystores and security properties. These values are configured in the `${home_directory}/etc/custom.system.properties` file. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/encryption-service.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/encryption-service.adoc index c1ab5372da1f..4317ce1fe70f 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/encryption-service.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/encryption-service.adoc @@ -7,6 +7,8 @@ :order: 03 == {title} +((({title}))) + ${branding} includes an encryption service to encrypt plain text such as passwords. === Encryption Command diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/environment-hardening.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/environment-hardening.adoc index 45cba8668639..5a7da2d8f417 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/environment-hardening.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/environment-hardening.adoc @@ -5,6 +5,7 @@ :order: 09 == {title} +((({title}))) * *{hardening-step}* diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/feature-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/feature-commands.adoc index 8aa24899caef..0c8f9417dc9f 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/feature-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/feature-commands.adoc @@ -6,6 +6,7 @@ :summary: Managing features from the ${command-console}. == {title} +((({title}))) Individual features can also be added via the ${command-console}. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/filter-policy-plugins.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/filter-policy-plugins.adoc index 3c372fa81d30..032e3a88b512 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/filter-policy-plugins.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/filter-policy-plugins.adoc @@ -7,6 +7,6 @@ == {title} -Several Policy Plugins for catalog filtering exist currently: <<{developing-prefix}metacard_attribute_security_policy_plugin,Metacard Attribute Security Policy Plugin>> and <<{developing-prefix}xml_attribute_security_policy_plugin,XML Attribute Security Policy Plugin>>. +Several ((Policy Plugins)) for catalog filtering exist currently: <<{developing-prefix}metacard_attribute_security_policy_plugin,Metacard Attribute Security Policy Plugin>> and <<{developing-prefix}xml_attribute_security_policy_plugin,XML Attribute Security Policy Plugin>>. These Policy Plugin implementations allow an administrator to easily add filtering capabilities to some standard Metacard types for all ${ddf-catalog} operations. These plugins will place policy information on the Metacard itself that allows the <<{developing-prefix}filter_plugin,Filter Plugin>> to restrict unauthorized users from viewing content they are not allowed to view. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/global-settings.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/global-settings.adoc index ba645de10fbf..332fc66be3a8 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/global-settings.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/global-settings.adoc @@ -7,7 +7,7 @@ == {title} -Global configuration settings are configured via the properties file `custom.system.properties`. +((Global configuration settings)) are configured via the properties file ((`custom.system.properties`)). These properties can be manually set by editing this file or set via the initial configuration from the ${admin-console}. [NOTE] @@ -520,4 +520,4 @@ This variable version is more verbose, but will not need to be changed if the sy [WARNING] ==== Only root can access ports < 1024 on Unix systems. -==== \ No newline at end of file +==== diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/high-availability-config.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/high-availability-config.adoc index e836ab79c246..111c45bf53bc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/high-availability-config.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/high-availability-config.adoc @@ -9,7 +9,7 @@ This section describes how to make configuration changes after the initial setup for a ${branding} in a <<{introduction-prefix}introduction_to_high_availability,Highly Available Cluster>>. -In a Highly Available Cluster, configuration changes must be made on both ${branding} nodes. +In a (((Highly Available Cluster))), configuration changes must be made on both ${branding} nodes. The changes can still be made in the standard ways via the <<{managing-prefix}admin_console_tutorial,Admin Console>>, the <<{managing-prefix}console_command_reference,Command Line>>, or the <<{managing-prefix}configuration_files, file system>>. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/isolating-solrcloud-zookeeper.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/isolating-solrcloud-zookeeper.adoc index c2e77c944d73..d48b1423a5ab 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/isolating-solrcloud-zookeeper.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/isolating-solrcloud-zookeeper.adoc @@ -9,7 +9,7 @@ * *{hardening-step}* (if using SolrCloud/Zookeeper) -Zookeeper clients cannot use secure (SSL/TLS) connections. +((Zookeeper)) clients cannot use secure (SSL/TLS) connections. The configuration information that Zookeeper sends and receives is vulnerable to network sniffing. Any unencrypted network traffic is vulnerable to sniffing attacks. To use SolrCloud with Zookeeper securely, these processes must be isolated on the network, or their communications must be encrypted by other means. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/jetty-threadpool-settings.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/jetty-threadpool-settings.adoc index 8d1dedbc5806..01e202d9e9b0 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/jetty-threadpool-settings.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/jetty-threadpool-settings.adoc @@ -7,7 +7,7 @@ == {title} -To prevent resource shortages in the event of concurrent requests, ${branding} allows configuring Jetty ThreadPool settings to specify the minimum and maximum available threads. +To prevent resource shortages in the event of concurrent requests, ${branding} allows configuring ((Jetty ThreadPool settings)) to specify the minimum and maximum available threads. . The settings can be changed at `etc/org.ops4j.pax.web.cfg` under Jetty Server ThreadPool Settings. . Specify the maximum thread amount with `org.ops4j.pax.web.server.maxThreads` diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/landing-page.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/landing-page.adoc index 8b3b29cef579..a3c860c4b9a5 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/landing-page.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/landing-page.adoc @@ -7,7 +7,7 @@ == {title} -The Landing Page is the first page presented to users of ${branding}. +The ((Landing Page)) is the first page presented to users of ${branding}. It is customizable to allow adding organizationally-relevant content. === Installing the Landing Page diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/ldap-server.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/ldap-server.adoc index 2825e9403cb7..6f81ff1dc934 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/ldap-server.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/ldap-server.adoc @@ -6,6 +6,7 @@ :order: 03 == {title} +(((LDAP))) [WARNING] ==== diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/logout-theming.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/logout-theming.adoc index a46fc6eebe8d..d0c4289322de 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/logout-theming.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/logout-theming.adoc @@ -6,6 +6,7 @@ :order: 01 == {title} +(((Logout Page))) The logout pages is presented to users through the navigation of ${branding} and has a changeable timeout value. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/platform-ui-theming.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/platform-ui-theming.adoc index b5236eb8acf7..132b98ec4329 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/platform-ui-theming.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/platform-ui-theming.adoc @@ -6,6 +6,7 @@ :order: 02 == {title} +((({title}))) The Platform UI Configuration allows for the customization of attributes of all pages within ${branding}. It contains settings to display messages to users at login or in banners in the headers and footers of all pages, @@ -28,4 +29,4 @@ The banner has four items to configure: . *Text Color* . *Background Color* -See the <<{reference-prefix}ddf.platform.ui.config,Platform UI>> for all possible configurations of the Platform UI Configuration. \ No newline at end of file +See the <<{reference-prefix}ddf.platform.ui.config,Platform UI>> for all possible configurations of the Platform UI Configuration. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/product-cache.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/product-cache.adoc index a068534266f7..47684b4fbf22 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/product-cache.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/product-cache.adoc @@ -5,7 +5,8 @@ :summary: Configure product cache. :order: 01 -== {title } +== {title} +(((Product Cache))) All caching properties are part of the <<{reference-prefix}ddf.catalog.resource.download.ReliableResourceDownloadManager,Resource Download Settings>>. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users-cont.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users-cont.adoc index f030a1f3854b..d393c626ed57 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users-cont.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users-cont.adoc @@ -29,4 +29,4 @@ If a system recovery account is configured in `users.properties`, ensure: [NOTE] ==== It is recommended to perform yearly reviews of accounts for compliance with organizational account management requirements. -==== \ No newline at end of file +==== diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users.adoc index 680408c1c950..ea67ec772f0b 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/remove-default-users.adoc @@ -6,6 +6,7 @@ :order: 06 == {title} +((({title}))) * *{hardening-step}* @@ -22,4 +23,4 @@ Once ${branding} is configured to use an external user (such as LDAP), remove th Use of a `users.properties` file should be limited to emergency recovery operations and replaced as soon as effectively possible. The deletion of the default users in the `users.properties` file can be done automatically after 72 hours. -This feature can be found at *${admin-console} -> Admin -> Default Users Deletion Scheduler -> Enable default users automatic deletion*. \ No newline at end of file +This feature can be found at *${admin-console} -> Admin -> Default Users Deletion Scheduler -> Enable default users automatic deletion*. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/securing-admin-console.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/securing-admin-console.adoc index 9e662946ced7..f1ec60d40a70 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/securing-admin-console.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/securing-admin-console.adoc @@ -6,6 +6,7 @@ :order: 05 == {title} +((({title}))) * *{hardening-step}* diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/securing-idp-sp.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/securing-idp-sp.adoc index a03affda57c1..3b0282658db9 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/securing-idp-sp.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/securing-idp-sp.adoc @@ -7,7 +7,7 @@ == {title} -The ${ddf-security} SAML handler provides service provider handling that satisfies the http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf[SAML 2.0 Web SSO profile] in order to support external SAML IdPs (Identity Providers). +The ((${ddf-security} SAML handler)) provides service provider handling that satisfies the http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf[SAML 2.0 Web SSO profile] in order to support external SAML IdPs (Identity Providers). The SAML handler is used for SSO authentication purposes. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/setting-internal-policies.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/setting-internal-policies.adoc index f707867b2d3a..121a4a46c573 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/setting-internal-policies.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/setting-internal-policies.adoc @@ -6,6 +6,7 @@ :order: 00 == {title} +(((Setting Internal Policies))) . Navigate to the *${admin-console}*. . Select the *${ddf-security}* application. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/setting-xacml-policies.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/setting-xacml-policies.adoc index b6109db6e3c3..0d79a7e1bc0d 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/setting-xacml-policies.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/setting-xacml-policies.adoc @@ -7,7 +7,7 @@ == {title} -To set up a XACML policy, place the desired XACML policy in the `/etc/pdp/policies` directory and update the included `access-policy.xml` to include the new policy. +To set up a ((XACML policy)), place the desired XACML policy in the `/etc/pdp/policies` directory and update the included `access-policy.xml` to include the new policy. This is the directory in which the PDP will look for XACML policies every 60 seconds. See <<{developing-prefix}developing_xacml_policies,Developing XACML Policies>> for more information about custom XACML policies. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/solr-admin-ui.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/solr-admin-ui.adoc index 5f777c4e6d92..e2a071e093d1 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/solr-admin-ui.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/solr-admin-ui.adoc @@ -7,5 +7,5 @@ == {title} -The Solr Admin UI for Solr server configurations can be accessed from a web browser. +The ((Solr Admin UI)) for Solr server configurations can be accessed from a web browser. See https://lucene.apache.org/solr/guide/${solr.docs.version}/using-the-solr-administration-user-interface.html[Using the Solr Administration User Interface] {external-link} for more details. diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/updating-system-users.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/updating-system-users.adoc index b3ba11eecebe..99ad71565931 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/updating-system-users.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/updating-system-users.adoc @@ -6,6 +6,7 @@ :order: 04 == {title} +((System users)) By default, all system users are located in the `${home_directory}/etc/users.properties` and `${home_directory}/etc/users.attributes` files. The default users included in these two files are "admin" and "localhost". diff --git a/distribution/docs/src/main/resources/content/_managing/_configuring/web-context-policy-manager.adoc b/distribution/docs/src/main/resources/content/_managing/_configuring/web-context-policy-manager.adoc index 6356b2043e22..7b5980dc7119 100644 --- a/distribution/docs/src/main/resources/content/_managing/_configuring/web-context-policy-manager.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_configuring/web-context-policy-manager.adoc @@ -7,7 +7,7 @@ == {title} -The Web Context Policy Manager defines all security policies for REST endpoints within ${branding}. +The ((Web Context Policy Manager)) defines all security policies for REST endpoints within ${branding}. It defines: * the type of authentication for web pages (such as /admin and /search) and endpoints (context paths that start with /services) @@ -17,7 +17,7 @@ It defines: See <<{reference-prefix}org.codice.ddf.security.policy.context.impl.PolicyManager, Web Context Policy Manager Configurations>> for detailed descriptions of all fields. === Guest Access -Guest access is a toggleable configuration. +((Guest access)) is a toggleable configuration. Enabling guest access will cause all users to be assigned a guest principal for use throughout the entire system. The guest principal will be used either by itself or along with any other principals acquired from configured authentication types. @@ -26,6 +26,7 @@ Enabling session storage allows the system to persist the user login through the Note that the `SAML` and `OIDC` authentication types require session storage to be enabled. === Authentication Types +(((Authentication Types))) Through the Web Context Policy Manager, authentication types for ${branding} may be configured with the following format: diff --git a/distribution/docs/src/main/resources/content/_managing/_datamanagement/schematron-validation.adoc b/distribution/docs/src/main/resources/content/_managing/_datamanagement/schematron-validation.adoc index 70f0bd251045..4d74525c8749 100644 --- a/distribution/docs/src/main/resources/content/_managing/_datamanagement/schematron-validation.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_datamanagement/schematron-validation.adoc @@ -6,6 +6,7 @@ :summary: Adding Schematron Validation Services. == {title} +(((Schematron))) ${branding} uses https://github.com/schematron[Schematron Validation] {external-link} to validate metadata ingested into the catalog. diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/configure-single-sign-on.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/configure-single-sign-on.adoc index 9b3f942a0693..3a468f69eb15 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/configure-single-sign-on.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/configure-single-sign-on.adoc @@ -8,6 +8,7 @@ .[[_configuring_sso]]Configure Single Sign On (SSO) **** Configure Single Sign On method: SAML or OIDC. +(((Single Sign On, SSO))) .SAML SSO Enter the URLs for the IdP metatdata and set other options. diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/file-system-access.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/file-system-access.adoc index f5c5ef4bf69a..9608465bfff6 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/file-system-access.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/file-system-access.adoc @@ -17,6 +17,7 @@ This directory will be referred to in the documentation as `${home_directory}`. . Set maximum storage space on the `${home_directory}/deploy` and `${home_directory}/system` directories to restrict the amount of space used by deployments. === Setting Directory Permissions +(((Setting Directory Permissions))) * *{hardening-step}* diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/firewall-config.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/firewall-config.adoc index ee9f5ba89398..830c84906bf3 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/firewall-config.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/firewall-config.adoc @@ -6,6 +6,7 @@ :order: 09 === Firewall Port Configuration +(((Firewall Port Configuration))) Below is a table listing all of the default ports that ${branding} uses and a description of what they are used for. Firewalls will need to be configured to open these ports in order for external systems to communicate with ${branding}. diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/hardware-reqs.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/hardware-reqs.adoc index 89fd2bd0bfa8..35bc1ec556b7 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/hardware-reqs.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/hardware-reqs.adoc @@ -5,6 +5,7 @@ :order: 00 == Hardware Requirements +(((Hardware Requirements))) ====== diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup-exceptions.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup-exceptions.adoc index cb18462095ca..d0ca7924fd78 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup-exceptions.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup-exceptions.adoc @@ -10,6 +10,7 @@ These steps are handled differently for the initial setup of a Highly Available Cluster. === Failover Proxy Integration +(((Failover Proxy))) In order to integrate with a failover proxy, the ${branding} node's system properties (in `${home_directory}/etc/custom.system.properties`) must be changed to publish the correct port to external systems and users. This must be done before installing the first ${branding} node. See <<{managing-prefix}high_availability_initial_setup, High Availability Initial Setup>>. diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup.adoc index deac91153c21..f155edb1eabc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/high-availability-initial-setup.adoc @@ -6,6 +6,7 @@ :order: 10 == {title} +(((High Availability))) This section describes how to complete the initial setup of ${branding} in a <<{introduction-prefix}introduction_to_high_availability,Highly Available Cluster>>. diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/ie11-configuration.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/ie11-configuration.adoc index 15449abedb6e..f33e0f9d9c65 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/ie11-configuration.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/ie11-configuration.adoc @@ -6,6 +6,7 @@ :order: 09 === Internet Explorer 11 Enhanced Security Configuration +(((Internet Explorer 11 Enhanced Security Configuration))) Below are steps listing all of the changes that ${branding} requires to run on Internet Explorer 11 and several additional considerations to keep in mind. diff --git a/distribution/docs/src/main/resources/content/_managing/_installing/initial-startup.adoc b/distribution/docs/src/main/resources/content/_managing/_installing/initial-startup.adoc index 74d59f3dc2a2..6b4beb52c580 100644 --- a/distribution/docs/src/main/resources/content/_managing/_installing/initial-startup.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_installing/initial-startup.adoc @@ -6,6 +6,7 @@ :order: 02 == Initial Startup +(((Initial Startup))) Run the ${branding} using the appropriate script. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/catalog-backup.adoc b/distribution/docs/src/main/resources/content/_managing/_running/catalog-backup.adoc index 53bcea36abb9..15386c20739b 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/catalog-backup.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/catalog-backup.adoc @@ -6,7 +6,7 @@ == {title} -To backup local catalog records, a Catalog Backup Plugin is available. +To backup local catalog records, a ((Catalog Backup Plugin)) is available. It is not installed by default for performance reasons. See <<{developing-prefix}catalog_backup_plugin,Catalog Backup Plugin>> for installation and configuration instructions). diff --git a/distribution/docs/src/main/resources/content/_managing/_running/command-scheduler.adoc b/distribution/docs/src/main/resources/content/_managing/_running/command-scheduler.adoc index 49a2b925a63f..51198bce3bce 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/command-scheduler.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/command-scheduler.adoc @@ -7,7 +7,7 @@ == {title} -The Command Scheduler allows administrators to schedule Command Line Commands to be run at specified intervals. +The ((Command Scheduler)) allows administrators to schedule Command Line Commands to be run at specified intervals. The Command Scheduler allows administrators to schedule Command Line Shell Commands to be run in a platform-independent way. For instance, if an administrator wanted to use the Catalog commands to export all records of a Catalog to a directory, the administrator could write a cron job or a scheduled task to remote into the container and execute the command. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/console-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_running/console-commands.adoc index 3b3257507960..7ee058ca1efc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/console-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/console-commands.adoc @@ -5,6 +5,7 @@ :order: 00 == {title} +((({title}))) Once the distribution has started, administrators will have access to a powerful command line console, the ${command-console}. This ${command-console} can be used to manage services, install new features, and manage the state of the system. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/cql-syntax.adoc b/distribution/docs/src/main/resources/content/_managing/_running/cql-syntax.adoc index 87f48ff7eeac..166fdc14ed43 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/cql-syntax.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/cql-syntax.adoc @@ -7,7 +7,7 @@ == {title} -The CQL syntax used with console commands should follow the OGC CQL format. +The ((CQL syntax)) used with console commands should follow the OGC CQL format. GeoServer provides a description of the grammar and examples in this http://docs.geoserver.org/stable/en/user/tutorials/cql/cql_tutorial.html[CQL Tutorial] {external-link}. .CQL Syntax Examples diff --git a/distribution/docs/src/main/resources/content/_managing/_running/ddf-service.adoc b/distribution/docs/src/main/resources/content/_managing/_running/ddf-service.adoc index 6e39e519caa2..a4d4b29934aa 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/ddf-service.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/ddf-service.adoc @@ -5,9 +5,10 @@ :project: ${branding} :order: 07 -==== {title} +== {title} +((({title}))) -===== Running as a Service with Automatic Start on System Boot +=== Running as a Service with Automatic Start on System Boot Because ${branding} is built on top of Apache Karaf, ${branding} can use the Karaf Wrapper to run ${branding} as a service and enable automatic startup and shutdown. When ${branding} is started using Karaf Wrapper, new `wrapper.log` and `wrapper.log.n` (where n goes from 1 to 5 by default) log files will be generated to include wrapper and console specific information. @@ -95,7 +96,7 @@ ${home_directory}\bin\${branding-lowercase}-service.bat install Startup and shutdown settings can then be managed through *Services -> MMC Start -> Control Panel -> Administrative Tools -> Services*. -===== Karaf Documentation +=== Karaf Documentation Because ${branding} is built on top of Apache Karaf, more information on operating ${branding} can be found in the http://karaf.apache.org/index/documentation.html[Karaf documentation] {external-link}. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/directory-monitor-ingest.adoc b/distribution/docs/src/main/resources/content/_managing/_running/directory-monitor-ingest.adoc index 906058030959..7e1b0f4e59e9 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/directory-monitor-ingest.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/directory-monitor-ingest.adoc @@ -7,7 +7,7 @@ == {title} -The ${ddf-catalog} application contains a Content Directory Monitor feature that allows files placed in a single directory to be monitored and ingested automatically. +The ${ddf-catalog} application contains a ((Content Directory Monitor)) feature that allows files placed in a single directory to be monitored and ingested automatically. For more information about configuring a directory to be monitored, see <<{managing-prefix}configuring_the_content_directory_monitor,Configuring the Content Directory Monitor>>. Files placed in the monitored directory will be ingested automatically. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/forms-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_running/forms-commands.adoc index 9d896a425547..40581dcc4323 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/forms-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/forms-commands.adoc @@ -7,7 +7,7 @@ == {title} -System search provide a way to execute queries with pre-defined templates and search criteria. System search forms are loaded +((System search)) provide a way to execute queries with pre-defined templates and search criteria. System search forms are loaded via the system and are read-only. This command allows an administrator to ingest, modify or remove system search forms within the system. .Loading Forms With Defaults diff --git a/distribution/docs/src/main/resources/content/_managing/_running/ingest-command.adoc b/distribution/docs/src/main/resources/content/_managing/_running/ingest-command.adoc index f9164ad5fdc7..0fbfea57ea4f 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/ingest-command.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/ingest-command.adoc @@ -6,6 +6,7 @@ :order: 00 == {title} +((({title}))) The ${command-console} has a command-line option for ingesting data. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/ingesting.adoc b/distribution/docs/src/main/resources/content/_managing/_running/ingesting.adoc index 0fe8345f6824..2c7c91545029 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/ingesting.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/ingesting.adoc @@ -6,7 +6,7 @@ == {title} -Ingesting is the process of getting metacard(s) into the Catalog Framework. +((Ingesting)) is the process of getting metacard(s) into the Catalog Framework. Ingested files are "transformed" into a neutral format that can be searched against as well as migrated to other formats and systems. There are multiple methods available for ingesting files into the ${branding}. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/monitoring.adoc b/distribution/docs/src/main/resources/content/_managing/_running/monitoring.adoc index 16278427b8ac..d3f328f19346 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/monitoring.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/monitoring.adoc @@ -4,48 +4,50 @@ :summary: Monitoring an installed instance. :order: 00 +(((Monitoring))) The ${branding} contains many tools to monitor system functionality, usage, and overall system health. -==== Metrics Reporting +== Metrics Reporting +(((Metrics Reporting))) Metrics are exposed over a Prometheus endpoint at `/metrics`. In order to extract and store the metrics, a Prometheus server is required. A user interface like Grafana can be used to display metrics. -==== Managing Logging +== Managing Logging The ${branding} supports a dynamic and customizable logging system including log level, log format, log output destinations, roll over, etc. -===== Configuring Logging +=== Configuring Logging Edit the configuration file `${home_directory}/etc/org.ops4j.pax.logging.cfg]` -===== ${branding} log file +=== ${branding} log file The name and location of the log file can be changed with the following setting: `log4j.appender.out.file=${home_directory}/data/log/${branding-lowercase}.log` -===== Controlling log level +=== Controlling log level A useful way to debug and detect issues is to change the log level: `log4j.rootLogger=DEBUG, out, osgi:VmLogAppender` -===== Controlling the size of the log file +=== Controlling the size of the log file Set the maximum size of the log file before it is rolled over by editing the value of this setting: `log4j.appender.out.maxFileSize=20MB` -===== Number of backup log files to keep +=== Number of backup log files to keep Adjust the number of backup files to keep by editing the value of this setting: `log4j.appender.out.maxBackupIndex=10` -===== Enabling logging of inbound and outbound SOAP messages for the ${branding} SOAP endpoints +=== Enabling logging of inbound and outbound SOAP messages for the ${branding} SOAP endpoints By default, the ${branding} start scripts include a system property enabling logging of inbound and outbound SOAP messages. @@ -55,13 +57,13 @@ In order to see the messages in the log, one must set the logging level for `org `${branding-lowercase}${at-symbol}local>log:set INFO org.apache.cxf.services` -===== Logging External Resources +=== Logging External Resources Other appenders can be selected and configured. For more detail on configuring the log file and what is logged to the console see: http://karaf.apache.org/manual/latest/#_log[Karaf Documentation: Log] {external-link}. -===== Enabling HTTP Access Logging +=== Enabling HTTP Access Logging To enable access logs for the current ${branding}, do the following: @@ -101,13 +103,13 @@ This is the most popular format for access logs and can be parsed by many web se 127.0.0.1 - - [14/Jan/2013:16:21:33 +0000] "GET /favicon.ico HTTP/1.1" 200 0 ---- -===== Using the LogViewer +=== Using the LogViewer * Navigate to the ${admin-console} * Navigate to the *System* tab * Select *Logs* -The LogViewer displays the most recent 500 log messages by default, but will grow to a maximum of 5000 messages. +The ((LogViewer)) displays the most recent 500 log messages by default, but will grow to a maximum of 5000 messages. To view incoming logs, select the *PAUSED* button to toggle it to *LIVE* mode. Switching this back to *PAUSED* will prevent any new logs from being displayed in the LogViewer. Note that this only affects the logs displayed by the LogViewer and does not affect the underlying log. Log events can be filtered by: diff --git a/distribution/docs/src/main/resources/content/_managing/_running/os-services.adoc b/distribution/docs/src/main/resources/content/_managing/_running/os-services.adoc index 0be5c26418cb..d90511bdaf8e 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/os-services.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/os-services.adoc @@ -5,7 +5,8 @@ :project: ${branding} :order: 03 -=== {title} +== {title} +((({title}))) The lifecycle of ${branding} and Solr processes can be managed by the operating system. The ${branding} documentation provides instructions to install diff --git a/distribution/docs/src/main/resources/content/_managing/_running/platform-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_running/platform-commands.adoc index a6e7a9d1d428..d50c199cdf2b 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/platform-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/platform-commands.adoc @@ -6,6 +6,7 @@ :order: 04 == {title} +((({title}))) .[[_platform_command_descriptions]]Platform Command Descriptions [cols="1m,9" options="header"] diff --git a/distribution/docs/src/main/resources/content/_managing/_running/solr-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_running/solr-commands.adoc index 261e770d8e71..cda5a58b6715 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/solr-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/solr-commands.adoc @@ -6,6 +6,7 @@ :order: 02 == {title} +((({title}))) .[[_solr_command_descriptions]]Solr Command Descriptions [cols="1m,9a" options="header"] diff --git a/distribution/docs/src/main/resources/content/_managing/_running/starting-intro.adoc b/distribution/docs/src/main/resources/content/_managing/_running/starting-intro.adoc index 2cdfbe1a1769..90fc2fa69140 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/starting-intro.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/starting-intro.adoc @@ -4,6 +4,7 @@ :summary: Starting and stopping an instance. :order: 01 +(((Startup))) Follow the below steps to start and stop ${branding}. ==== Starting from Startup Scripts diff --git a/distribution/docs/src/main/resources/content/_managing/_running/store-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_running/store-commands.adoc index d3fcd6e9e7db..b13a5aaae5bf 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/store-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/store-commands.adoc @@ -6,6 +6,7 @@ :order: 06 == {title} +((({title}))) .[[_store_command_descriptions]]Persistence Store Command Descriptions [cols="2m,6"] diff --git a/distribution/docs/src/main/resources/content/_managing/_running/subscription-commands.adoc b/distribution/docs/src/main/resources/content/_managing/_running/subscription-commands.adoc index b3498ed8f140..2c77fa87c9f2 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/subscription-commands.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/subscription-commands.adoc @@ -6,6 +6,7 @@ :order: 03 == {title} +((({title}))) [NOTE] ==== diff --git a/distribution/docs/src/main/resources/content/_managing/_running/troubleshooting.adoc b/distribution/docs/src/main/resources/content/_managing/_running/troubleshooting.adoc index 57cb0a538b09..b878e5b4fedc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/troubleshooting.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/troubleshooting.adoc @@ -6,6 +6,7 @@ //// Troubleshooting //// +(((Troubleshooting))) If, after configuration, a ${branding} is not performing as expected, consult this table of common fixes and workarounds. diff --git a/distribution/docs/src/main/resources/content/_managing/_running/validator-plugins.adoc b/distribution/docs/src/main/resources/content/_managing/_running/validator-plugins.adoc index f30f117ff310..82a5abff2b81 100644 --- a/distribution/docs/src/main/resources/content/_managing/_running/validator-plugins.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_running/validator-plugins.adoc @@ -6,6 +6,7 @@ :summary: Validator plugins run on Ingest == {title} +(((Validator Plugins))) When Enforce Errors is enabled within the ${admin-console}, validator plugins ensure the data being ingested is valid. Below is a list of the validators run against the data ingested. @@ -23,20 +24,20 @@ ingested is valid. Below is a list of the validators run against the data ingest === Validators run on ingest -* *Size Validator*: Validates the size of an attribute's value(s). -* *Range Validator*: Validates an attribute's value(s) against an *inclusive* numeric range. -* *Enumeration Validator*: Validates an attribute's value(s) against a set of acceptable values. -* *Future Date Validator*: Validates an attribute's value(s) against the current date and time, +* *((Size Validator))*: Validates the size of an attribute's value(s). +* *((Range Validator))*: Validates an attribute's value(s) against an *inclusive* numeric range. +* *((Enumeration Validator))*: Validates an attribute's value(s) against a set of acceptable values. +* *((Future Date Validator))*: Validates an attribute's value(s) against the current date and time, validating that they are in the future. -* *Past Date Validator*: Validates an attribute's value(s) against the current date and time, +* *((Past Date Validator))*: Validates an attribute's value(s) against the current date and time, validating that they are in the past. -* *ISO3 Country Code Validator*: Validates an attribute's value(s) against the ISO_3166-1 Alpha3 country codes. -* *Pattern Validator*: Validates an attribute's value(s) against a regular expression. -* *Required Attributes Metacard Validator*: Validates that a metacard contains certain attributes. +* *((ISO3 Country Code Validator))*: Validates an attribute's value(s) against the ISO_3166-1 Alpha3 country codes. +* *((Pattern Validator))*: Validates an attribute's value(s) against a regular expression. +* *((Required Attributes Metacard Validator))*: Validates that a metacard contains certain attributes. - ID: *ddf.catalog.validation.impl.validator.RequiredAttributesMetacardValidator* -* *Duplication Validator*: Validates metacard against the local catalog for duplicates based on configurable attributes. +* *((Duplication Validator))*: Validates metacard against the local catalog for duplicates based on configurable attributes. - ID: *org.codice.ddf.validator.metacard.duplication.DuplicationValidator* -* *Relationship Validator*: Validates values that an attribute *must have*, *can only have*, and/or *can't have*. +* *((Relationship Validator))*: Validates values that an attribute *must have*, *can only have*, and/or *can't have*. - ID: *ddf.catalog.validation.impl.validator.RelationshipValidator* -* *Metacard WKT Validator*: Validates a location metacard attribute (WKT string) against valid geometric shapes. -- ID: *org.codice.ddf.validator.metacard.wkt.MetacardWktValidator* \ No newline at end of file +* *((Metacard WKT Validator))*: Validates a location metacard attribute (WKT string) against valid geometric shapes. +- ID: *org.codice.ddf.validator.metacard.wkt.MetacardWktValidator* diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/auditing.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/auditing.adoc index 8730e5dfaa39..6b40f6e82656 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/auditing.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/auditing.adoc @@ -10,7 +10,7 @@ * *{hardening-step}* -Audit logging captures security-specific system events for monitoring and review. +((Audit logging)) captures security-specific system events for monitoring and review. ${branding} provides an <<{developing-prefix}security_logging_plugin,Audit Plugin>> that logs all catalog transactions to the `security.log`. Information captured includes user identity, query information, and resources retrieved. diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/disallowing-login-wo-certs.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/disallowing-login-wo-certs.adoc index fafc7e7be7fa..638d3403a588 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/disallowing-login-wo-certs.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/disallowing-login-wo-certs.adoc @@ -6,6 +6,7 @@ :order: 08 == {title} +(((Disallowing Login Without Certificates))) ${branding} can be configured to prevent login without a valid PKI certificate. diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/hardening-checklist.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/hardening-checklist.adoc index 2111a93e9d55..979dfd32fa96 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/hardening-checklist.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/hardening-checklist.adoc @@ -6,6 +6,7 @@ :order: 03 == {title} +(((Hardening Checklist))) The following list enumerates the required mitigations needed for hardening. It is not intended to be a step-by-step procedure. To harden a new system, perform configuration as <<{managing-prefix}configuring,documented>>. diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/hardening-intro.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/hardening-intro.adoc index 96958cfc1a47..c61e1e77ed44 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/hardening-intro.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/hardening-intro.adoc @@ -9,6 +9,7 @@ .Security Hardening **** +(((Security Hardening))) To harden ${branding}, extra security precautions are required. Where available, necessary migitations to harden an installation of ${branding} are called out in the following configuration steps. diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/managing-crl.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/managing-crl.adoc index 75da7b4a8484..18c821ac5dcc 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/managing-crl.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/managing-crl.adoc @@ -9,7 +9,7 @@ * *{hardening-step}* -For hardening purposes, it is recommended to implement a way to verify a Certificate Revocation List (CRL) at least daily or an Online Certificate Status Protocol (OCSP) server. +For hardening purposes, it is recommended to implement a way to verify a ((Certificate Revocation List)) (CRL) at least daily or an ((Online Certificate Status Protocol (OCSP) server)). === Managing a Certificate Revocation List (CRL) A Certificate Revocation List is a collection of formerly-valid certificates that should explicitly _not_ be accepted. @@ -148,7 +148,7 @@ Caused by: java.security.cert.CertPathValidatorException: Certificate has been r === Managing an Online Certificate Status Protocol (OCSP) Server -An Online Certificate Status Protocol is a protocol used to verify the revocation status of a certificate. +An ((Online Certificate Status Protocol)) is a protocol used to verify the revocation status of a certificate. An OCSP server can be queried with a certificate to verify if it is revoked. The advantage of using an OCSP Server over a CRL is the fact that a local copy of the revoked certificates is not needed. @@ -166,4 +166,4 @@ The advantage of using an OCSP Server over a CRL is the fact that a local copy o ==== If an error occurs while communicating with the OCSP server, an alert will be posted to the ${admin-console}. Until the error is resolved, certificates will not be verified against the server. -==== \ No newline at end of file +==== diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/managing-keystores.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/managing-keystores.adoc index 90b25785fe83..5647e47eb442 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/managing-keystores.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/managing-keystores.adoc @@ -7,11 +7,11 @@ === {title} -Certificates, and sometimes their associated private keys, are stored in keystore files. +(((Keystores)))Certificates, and sometimes their associated private keys, are stored in keystore files. ${branding} includes two default keystore files, the server key store and the server trust store. The server keystore holds ${branding}'s certificate and private key. It will also hold the certificates of other nodes whose signature ${branding} will accept. -The truststore holds the certificates of nodes or other entities that ${branding} needs to trust. +(((Truststore)))The truststore holds the certificates of nodes or other entities that ${branding} needs to trust. [NOTE] ==== diff --git a/distribution/docs/src/main/resources/content/_managing/_securing/securing-intro.adoc b/distribution/docs/src/main/resources/content/_managing/_securing/securing-intro.adoc index c5f0d425b979..d322fd206646 100644 --- a/distribution/docs/src/main/resources/content/_managing/_securing/securing-intro.adoc +++ b/distribution/docs/src/main/resources/content/_managing/_securing/securing-intro.adoc @@ -12,7 +12,7 @@ Security is an important consideration for ${branding}, so it is imperative to u .Securing ${branding} Components [IMPORTANT] ==== -${branding} is enabled with an Insecure Defaults Service which will warn users/admins if the system is configured with insecure defaults. +${branding} is enabled with an ((Insecure Defaults Service)) which will warn users/admins if the system is configured with insecure defaults. A banner is displayed on the admin console notifying "The system is insecure because default configuration values are in use." diff --git a/distribution/docs/src/main/resources/content/_metadataReference/catalog-taxonomy-intro.adoc b/distribution/docs/src/main/resources/content/_metadataReference/catalog-taxonomy-intro.adoc index 83f77d7207f5..c7be8a74094f 100644 --- a/distribution/docs/src/main/resources/content/_metadataReference/catalog-taxonomy-intro.adoc +++ b/distribution/docs/src/main/resources/content/_metadataReference/catalog-taxonomy-intro.adoc @@ -6,6 +6,7 @@ :summary: Introduction to catalog taxonomy appendix. == {title} +((({title}))) To facilitate data sharing while maximizing the usefulness of metadata, the attributes on resources are normalized into a common taxonomy that maps to attributes in the desired output format. diff --git a/distribution/docs/src/main/resources/content/_metadataReference/metadata-attributes-intro.adoc b/distribution/docs/src/main/resources/content/_metadataReference/metadata-attributes-intro.adoc index 38647af9a00c..d6bc22c202f2 100644 --- a/distribution/docs/src/main/resources/content/_metadataReference/metadata-attributes-intro.adoc +++ b/distribution/docs/src/main/resources/content/_metadataReference/metadata-attributes-intro.adoc @@ -6,6 +6,7 @@ :summary: Introduction to metadata attributes. == {title} +(((Catalog Taxonomy))) ${branding} extracts basic metadata from the resources ingested. Many file types contain additional <<_file_format_specific_attributes,file format-specific metadata attributes>>. diff --git a/distribution/docs/src/main/resources/content/_quickstart/quickstart-certificates.adoc b/distribution/docs/src/main/resources/content/_quickstart/quickstart-certificates.adoc index 6b6472523949..bf1536e456ca 100644 --- a/distribution/docs/src/main/resources/content/_quickstart/quickstart-certificates.adoc +++ b/distribution/docs/src/main/resources/content/_quickstart/quickstart-certificates.adoc @@ -8,6 +8,7 @@ :order: 01 == Certificates (Quick Start) +(((Quick Start Certificates))) ${branding} comes with a default keystore that contains certificates. This allows the distribution to be unzipped and run immediately. @@ -31,7 +32,7 @@ This entry must be removed from the truststore before ${branding} can operate se ==== Creating New Server Keystore Entry with the CertNew Scripts -To create a private key and certificate signed by the Demo Certificate Authority, use the provided scripts. +To create a private key and certificate signed by the ((Demo Certificate Authority)), use the provided scripts. To use the scripts, run them out of the `${home_directory}/etc/certs` directory. @@ -115,6 +116,7 @@ From ${home_directory}/etc/certs/ run: After this proceed to <<{quickstart-prefix}updating_settings_after_changing_certificates,Updating Settings After Changing Certificates>>, and be sure to use the IP address instead of the FQDN. === Creating Self-Signed Certificates +(((Self-Signed Certificates))) If using the Demo CA is not desired, ${branding} supports creating self-signed certificates with a self-signed certificate authority. This is considered an advanced configuration. @@ -164,4 +166,4 @@ On linux this can be accomplished with a single command: `sed -i 's/localhost//g' ${home_directory}/etc/users.* ${home_directory}/etc/custom.system.properties` ==== -Finally, restart the ${branding} instance. Navigate to the ${admin-console} to test changes. \ No newline at end of file +Finally, restart the ${branding} instance. Navigate to the ${admin-console} to test changes. diff --git a/distribution/docs/src/main/resources/content/_quickstart/quickstart-configuring.adoc b/distribution/docs/src/main/resources/content/_quickstart/quickstart-configuring.adoc index 35ab00799557..9049b494327d 100644 --- a/distribution/docs/src/main/resources/content/_quickstart/quickstart-configuring.adoc +++ b/distribution/docs/src/main/resources/content/_quickstart/quickstart-configuring.adoc @@ -8,6 +8,7 @@ :order: 02 == Configuring (Quick Start) +(((Quick start configuration))) Set the configurations needed to run ${branding}. diff --git a/distribution/docs/src/main/resources/content/_quickstart/quickstart-installing.adoc b/distribution/docs/src/main/resources/content/_quickstart/quickstart-installing.adoc index ecedf7ca2ca0..1663c6ee86e0 100644 --- a/distribution/docs/src/main/resources/content/_quickstart/quickstart-installing.adoc +++ b/distribution/docs/src/main/resources/content/_quickstart/quickstart-installing.adoc @@ -17,6 +17,8 @@ For security reasons, ${branding} cannot be started from a user's home directory ==== === Quick Install Prerequisites +(((Quick Install Prerequisites))) + .Hardware Requirements (Quick Install) * At least 4096MB of memory for ${branding}. ** This amount can be increased to support memory-intensive applications. See <<{managing-prefix}jvm_memory_configuration, Memory Considerations>>. @@ -32,6 +34,7 @@ Prior to installing ${branding}, ensure the system time is accurate to prevent f ==== === Quick Install of SolrCloud +(((Quick Install of SolrCloud))) . Download a preconfigured Solr distribution http://artifacts.codice.org/service/local/repositories/releases/content/ddf/solr-distro/${ddf.version}/solr-distro-${ddf.version}-assembly.zip[zip file] {external-link}. . Unzip the Solr zip file. @@ -42,6 +45,7 @@ Prior to installing ${branding}, ensure the system time is accurate to prevent f .. Press enter for all other prompts to accept defaults. === Quick Install of ${branding} +(((Quick Install of ${branding}))) WARNING: The ${branding} installation will not succeed unless SolrCloud is running. See <<_quick_install_of_solrcloud>> for instructions. @@ -80,6 +84,7 @@ ${branding-lowercase}${at-symbol}local> ---- === Quick Install of ${branding} on a remote headless server +(((Quick Install of ${branding} on a remote headless server))) If ${branding} is being installed on a remote server that has no user interface, the hostname will need to be updated in the configuration files and certificates. @@ -123,4 +128,4 @@ fs.file-max = 6815744 ---- init 6 ---- -==== \ No newline at end of file +==== diff --git a/distribution/docs/src/main/resources/content/_quickstart/quickstart-intro.adoc b/distribution/docs/src/main/resources/content/_quickstart/quickstart-intro.adoc index bdaf8cd13f65..8d7c118f8828 100644 --- a/distribution/docs/src/main/resources/content/_quickstart/quickstart-intro.adoc +++ b/distribution/docs/src/main/resources/content/_quickstart/quickstart-intro.adoc @@ -9,7 +9,7 @@ == {title} -This quick tutorial will enable install, configuring and using a basic instance of ${branding}. +(((Quick start guide)))This quick tutorial will enable install, configuring and using a basic instance of ${branding}. [NOTE] ==== diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-admin.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-admin.adoc index fdd44d12f8be..9fb7f207db97 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-admin.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-admin.adoc @@ -5,6 +5,7 @@ :order: 01 == {title} Application Reference +((({title}))) The ${ddf-admin} Application contains components that are integral for the configuration of ${branding} applications. It contains various services and interfaces that allow administrators control over their systems and enhances administrative capabilities. diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-catalog.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-catalog.adoc index b422b40727c1..8f8015b32fad 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-catalog.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-catalog.adoc @@ -5,6 +5,7 @@ :order: 03 == {title} Application Reference +((({title}))) The ${ddf-catalog} provides a framework for storing, searching, processing, and transforming information. diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-platform.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-platform.adoc index 217ab124c119..4a5dcc3b1860 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-platform.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-platform.adoc @@ -5,6 +5,7 @@ :order: 06 == {title} Application Reference +((({title}))) The ${ddf-platform} application is considered to be a core application of the distribution. The Platform application provides the fundamental building blocks that the distribution needs to run. diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-security.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-security.adoc index 8fa76c3b336e..582581541051 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-security.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-security.adoc @@ -5,6 +5,7 @@ :order: 09 == {title} Application Reference +((({title}))) The Security application provides authentication, authorization, and auditing services for the ${branding}. These services comprise both a framework that developers and integrators can extend as well as a reference implementation that meets security requirements. diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-solr.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-solr.adoc index eec2339718c5..f9861e790648 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-solr.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-solr.adoc @@ -5,6 +5,7 @@ :order: 10 == {title} Application Reference +((({title}))) {branding} uses http://lucene.apache.org/solr/[Solr] for data storage, by default. diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-spatial.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-spatial.adoc index 53760833ad6b..9d2a9edd7660 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-spatial.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-spatial.adoc @@ -5,6 +5,7 @@ :order: 11 == {title} Application Reference +((({title}))) The ${ddf-spatial} Application provides KML transformer and a KML network link endpoint that allows a user to generate a View-based KML Query Results Network Link. diff --git a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-ui.adoc b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-ui.adoc index af9e10501a9e..dd33a608f922 100644 --- a/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-ui.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_appReferences/mg-ui.adoc @@ -5,6 +5,7 @@ :order: 12 == {title} Application Reference +((({title}))) The Search UI is a user interface that enables users to search a catalog and associated sites for content and metadata. @@ -15,7 +16,7 @@ To use the ${ddf-ui} application, the following applications/features must be in * ${ddf-platform} * ${ddf-catalog} -=== Installing ${ddf-ui} +=== Installing ${ddf-ui} Install the ${ddf-ui} application through the ${admin-console}. diff --git a/distribution/docs/src/main/resources/content/_reference/_dependencyList/ddf-dependency-list.adoc b/distribution/docs/src/main/resources/content/_reference/_dependencyList/ddf-dependency-list.adoc index c27c9e71a696..22c51e534f96 100644 --- a/distribution/docs/src/main/resources/content/_reference/_dependencyList/ddf-dependency-list.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_dependencyList/ddf-dependency-list.adoc @@ -1,4 +1,4 @@ -:title: Dependency List +:title: Java Dependency List :type: reference :status: published :parent: ${ddf-branding} Dependency List @@ -6,6 +6,7 @@ :summary: ${ddf-branding} ${project.version} Dependency List. == {summary} +((({title}))) * c3p0:c3p0:jar:0.9.1.1 * ca.juliusdavies:not-yet-commons-ssl:jar:0.3.11 * ch.qos.logback:logback-access:jar:1.2.3 @@ -340,4 +341,4 @@ * xerces:xercesImpl:jar:2.11.0 * xerces:xercesImpl:jar:2.9.1 * xml-apis:xml-apis:jar:1.4.01 -* xpp3:xpp3:jar:1.1.4c \ No newline at end of file +* xpp3:xpp3:jar:1.1.4c diff --git a/distribution/docs/src/main/resources/content/_reference/_dependencyList/js-dependency-list.adoc b/distribution/docs/src/main/resources/content/_reference/_dependencyList/js-dependency-list.adoc index de6e1e2e08df..d32530d8f76e 100644 --- a/distribution/docs/src/main/resources/content/_reference/_dependencyList/js-dependency-list.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_dependencyList/js-dependency-list.adoc @@ -6,6 +6,7 @@ :summary: ${branding} ${project.version} Javascript Dependency List. == {summary} +((({title}))) * amdefine: 1.0.1 * are-we-there-yet: 1.1.5 * asn1: 0.2.4 diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/catalog-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/catalog-whitelist.adoc index d5c5b490d8b4..2ec66a6c69fc 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/catalog-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/catalog-whitelist.adoc @@ -7,6 +7,7 @@ :summary: ${ddf-catalog} whitelist. == {title} +((({title}))) The following classes have been exported by the ${ddf-catalog} application and are approved for use by third parties: diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/platform-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/platform-whitelist.adoc index 6df343867742..0e5fdb102c53 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/platform-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/platform-whitelist.adoc @@ -6,6 +6,7 @@ :summary: ${ddf-platform} whitelist. == {title} +((({title}))) The following classes have been exported by the ${ddf-platform} application and are approved for use by third parties: diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/removed-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/removed-whitelist.adoc index bf88aa98d01e..fbf7ea23103e 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/removed-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/removed-whitelist.adoc @@ -6,6 +6,7 @@ :summary: List of packages removed from the whitelist == {title} +((({title}))) In the transition of the whitelist from the ambiguous package listing to the new class listing several errors were found. The packages originally listed that were removed either did not exist, contained experimental interfaces, or contained only internal implementations and should have never been included in the whitelist. The following is a list of packages that were listed in error and have been removed from the whitelist. diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/security-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/security-whitelist.adoc index d51ce4ff9bc0..ad8f77feb51b 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/security-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/security-whitelist.adoc @@ -6,6 +6,7 @@ :summary: ${ddf-security} whitelist. == {title} +((({title}))) The following classes have been exported by the ${ddf-security} application and are approved for use by third parties: diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/solr-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/solr-whitelist.adoc index a945914b896d..59c5d6bad33c 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/solr-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/solr-whitelist.adoc @@ -6,6 +6,7 @@ :summary: ${ddf-solr} whitelist. == {title} +((({title}))) The following classes have been exported by the ${ddf-solr} application and are approved for use by third parties: diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/spatial-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/spatial-whitelist.adoc index 13d292242503..eeb30704245c 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/spatial-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/spatial-whitelist.adoc @@ -6,6 +6,7 @@ :summary: ${ddf-spatial} whitelist. == {title} +((({title}))) The following classes have been exported by the ${ddf-spatial} application and are approved for use by third parties: diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/ui-whitelist.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/ui-whitelist.adoc index defad9118244..7b2e3df1010f 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/ui-whitelist.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/ui-whitelist.adoc @@ -6,6 +6,7 @@ :summary: ${ddf-ui} whitelist. == {title} +((({title}))) The following classes have been exported by the ${ddf-ui} application and are approved for use by third parties: diff --git a/distribution/docs/src/main/resources/content/_reference/_whitelists/whitelist-intro.adoc b/distribution/docs/src/main/resources/content/_reference/_whitelists/whitelist-intro.adoc index 9c60739120bc..89769d90f279 100644 --- a/distribution/docs/src/main/resources/content/_reference/_whitelists/whitelist-intro.adoc +++ b/distribution/docs/src/main/resources/content/_reference/_whitelists/whitelist-intro.adoc @@ -5,5 +5,6 @@ :summary: Introduction to application whitelists. == {title} +((({title}))) Within each ${branding} application, certain packages are exported for use by third parties. diff --git a/distribution/docs/src/main/resources/content/_using/measure-distance.adoc b/distribution/docs/src/main/resources/content/_using/measure-distance.adoc index 9c8ad1719670..0e0a4c562357 100644 --- a/distribution/docs/src/main/resources/content/_using/measure-distance.adoc +++ b/distribution/docs/src/main/resources/content/_using/measure-distance.adoc @@ -17,4 +17,4 @@ then select *Measure Distance* and *Select end point*. Select *Copy current distance* to view and copy the distance. . Select *Clear all coordinates* to clear the points and line. -image::measure-distance.png[Measure Distance] \ No newline at end of file +image::measure-distance.png[Measure Distance] diff --git a/distribution/docs/src/main/resources/content/_using/using-simple-search-ui.adoc b/distribution/docs/src/main/resources/content/_using/using-simple-search-ui.adoc index 2d050974ce1c..5e32607dd3d6 100644 --- a/distribution/docs/src/main/resources/content/_using/using-simple-search-ui.adoc +++ b/distribution/docs/src/main/resources/content/_using/using-simple-search-ui.adoc @@ -7,7 +7,7 @@ == {title} -The ${branding} Simple Search UI application provides a low-bandwidth option for searching records in the local Catalog (provider) and federated sources. +The ${branding} ((Simple Search UI)) application provides a low-bandwidth option for searching records in the local Catalog (provider) and federated sources. Results are returned in HTML format. === Search diff --git a/distribution/docs/src/main/resources/content/_using/view-histogram.adoc b/distribution/docs/src/main/resources/content/_using/view-histogram.adoc index 0a40ea6a5a57..f09bd12f6f5f 100644 --- a/distribution/docs/src/main/resources/content/_using/view-histogram.adoc +++ b/distribution/docs/src/main/resources/content/_using/view-histogram.adoc @@ -6,8 +6,9 @@ :order: 02 == {title} +((({title})))(((Histogram))) . Select a search, right click on the map view, and select *View Histogram* to view a histogram for the search. . Select an attribute to group and compare entries by. -image::view-histogram.png[View Histogram] \ No newline at end of file +image::view-histogram.png[View Histogram] diff --git a/distribution/docs/src/main/resources/templates/architectures.ftl b/distribution/docs/src/main/resources/templates/architectures.ftl index 63df98b0091c..1f9a0aa5284f 100644 --- a/distribution/docs/src/main/resources/templates/architectures.ftl +++ b/distribution/docs/src/main/resources/templates/architectures.ftl @@ -13,6 +13,15 @@ include::config.adoc[] <#include "developing-build.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/developing.ftl b/distribution/docs/src/main/resources/templates/developing.ftl index aa1100891ddf..d2f0b00baaab 100644 --- a/distribution/docs/src/main/resources/templates/developing.ftl +++ b/distribution/docs/src/main/resources/templates/developing.ftl @@ -15,6 +15,15 @@ include::config.adoc[] <#include "development-guidelines.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/documentation.ftl b/distribution/docs/src/main/resources/templates/documentation.ftl index a28f4a03a2f3..b09e3465b5a7 100644 --- a/distribution/docs/src/main/resources/templates/documentation.ftl +++ b/distribution/docs/src/main/resources/templates/documentation.ftl @@ -64,8 +64,11 @@ include::config.adoc[] ifdef::backend-pdf[] +<<< + [index] == Index + endif::backend-pdf[] ifdef::backend-html5[] diff --git a/distribution/docs/src/main/resources/templates/integrating.ftl b/distribution/docs/src/main/resources/templates/integrating.ftl index 0c0fdae3be4a..63f4adac61bc 100644 --- a/distribution/docs/src/main/resources/templates/integrating.ftl +++ b/distribution/docs/src/main/resources/templates/integrating.ftl @@ -13,6 +13,15 @@ include::config.adoc[] <#include "integrating-build.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/managing.ftl b/distribution/docs/src/main/resources/templates/managing.ftl index 4ad8faf71892..b7a9c7c2bd3d 100644 --- a/distribution/docs/src/main/resources/templates/managing.ftl +++ b/distribution/docs/src/main/resources/templates/managing.ftl @@ -13,6 +13,15 @@ include::config.adoc[] <#include "managing-build.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/metadata.ftl b/distribution/docs/src/main/resources/templates/metadata.ftl index 6be7239f9d9b..3022dd3a3350 100644 --- a/distribution/docs/src/main/resources/templates/metadata.ftl +++ b/distribution/docs/src/main/resources/templates/metadata.ftl @@ -14,6 +14,15 @@ include::config.adoc[] <#include "metadata-reference.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/overview.ftl b/distribution/docs/src/main/resources/templates/overview.ftl index 7bdb632a26d5..7b22b21f825f 100644 --- a/distribution/docs/src/main/resources/templates/overview.ftl +++ b/distribution/docs/src/main/resources/templates/overview.ftl @@ -13,6 +13,15 @@ include::config.adoc[] <#include "introduction.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/quickstart.ftl b/distribution/docs/src/main/resources/templates/quickstart.ftl index ad0c7ff88f25..91fa836fa59b 100644 --- a/distribution/docs/src/main/resources/templates/quickstart.ftl +++ b/distribution/docs/src/main/resources/templates/quickstart.ftl @@ -13,6 +13,15 @@ include::config.adoc[] <#include "quickstart-build.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] + ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/reference.ftl b/distribution/docs/src/main/resources/templates/reference.ftl index 51a171ec5354..cf9e59b4327c 100644 --- a/distribution/docs/src/main/resources/templates/reference.ftl +++ b/distribution/docs/src/main/resources/templates/reference.ftl @@ -16,6 +16,14 @@ include::config.adoc[] <#include "reference-build.ftl"> +ifdef::backend-pdf[] + +<<< + +[index] +== Index + +endif::backend-pdf[] ifdef::backend-html5[] include::${project.build.directory}/asciidoctor-ready-${project.version}/scripts.html[] diff --git a/distribution/docs/src/main/resources/templates/using.ftl b/distribution/docs/src/main/resources/templates/using.ftl index d41723956464..c6e38d89f60e 100644 --- a/distribution/docs/src/main/resources/templates/using.ftl +++ b/distribution/docs/src/main/resources/templates/using.ftl @@ -15,8 +15,11 @@ include::config.adoc[] ifdef::backend-pdf[] +<<< + [index] == Index + endif::backend-pdf[] ifdef::backend-html5[]