Skip to content

Commit

Permalink
[#81] Fix documentation links (#89)
Browse files Browse the repository at this point in the history
  • Loading branch information
maximthomas authored Oct 1, 2024
1 parent 60d46e7 commit 8d0fa16
Show file tree
Hide file tree
Showing 18 changed files with 137 additions and 153 deletions.
54 changes: 17 additions & 37 deletions openig-doc/src/main/asciidoc/gateway-guide/chap-extending.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -570,22 +570,22 @@ If the lookup and authentication are successful, you see the profile page of the
[#about-custom-extensions]
=== Developing Custom Extensions
OpenIG includes a complete Java link:../apidocs/index.html[application programming interface, window=\_blank] to allow you to customize OpenIG to perform complex server interactions or intensive data transformations that you cannot achieve with scripts or the existing handlers, filters, and expressions described in xref:../reference/expressions-conf.adoc#Expressions[Expressions(5)] in the __Configuration Reference__.
OpenIG includes a complete Java link:{apidocs-url}/index.html[application programming interface, window=\_blank] to allow you to customize OpenIG to perform complex server interactions or intensive data transformations that you cannot achieve with scripts or the existing handlers, filters, and expressions described in xref:../reference/expressions-conf.adoc#Expressions[Expressions(5)] in the __Configuration Reference__.
[#extension-points]
==== Key Extension Points
Interface Stability: Evolving (For information, see xref:../reference/appendix-interface-stability.adoc#interface-stability[ForgeRock Product Interface Stability] in the __Configuration Reference__.)
Interface Stability: Evolving (For information, see xref:../reference/appendix-interface-stability.adoc#interface-stability[Product Interface Stability] in the __Configuration Reference__.)
--
The following interfaces are available:
link:../apidocs/index.html?org/forgerock/openig/decoration/Decorator.html[Decorator, window=\_blank]::
link:{apidocs-url}/index.html?org/forgerock/openig/decoration/Decorator.html[Decorator, window=\_blank]::
A `Decorator` adds new behavior to another object without changing the base type of the object.
+
When suggesting custom `Decorator` names, know that OpenIG reserves all field names that use only alphanumeric characters. To avoid clashes, use dots or dashes in your field names, such as `my-decorator`.
link:../apidocs/index.html?org/forgerock/openig/el/ExpressionPlugin.html[ExpressionPlugin, window=\_blank]::
link:{apidocs-url}/index.html?org/forgerock/openig/el/ExpressionPlugin.html[ExpressionPlugin, window=\_blank]::
An `ExpressionPlugin` adds a node to the `Expression` context tree, alongside `env` (for environment variables), and `system` (for system properties). For example, the expression `${system['user.home']}` yields the home directory of the user running the application server for OpenIG.
+
Expand All @@ -597,28 +597,28 @@ When you add your own `ExpressionPlugin`, you must make it discoverable within y
+
Be sure to provide some documentation for OpenIG administrators on how your plugin extends expressions.
link:../apidocs/index.html?org/forgerock/http/Filter.html[Filter, window=\_blank]::
link:{apidocs-url}/index.html?org/forgerock/http/Filter.html[Filter, window=\_blank]::
+
A `Filter` serves to process a request before handing it off to the next element in the chain, in a similar way to an interceptor programming model.
+
The `Filter` interface exposes a `filter()` method, which takes a link:../apidocs/index.html?org/forgerock/http/Context.html[Context, window=\_blank], a link:../apidocs/index.html?org/forgerock/http/protocol/Request.html[Request, window=\_blank], and the link:../apidocs/index.html?org/forgerock/http/Handler.html[Handler, window=\_blank], which is the next filter or handler to dispatch to. The `filter()` method returns a link:../apidocs/index.html?org/forgerock/util/Promise.html[Promise, window=\_blank] that provides access to the link:../apidocs/index.html?org/forgerock/http/protocol/Response.html[Response, window=\_blank] with methods for dealing with both success and failure conditions.
The `Filter` interface exposes a `filter()` method, which takes a link:{apidocs-url}/index.html?org/forgerock/http/Context.html[Context, window=\_blank], a link:{apidocs-url}/index.html?org/forgerock/http/protocol/Request.html[Request, window=\_blank], and the link:{apidocs-url}/index.html?org/forgerock/http/Handler.html[Handler, window=\_blank], which is the next filter or handler to dispatch to. The `filter()` method returns a link:{apidocs-url}/index.html?org/forgerock/util/Promise.html[Promise, window=\_blank] that provides access to the link:{apidocs-url}/index.html?org/forgerock/http/protocol/Response.html[Response, window=\_blank] with methods for dealing with both success and failure conditions.
+
A filter can elect not to pass the request to the next filter or handler, and instead handle the request itself. It can achieve this by merely avoiding a call to `next.handle(context, request)`, creating its own response object and returning that in the promise. The filter is also at liberty to replace a response with another of its own. A filter can exist in more than one chain, therefore should make no assumptions or correlations using the chain it is supplied. The only valid use of a chain by a filter is to call its `handle()` method to dispatch the request to the rest of the chain.
+
OpenIG also provides the convenience class, link:../apidocs/index.html?org/forgerock/openig/heap/GenericHeapObject.html[GenericHeapObject, window=\_blank], to help with configuration.
OpenIG also provides the convenience class, link:{apidocs-url}/index.html?org/forgerock/openig/heap/GenericHeapObject.html[GenericHeapObject, window=\_blank], to help with configuration.
link:../apidocs/index.html?org/forgerock/http/Handler.html[Handler, window=\_blank]::
link:{apidocs-url}/index.html?org/forgerock/http/Handler.html[Handler, window=\_blank]::
+
A `Handler` generates a response for a request.
+
The `Handler` interface exposes a `handle()` method, which takes a link:../apidocs/index.html?org/forgerock/http/Context.html[Context, window=\_blank], and a link:../apidocs/index.html?org/forgerock/http/protocol/Request.html[Request, window=\_blank]. It processes the request and returns a link:../apidocs/index.html?org/forgerock/util/promise/Promise.html[Promise, window=\_blank] that provides access to the link:../apidocs/index.html?org/forgerock/http/protocol/Response.html[Response, window=\_blank] with methods for dealing with both success and failure conditions. A handler can elect to dispatch the request to another handler or chain.
The `Handler` interface exposes a `handle()` method, which takes a link:{apidocs-url}/index.html?org/forgerock/http/Context.html[Context, window=\_blank], and a link:{apidocs-url}/index.html?org/forgerock/http/protocol/Request.html[Request, window=\_blank]. It processes the request and returns a link:{apidocs-url}/index.html?org/forgerock/util/promise/Promise.html[Promise, window=\_blank] that provides access to the link:{apidocs-url}/index.html?org/forgerock/http/protocol/Response.html[Response, window=\_blank] with methods for dealing with both success and failure conditions. A handler can elect to dispatch the request to another handler or chain.
+
OpenIG also provides the convenience class, link:../apidocs/index.html?org/forgerock/openig/heap/GenericHeapObject.html[GenericHeapObject, window=\_blank], to help with configuration.
OpenIG also provides the convenience class, link:{apidocs-url}/index.html?org/forgerock/openig/heap/GenericHeapObject.html[GenericHeapObject, window=\_blank], to help with configuration.
--
Expand Down Expand Up @@ -785,44 +785,24 @@ The corresponding heap object configuration then looks as follows:
[#custom-heap-config]
==== Configuring the Heap Object for the Customization
Objects are added to the heap and supplied with configuration artifacts at initialization time. To be integrated with the configuration, a class must have an accompanying implementation of the link:../apidocs/index.html/org/forgerock/openig/heap/Heaplet.html[Heaplet, window=\_blank] interface. The easiest and most common way of exposing the heaplet is to extend the link:../apidocs/index.html/org/forgerock/openig/heap/GenericHeaplet.html[GenericHeaplet, window=\_blank] class in a nested class of the class you want to create and initialize, overriding the heaplet's link:../apidocs/index.html/org/forgerock/openig/heap/GenericHeaplet.html#create()[create(), window=\_blank] method.
Objects are added to the heap and supplied with configuration artifacts at initialization time. To be integrated with the configuration, a class must have an accompanying implementation of the link:{apidocs-url}/index.html/org/forgerock/openig/heap/Heaplet.html[Heaplet, window=\_blank] interface. The easiest and most common way of exposing the heaplet is to extend the link:{apidocs-url}/index.html/org/forgerock/openig/heap/GenericHeaplet.html[GenericHeaplet, window=\_blank] class in a nested class of the class you want to create and initialize, overriding the heaplet's link:{apidocs-url}/index.html/org/forgerock/openig/heap/GenericHeaplet.html#create()[create(), window=\_blank] method.
Within the `create()` method, you can access the object's configuration through the link:../apidocs/index.html/org/forgerock/openig/heap/GenericHeaplet.html#config[config, window=\_blank] field.
Within the `create()` method, you can access the object's configuration through the link:{apidocs-url}/index.html/org/forgerock/openig/heap/GenericHeaplet.html#config[config, window=\_blank] field.
[#custom-build]
==== Building the Customization
You can use Apache Maven to manage dependencies on OpenIG. The dependencies are found in the ForgeRock Maven repository.
You can use Apache Maven to manage dependencies on OpenIG. The dependencies are found in the Central Maven repository.
The following listing shows the Maven POM configuration for the ForgeRock Maven repository and the dependency to build the sample filter:
[source, xml]
----
<repositories>
<repository>
<id>forgerock-staging-repository</id>
<name>ForgeRock Release Repository</name>
<url>http://maven.forgerock.org/repo/releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>forgerock-snapshots-repository</id>
<name>ForgeRock Snapshot Repository</name>
<url>http://maven.forgerock.org/repo/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.forgerock.openig</groupId>
<groupId>org.openidentityplatform.openig</groupId>
<artifactId>openig-core</artifactId>
<version>4.5.0</version>
<version>5.3.0</version>
</dependency>
</dependencies>
----
Expand Down Expand Up @@ -854,11 +834,11 @@ For example, if your .jar file is in a project named `sample-filter`, and the de
[source, console]
----
$ mkdir root && cd root
$ jar -xf ~/Downloads/OpenIG-4.5.0.war
$ jar -xf ~/Downloads/OpenIG-5.3.0.war
$ cp ~/Documents/sample-filter/target/sample-filter-1.0.0-SNAPSHOT.jar WEB-INF/lib
$ jar -cf ../custom.war *
----
In this example, the resulting `custom.war` contains the custom sample filter. You can deploy the custom .war file as you would deploy `OpenIG-4.5.0.war`.
In this example, the resulting `custom.war` contains the custom sample filter. You can deploy the custom .war file as you would deploy `OpenIG-5.3.0.war`.
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ Follow these steps to install OpenIG:
. Get OpenIG software.
+
Enterprise software releases are available through the ForgeRock link:https://backstage.forgerock.com/[BackStage, window=\_blank] site. Enterprise releases are thoroughly validated builds for ForgeRock customers who run OpenIG in production deployments, and for those who want to try or test with release builds. Make sure you review and agree with the Software License and Subscription Agreement in order to use the software.
OpenIG releases are available on the link:https://github.com/OpenIdentityPlatform/OpenIG/releases[GitHub, window=\_blank].
. Deploy the OpenIG .war file __to the root context__ of the web application container.
+
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ This tutorial calls for you to set up several different software components:
* OpenAM is installed on `\http://openam.example.com:8088/openam`.
* Download and run the link:https://maven.forgerock.org/repo/private-releases/org/forgerock/openig/openig-doc/4.5.0/openig-doc-4.5.0-jar-with-dependencies.jar[minimal HTTP server .jar, window=\_top] to use as the application to protect:
* Download and run the link:https://oss.sonatype.org/service/local/repositories/releases/content/org/openidentityplatform/openig/openig-doc/5.3.0/openig-doc-5.3.0-jar-with-dependencies.jar[minimal HTTP server .jar, window=\_top] to use as the application to protect:
+
The openig-doc-4.5.0-jar-with-dependencies.jar application listens at `\http://app.example.com:8081`. The minimal HTTP server is run with the `java -jar openig-doc-4.5.0-jar-with-dependencies.jar` command, as described in xref:chap-quickstart.adoc#chap-quickstart[Getting Started].
The openig-doc-5.3.0-jar-with-dependencies.jar application listens at `\http://app.example.com:8081`. The minimal HTTP server is run with the `java -jar openig-doc-5.3.0-jar-with-dependencies.jar` command, as described in xref:chap-quickstart.adoc#chap-quickstart[Getting Started].
* OpenIG is deployed in Jetty as described in xref:chap-quickstart.adoc#chap-quickstart[Getting Started]. OpenIG listens at `\http://openig.example.com:8080`.
Expand All @@ -84,7 +84,7 @@ The openig-doc-4.5.0-jar-with-dependencies.jar application listens at `\http://a
[#capture-replay-setup]
=== Setup Details
In this section, it is assumed that you are familiar with the components involved. For OpenAM and OpenAM policy agent documentation, see link:https://backstage.forgerock.com/docs/am[https://backstage.forgerock.com/docs/am, window=\_blank].
In this section, it is assumed that you are familiar with the components involved. For OpenAM and OpenAM policy agent documentation, see link:https://doc.openidentityplatform.org/openam[https://doc.openidentityplatform.org/openam, window=\_blank].
[#capture-relay-setup-openam]
==== Setting Up OpenAM Server
Expand Down
10 changes: 5 additions & 5 deletions openig-doc/src/main/asciidoc/gateway-guide/chap-quickstart.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ OpenIG runs in the following web application containers:
* Jetty 8, 9 or 10
. link:https://backstage.forgerock.com/downloads[Download, window=\_blank] the OpenIG .war file.
. link:https://github.com/OpenIdentityPlatform/OpenIG/releases[Download, window=\_blank] the OpenIG.war file.
. Deploy OpenIG in the root context.
+
Expand All @@ -67,7 +67,7 @@ Copy the OpenIG .war file as `root.war` to the `/path/to/jetty/webapps/`:
[source, console]
----
$ cp OpenIG-4.5.0.war /path/to/jetty/webapps/root.war
$ cp OpenIG-5.3.0.war /path/to/jetty/webapps/root.war
----
+
Jetty automatically deploys OpenIG in the root context on startup.
Expand Down Expand Up @@ -114,12 +114,12 @@ Now that OpenIG is installed, set up a sample application to protect.
====
Follow these steps:
. Download and run the link:https://maven.forgerock.org/repo/private-releases/org/forgerock/openig/openig-doc/4.5.0/openig-doc-4.5.0-jar-with-dependencies.jar[minimal HTTP server .jar, window=\_top] to use as the application to protect:
. Download and run the link:https://oss.sonatype.org/service/local/repositories/releases/content/org/openidentityplatform/openig/openig-doc/5.3.0/openig-doc-5.3.0-jar-with-dependencies.jar[minimal HTTP server .jar, window=\_top] to use as the application to protect:
+
[source, console]
----
$ java -jar openig-doc-4.5.0-jar-with-dependencies.jar
$ java -jar openig-doc-5.3.0-jar-with-dependencies.jar
Preparing to listen for HTTP on port 8081.
Preparing to listen for HTTPS on port 8444.
The server will use a self-signed certificate not known to browsers.
Expand All @@ -140,7 +140,7 @@ By default, this server listens for HTTP on port 8081, and for HTTPS on port 844
[source, console]
----
$ java -jar openig-doc-4.5.0-jar-with-dependencies.jar 8888 8889
$ java -jar openig-doc-5.3.0-jar-with-dependencies.jar 8888 8889
Preparing to listen for HTTP on port 8888.
Preparing to listen for HTTPS on port 8889.
The server will use a self-signed certificate not known to browsers.
Expand Down
2 changes: 1 addition & 1 deletion openig-doc/src/main/asciidoc/gateway-guide/chap-uma.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ The settings match if you are using the defaults described in this chapter. If n
[source, console]
----
$ cd /path/to/web/server/files/
$ jar -xvf /path/to/openig-doc-4.5.0-jar-with-dependencies.jar uma
$ jar -xvf /path/to/openig-doc-5.3.0-jar-with-dependencies.jar uma
created: uma/
inflated: uma/alice.html
inflated: uma/bob.html
Expand Down
2 changes: 2 additions & 0 deletions openig-doc/src/main/asciidoc/gateway-guide/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
:figure-caption!:
:example-caption!:
:table-caption!:
:apidocs-url: https://doc.openidentityplatform.org/openig/apidocs
[abstract]
Instructions for installing and configuring OpenIG, a high-performance reverse proxy server with specialized session management and credential replay functionality.
Expand Down
Loading

0 comments on commit 8d0fa16

Please sign in to comment.