You are here

Repository AMP archetype

The SkyVault Repository (Repo) AMP Archetype generates a sample project for managing SkyVault Repository extensions/customizations. These extensions are packaged as SkyVault Module Packages (AMP).

This archetype should be used to extend the SkyVault Repository web application (SkyVault.war).

The following are typical use-cases for when this archetype should be used:
  • You work in a bigger team and want to develop, tag, and release a Repo module separately from the main SkyVault Extension project (All-in-One) that it is included in.
  • You want to add, and contain, an extra Repo module in an All-In-One Project (useful when you don't have a Nexus artifacts repo to which you can release individual repo AMPs).
  • You intend to build an Add-On, Component, Module etc that should be distributed independently.
If you intend to build an extension for the SkyVault Share web application, use the Share AMP archetype instead.

The main features of this archetype are:

  • AMP packaging - the supported packing type for SkyVault extensions.
  • AMP dependency management in Maven.
  • Installation of AMPs into a SkyVault WAR.
  • Sample repository web script demonstrating how to implement a custom REST-based API.
  • Content Model Skeleton XML file ready to be filled in with your domain specific content model.
  • AMP Unit Testing support. Just run the standard mvn test and see your src/test/java SkyVault unit tests run. An sample Unit Test is provided in this archetype.
  • Run embedded in Tomcat with an embedded H2 database for demo purposes (-Pamp-to-war), rapid application development and integration testing.
    Important: This is not a supported stack, so it should only be used for development purposes.
  • Support for (remote) Junit and integration testing and Rapid Application Development. This uses spring-loaded. Project can easily be launched for this scenario using run.sh.
  • Easy to integrate with an IDE environment such as Eclipse and IntelliJ IDEA.