4. Reference

4.1. Glossary

  • App: see EDG-AF app

  • App base URL: the absolute URL of the app, including its context path. The example apps all run on port 8081 with the context /app-example, so that the app configuration is accessible at http://localhost:8081/app-example/configuration.

  • EDG base URL: the absolute URL of the EDG server, such as http://your-edg-server.example.com/edg/ or http://localhost:8080/. The framework builds on this URL to access the EDG API. For example, with an EDG base URL of http://localhost:8080/ the server administration page is http://localhost:8080/tbl/admin.

  • EDG server: a deployment of the TopBraid EDG web application to a servlet container such as Tomcat

  • EDG-AF app: an auxiliary web application that extends the TopBraid EDG platform in order to provide additional functionality, such as importers or exporters

4.2. EDG-AF API

The EDG App Framework class AppConfiguration.java defines a schema for the JSON object that an EDG-AF app returns in response GET /configuration. See the Javadocs for AppConfiguration and associated classes.

4.3. EDG-AF Maven artifacts

The TopQuadrant Nexus repository includes a number of EDG-AF-related Maven artifacts:

  • libraries for the EDG App Framework

  • abstract base classes (ABC’s) for EDG-AF apps in different web application frameworks

See this document for instructions on how to set up access.

4.3.1. Releasing Maven artifacts

The process for releasing new Java artifacts to the Maven repository is:

  1. Checkout main branch.

  2. Manually change any -SNAPSHOT dependencies of this project to release versions e.g., edg-client:X-X-X-SNAPSHOT.

  3. Manually change any Scala build.sbt dependencies on this project to the next release version.

  4. Commit those changes but don’t push.

  5. Call framework/script/prepare-release.sh to run Maven release:prepare. Tag with the new version number without any prefixes or suffixes e.g., 1.0.0. The prepare process tags the current `X.X.X-SNAPSHOT as X.X.X and advances pom.xml’s to the next -SNAPSHOT.

  6. Push changes.

  7. Manually change any -SNAPSHOT dependencies of this project back (reverting step 2.)

  8. Manually change any Scala build.sbt dependencies on this project to the next SNAPSHOT version.

  9. Commit those changes and push.

  10. Run git clean -f to delete detritus created by Maven release:prepare. We don’t use release:perform because CI pushes the release to Nexus.

  11. Go to the project page on GitHub, click “Releases”, click the release version (which was just tagged), click “Edit tag”, and upload the CLI assembly .jar.