Lemonldap-NG-Manager

 view release on metacpan or  search on metacpan

scripts/llng-build-manager-files  view on Meta::CPAN

Output path for portal Constants.pm file.

=item B<--handler-status-constants-file>=I<path>

Output path for StatusConstants.pm file.

=item B<--lang-dir>=I<path>

Directory containing language JSON files (e.g., en.json, fr.json).
Translations from extensions will be merged into these files.

=item B<--verbose>, B<-v>

Show detailed progress information.

=item B<--help>, B<-h>

Show help message.

=back

=head1 EXTENSION FILE FORMAT

=head2 Perl Format (.pm)

  package MyPlugin::Extension;

  sub attributes {
      return {
          myPluginEnabled => {
              type          => 'bool',
              default       => 0,
              documentation => 'Enable my plugin',
              help          => 'myplugin.html',
          },
          myPluginOption => {
              type    => 'text',
              default => 'default_value',
          },
      };
  }

  sub tree {
      return {
          insert_into => 'generalParameters/plugins',
          nodes => [
              {
                  title => 'myPluginNode',
                  help  => 'myplugin.html',
                  form  => 'simpleInputContainer',
                  nodes => ['myPluginEnabled', 'myPluginOption'],
              }
          ],
      };
  }

  sub ctrees {
      return {
          # Extend oidcRPMetaDataNode with additional options
          oidcRPMetaDataNode => {
              insert_after => 'oidcRPMetaDataMacros',
              nodes => [
                  {
                      title => 'myPluginOidcOptions',
                      form  => 'simpleInputContainer',
                      nodes => ['myPluginOidcAttr'],
                  }
              ],
          },
      };
  }

  sub constants {
      return {
          PE_MYPLUGIN_ERROR => 200,
      };
  }

  sub lang {
      return {
          myPluginEnabled => {
              en => 'Enable my plugin',
              fr => 'Activer mon plugin',
          },
          myPluginOption => {
              en => 'My plugin option',
              fr => 'Option de mon plugin',
          },
      };
  }

  1;

=head2 JSON Format (.json)

  {
    "attributes": {
      "myPluginEnabled": {
        "type": "bool",
        "default": 0,
        "documentation": "Enable my plugin"
      }
    },
    "tree": {
      "insert_into": "generalParameters/plugins",
      "nodes": [
        {
          "title": "myPluginNode",
          "form": "simpleInputContainer",
          "nodes": ["myPluginEnabled"]
        }
      ]
    },
    "ctrees": {},
    "constants": {
      "PE_MYPLUGIN_ERROR": 200
    },
    "lang": {
      "myPluginEnabled": {
        "en": "Enable my plugin",
        "fr": "Activer mon plugin"



( run in 0.433 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )