Source Code management

In order to contribute to the source code, you will have to know a few things about Git and the development model we follow. You can read the CONTRIBUTING.MD in the source.

FusionDirectory source code management is handled by GIT and hosted on our own GitLab.

A mirror is also available on GitHub.

Branches

On the Git repository, you will find several existing branches:

  • master contains latest released official code,

  • dev contains the current code in development,

The dev branch is where new features are added. This code is reputed as non stable.

The master branch is the released code. This code is reputed as stable.

There is five main repositories :

FusionDirectory

FusionDirectory web application

FusionDirectory Integrator

FusionDirectory toolkit libraries

FusionDirectory Tools

FusionDirectory set of tools for FusionDirectory and FusionDirectory Orchestrator

FusionDirectory Orchestrator

FusionDirectory REST Orchestrator handling the tasks

File Hierarchy System

Note

This lists current files and directories listed in the FusionDirectory core source code.

This is a brieve description of FusionDirectory core main folders and files:

  • .tx: Transifex configuration

  • contrib

    • apache

      • fusiondirectory-apache.conf: FusionDirectory apache configuration

    • docs

      • fusiondirectory-oid.pdf: Registration of FusionDirectory oid at IANA

    • lighttpd

      • fusiondirectory-lighttpd.conf: FusionDirectory lighttpd configuration file

    • openldap : FusionDirectory core schema

      • core-fd.schema: FusionDirectory core schema

      • core-fd-conf.schema: FusionDirectory core configuration schema

      • ldapns.schema: LDAP Name Service Additional Schema

      • template-fd.schema: FusionDirectory template schema

    • smarty

      • plugins

        • block.render.php: FusionDirectory smarty block render

        • function.filePath.php: FusionDirectory smarty filepath function

        • function.iconPath.php: FusionDirectory smarty iconpath function

        • function.msgPool.php: FusionDirectory smarty message function

    • fusiondirectory.conf: FusionDirectory configuration template

  • html

    • images: static images and lists images

    • include: FusionDirectory javascript libraries

      • fusiondirectory.js: FusionDirectory javascript functionalities

      • pulldow.js: dropdown javascript class

      • pwstrength.js: FusionDirectory password strength method based on prototype

      • tsorter.js: list sorter javascript class

    • plugins: static image and javascript for the user photo

    • themes : FusionDirectory themes

      • breezy: default breezy theme

        • *.css: themes css

        • index.theme: definition of the theme following free desktop specification

        • icons: icons for the theme following free desktop specification

        • images: static images for this theme if needed (not recommended)

        • less: FusionDirectory javascript for the theme compiled with less

        • svg: icons in svg format

  • ihtml : smarty theme tpl folders

    • themes

      • breezy : official theme

        • management: smarty templates for the management list system of FusionDirectory

        • *.tpl: smarty templates for FusionDirectory

  • include : core FusionDirectory library and helpers

    • errors: library managing the errors in FusionDirectory

    • exporter: export to pdf and xls

    • login: all the authentification types provided by FusionDirectory

    • management: all object specific select dialog and methods

    • password-methods: all password methods understod by FusionDirectory

    • simpleplugin: FusionDirectory simpleplugin API

  • locale

    • ar: ISO code of the language

      • fusiondirectory.po: Gettext’s translations

  • plugins

    • configuration : FusionDirectory core configuration backend

    • dashboard: FusionDirectory task and plugin manager dashboard

    • generic: References library

    • management: FusionDirectory classes that goes with the list management system

    • personal : FusionDiretory users and roles class

    • workflow : FusionDirectory core task and mail template

  • .gitignore: Git ignore list

  • AUTHORS.MD: list of FusionDirectory authors

  • CODE_OF_CONDUCT.MD: FusionDirectory code of conduct

  • CONTRIBUTING.MD: How to contribute to FusionDirectory

  • CHANGELOG.MD: FusionDirectory Changelog

  • Changelog: pointing to CHANGELOG.MD

  • LICENSE: FusionDirectory licence

  • README.md: all about FusionDirectory :)

  • SECURITY.md: How to contact FusionDirectory securely for reporting security issues

  • UPGRADE.md: How to upgrade FusionDirectory