Creating the yaml file

A yaml file must be created in the root folder of your plugin named “control.yaml”

There is 3 parts:

  • information : Mandatory to define the plugin

  • support : Mandatory, content must be equal to the support provided : community is a reserved word for non-company support.

  • requirement : Optional but it’s encouraged to fill it

Information

Syntax

keyword

presence

description

name

mandatory

identifier of plugin (small string)

description

mandatory

description of plugin (long string)

version

mandatory

version of plugin (small string like X.Y)

authors

mandatory

Array of author(s) e-mail addresses

status

mandatory

“Development” or “Stable”

screenshotUrl

recommended

Array of Url of screenshots files ( png/gif/jpg)

logoUrl

recommended

url to the logo file

tags

recommended

Array of tags used to sort the plugins in FusionDirectory market

license

mandatory

identifier of the license used like : GPLv2

origin

mandatory

“Source” or “Package” Package is for distribution packaging, the tools will not attempt to insttall or remove the plugin

Example

information:
  name : notes
  description : "This plugins provide a way to add some notes per each Fusion Directory Object"
  version : "0.1"
  authors :
    - "author@domain.fr"
  status : Development
  screenshotUrl:
    - https://raw.githubusercontent.com/gallak/fusiondirectory-plugins-notes/main/contrib/doc/capture1.png
  logoUrl : "https://github.com/gallak/fusiondirectory-plugins-notes/logo.png"
  tags: ["information","notes","plugin" ]
  license: "GPLv2"
  origin: "source"

support

Syntax

keyword

presence

description

provider

mandatory

provider of support : “community” or name of the company

homeUrl

mandatory

Link to the homepage of the plugin

ticketUrl

recommended

Link to the ticket system of the plugin

discussionUrl

recommended

Link to the discussion page of the plugin

downloadUrl

mandatory

Link to the archive of the plugin

schemaUrl

recommended

Link to the LDAP schema used by plugin

contractUrl

none

Link to the company professionnal support page for FusionDirectory

Example

Community support section

support:
  provider : community
  homeUrl : "https://github.com/gallak/fusiondirectory-plugins-notes"
  ticketUrl : "https://github.com/gallak/fusiondirectory-plugins-notes/issues"
  discussionUrl : "https://github.com/gallak/fusiondirectory-plugins-notes/wiki"
  downloadUrl: "https://github.com/gallak/fusiondirectory-plugins-notes/archive/refs/heads/main.zip"
  schemaUrl : "https://schemas.fusiondirectory.org/"

Professional support section

support:
  provider: fusiondirectory
  homeUrl : "https://github.com/gallak/fusiondirectory-plugins-notes"
  ticketUrl : "https://github.com/gallak/fusiondirectory-plugins-notes/issues"
  discussionUrl : "https://github.com/gallak/fusiondirectory-plugins-notes/wiki"
  downloadUrl: "https://github.com/gallak/fusiondirectory-plugins-notes/archive/refs/heads/main.zip"
  schemaUrl: "https://schemas.fusiondirectory.org/"
  contractUrl: https://www.fusiondirectory.org/abonnements-fusiondirectory/

Requirement

Syntax

keyword

presence

description

fdVersion

mandatory

Minimal version of FusionDirectory need for this plugin (small string)

phpVersion

mandatory

Minimal version of PHP need for this plugin using semantic versionning

plugins

optionnal

List of plugins dependencies

Example

requirement:
  fdVersion : 1.4
  phpVersion : 7.2.0