diff --git a/source/_static/images/marketplace/marketplace-show-list.png b/source/_static/images/marketplace/marketplace-show-list.png new file mode 100644 index 0000000000000000000000000000000000000000..7baf66dc800a601d15b362834c467ff510a98117 Binary files /dev/null and b/source/_static/images/marketplace/marketplace-show-list.png differ diff --git a/source/_static/images/marketplace/marketplace-show-plugin.png b/source/_static/images/marketplace/marketplace-show-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..9850a69c43103ff29656c7d400cd0efcbe57d74c Binary files /dev/null and b/source/_static/images/marketplace/marketplace-show-plugin.png differ diff --git a/source/index.rst b/source/index.rst index b31a021d33b407f141469508d9cf7404311500ed..0f141bc2063c17145cdc09f3d8d807d06fba633e 100644 --- a/source/index.rst +++ b/source/index.rst @@ -17,6 +17,7 @@ Contents: :maxdepth: 2 fusiondirectory/index.rst + marketplace/index.rst releasing/index.rst support/index.rst security/index.rst diff --git a/source/marketplace/index.rst b/source/marketplace/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..c4d4c3c2b1eb696133f12e541d7f50a52d861e68 --- /dev/null +++ b/source/marketplace/index.rst @@ -0,0 +1,15 @@ +FusionDirectory marketplace +=========================== + +The FusionDirectory marketplace is the best way to find new plugins for FusionDirectory. + +.. image:: /_static/images/marketplace/marketplace-show-plugin.png + +If you are interested in helping other finding your plugins you will need to read the following documentation + + +.. toctree:: + :maxdepth: 2 + + yaml/index.rst + tags/index.rst diff --git a/source/marketplace/tags/index.rst b/source/marketplace/tags/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..3d6c939c8434a5ac2f1949106191f16e9328e740 --- /dev/null +++ b/source/marketplace/tags/index.rst @@ -0,0 +1,10 @@ +Authorized tags +=============== + +To be able to filter the plugin by usage, the marketplace can filter the plugins by tags. +The tags are also used to help the user understand in what categorie the plugin is. + +.. toctree:: + :maxdepth: 2 + + tags.rst diff --git a/source/marketplace/tags/tags.rst b/source/marketplace/tags/tags.rst new file mode 100644 index 0000000000000000000000000000000000000000..47e429b03faa01fa270fccc7c82b61ff92c68ed1 --- /dev/null +++ b/source/marketplace/tags/tags.rst @@ -0,0 +1,37 @@ +Authorized tags +=============== + +To be able to filter the plugin by usage, the marketplace can filter the plugins by tags. +The tags are also used to help the user understand in what categorie the plugin is. + +tags +---- + +Syntax +^^^^^^ + ++---------------+---------------------------------------------------------------------------------------------------------------------------------------+ +| tags | 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| ++---------------+-------------+-------------------------------------------------------------------------------------------------------------------------+ + + diff --git a/source/marketplace/yaml/index.rst b/source/marketplace/yaml/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..ab45b9a703743b01aa665f632dfac82e757e9617 --- /dev/null +++ b/source/marketplace/yaml/index.rst @@ -0,0 +1,5 @@ + +.. toctree:: + :maxdepth: 2 + + yaml.rst diff --git a/source/marketplace/yaml/yaml.rst b/source/marketplace/yaml/yaml.rst new file mode 100644 index 0000000000000000000000000000000000000000..366bd0ba8aeb786e79c9997cfb58dc56ffd9c651 --- /dev/null +++ b/source/marketplace/yaml/yaml.rst @@ -0,0 +1,140 @@ +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 +^^^^^^^ + +.. code-block:: yaml + + 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 +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: yaml + + 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 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: yaml + + 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 +^^^^^^^ + +.. code-block:: yaml + + requirement: + fdVersion : 1.4 + phpVersion : 7.2.0 +