NAME

Lemonldap::NG::Manager - Perl extension for managing Lemonldap::NG Web-SSO system.

SYNOPSIS

#!/usr/bin/env plackup -I pl/lib

use Lemonldap::NG::Manager;

# This must be the last instruction ! See PSGI for more
Lemonldap::NG::Manager->run($opts);

DESCRIPTION

Lemonldap::NG::Manager provides a web interface to manage Lemonldap::NG Web-SSO system.

The Perl part of Lemonldap::NG::Manager is the REST server. Web interface is written in Javascript, using AngularJS framework and can be found in `site` directory. The REST API is described in REST-API.md file given in source tree.

Lemonldap::NG Manager uses Plack to be compatible with CGI, FastCGI,... It inherits of Lemonldap::NG::Handler::PSGI::Router

ORGANIZATION

Lemonldap::NG Manager contains 4 parts:

Configuration management:

see Lemonldap::NG::Manager::Conf;

Session explorer:

see Lemonldap::NG::Manager::Sessions;

Notification explorer:

see Lemonldap::NG::Manager::Notifications;

Some files uses to generate static files:

see below.

Generation of static files

The `scripts/jsongenerator.pl` file uses Lemonldap::NG::Manager::Build::Attributes, Lemonldap::NG::Manager::Build::Tree and Lemonldap::NG::Manager::Build::CTrees to generate

`site/static/struct.json`:

the main file that contains the tree view;

`site/static/js/conftree.js`:

generates sub tree for virtualhosts and SAML and OpenID-Connect partners;

`Lemonldap::NG::Manager::Constants`:

constants used by all Perl manager components;

`Lemonldap::NG::Common::Conf::DefaultValues`:

constants used to read configuration.

PARAMETERS

You can use a hash ref to override any LemonLDAP::NG parameter. Currently, you can specify where your lemonldap-ng.ini file is:

Lemonldap::NG::Manager->run( { confFile => '/path/to/lemonldap-ng.ini' } );

lemonldap-ng.ini parameters

You can override any configuration parameter in lemonldap-ng.ini, but some are required and can't be set to global configuration (as any Lemonldap::NG module, you can also fix them in $opts hash ref passed as argument to run() or new()).

[manager]
;protection:     choose one of none, authenticate, manager as explain in
;                Lemonldap::NG::Handler::PSGI::Router doc.
protection     = manager

;enabledModules: Modules to display. Default to `conf, sessions, notifications`
enabledModules = conf, sessions, notifications

;logLevel:       choose one of error, warn, notice, info, debug
;                See Lemonldap::NG::Common::PSGI doc for more
logLevel       = notice

;staticPrefix:   set here the URI path to static content
;                See Lemonldap::NG::Common::PSGI doc for more
staticPrefix   = static/

;languages:      Available interface languages
languages      = en, fr

;templateDir:    the path to the directory containing HTML templates
;                See Lemonldap::NG::Common::PSGI doc for more
templateDir    = /usr/share/lemonldap-ng/manager/

SEE ALSO

Lemonldap::NG::Handler::Router, Lemonldap::NG::Portal, Plack, PSGI, Lemonldap::NG::Manager::Conf, Lemonldap::NG::Manager::Sessions, Lemonldap::NG::Manager::Notifications http://lemonldap-ng.org/

AUTHORS

Clement Oudot, <clem.oudot@gmail.com>
François-Xavier Deltombe, <fxdeltombe@gmail.com.>
Xavier Guimard, <x.guimard@free.fr>
Thomas Chemineau, <thomas.chemineau@gmail.com>

BUG REPORT

Use OW2 system to report bug or ask for features: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues

DOWNLOAD

Lemonldap::NG is available at http://forge.objectweb.org/project/showfiles.php?group_id=274

COPYRIGHT AND LICENSE

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.