API framework for Ligoj plugins
- org.ligoj.app.iam.IamProvider: Identity and Access Management (IAM) provider of the application.
- org.ligoj.app.iam.IamConfigurationProvider
- org.ligoj.app.iam.IAuthenticationContributor
- org.ligoj.app.iam.ICompanyRepository
- org.ligoj.app.iam.IContainerRepository
- org.ligoj.app.iam.IGroupRepository
- org.ligoj.app.iam.IUserRepository
Minimal Maven structure for a plugin:
- Version, following the semver convention
- Plugin artifact id
- Must start with the parent service plugin artifact id. For sample, plugin plugin-id-ldapis a tool plugin for the serviceplugin-id.
- Otherwise, Must start with plugin-, without additional hyphen.
 
- Must start with the parent service plugin artifact id. For sample, plugin 
- Parent service plugin artifact as provideddependency.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.ligoj.api</groupId>
		<artifactId>plugin-parent</artifactId>
        <version>4.1.12</version> <!-- Version of plugin API -->
		<relativePath />
	</parent>
	<groupId>org.ligoj.plugin</groupId>
	<artifactId>plugin-id-ldap</artifactId> <!-- Tool plugin artifact-id, must start with "plugin-" -->
	<version>1.1.3-SNAPSHOT</version>       <!-- Tool plugin version -->
	<packaging>jar</packaging>
    <!-- Feature dependency -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.ligoj.plugin</groupId>
                <artifactId>plugin-id</artifactId>        <!-- Service plugin artifact-id -->
                <version>[2.2.0-SNAPSHOT,2.3.0)</version> <!-- Service plugin version range -->
                <scope>provided</scope>                   <!-- Always provided -->
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>Produced artifacts for a plugin named plugin-id-ldap are:
- Main jar file: plugin-id-ldap-1.0.0.jar
- Javadoc jar file: plugin-id-ldap-1.0.0-javadoc.jar. Optional, but when deployed, contributes to generated OpenAPI JSON file.
- Sources jar file: plugin-id-ldap-1.0.0-sources.jar. Optional.
- Test sources jar file: plugin-id-ldap-1.0.0-test-sources.jar. Optional.
- Jacoco coverage result
The following command generate all artifacts and run UTs and Its
mvn package -Pjavadoc,jacoco,sourcesThe common steps:
- Login to application
- Go to the Administrationpage
- Choose the Pluginsection
The specific steps:
- Click on Install > Install from file
- In the modal, fill the inputs accordingly to your plugin
- Upload it
- Restart the application
The specific steps:
- Click on Install > Install from repository
- In the modal, type the artifact name
- Choose one or many plugins
- Confirm
- Restart the application
The Ligoj CLI is an administration tool for all Ligoj API operations.
See all command options with ligoj plugin
The command is:
ligoj plugin upload --id "plugin-id-ldap" --version "1.1.4" --from "/path/to/plugin-id-ldap-1.1.4.jar"The command is:
ligoj plugin install --id "plugin-id-ldap" --version "1.1.4"  --repository "central" --javadoc