Plugin core-impl

Version: Not specified

Features detail

core-impl/runtime.user.directory.impl.static

This features defines the static implementation of users

Extensions:

org.ametys.plugins.core.user.directory.Static

Associated java class:
org.ametys.core.user.directory.DefaultUserDirectoryModel

Associated javascript class:
org.ametys.plugins.core.impl.user.directory.StaticUserDirectory

Extension point extended:
org.ametys.core.user.directory.UserDirectoryFactory

Configuration:

<extension id="org.ametys.plugins.core.user.directory.Static" class="org.ametys.core.user.directory.DefaultUserDirectoryModel" point="org.ametys.core.user.directory.UserDirectoryFactory" logger="org.ametys.plugins.core.impl.users.static">
<class name="org.ametys.plugins.core.impl.user.directory.StaticUserDirectory"/>
<label i18n="true">PLUGINS_CORE_USERS_STATIC_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_STATIC_DESCRIPTION</description>
<parameters>
<param id="runtime.users.static.users" type="string">
<label i18n="true">PLUGINS_CORE_USERS_STATIC_PARAM_USERS_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_STATIC_PARAM_USERS_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<widget>edition.textarea</widget>
<default-value>anonymous:Anonymous:User:user@ametys.org</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.user.directory.impl.jdbc

This features defines the jdbc implementation of users. Users can be modified and authenticated through the API. .

Extensions:

org.ametys.plugins.core.user.directory.Jdbc

Associated java class:
org.ametys.core.user.directory.DefaultUserDirectoryModel

Associated javascript class:
org.ametys.plugins.core.impl.user.directory.JdbcUserDirectory

Extension point extended:
org.ametys.core.user.directory.UserDirectoryFactory

Configuration:

<extension id="org.ametys.plugins.core.user.directory.Jdbc" class="org.ametys.core.user.directory.DefaultUserDirectoryModel" point="org.ametys.core.user.directory.UserDirectoryFactory" logger="org.ametys.plugins.core.impl.users.jdbc">
<class name="org.ametys.plugins.core.impl.user.directory.JdbcUserDirectory"/>
<label i18n="true">PLUGINS_CORE_USERS_JDBC_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_JDBC_DESCRIPTION</description>
<parameters>
<param id="runtime.users.jdbc.datasource" type="datasource">
<label i18n="true">PLUGINS_CORE_USERS_JDBC_DATASOURCE_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_JDBC_DATASOURCE_DESCRIPTION</description>
<widget>edition.datasource-sql</widget>
<widget-params>
<param name="allowCreation">true</param>
<param name="allowPrivate">true</param>
<param name="allowInternal">true</param>
<param name="allowedDbTypes">derby,mysql,oracle,postgresql,hsqldb</param>
</widget-params>
<validation>
<custom-validator class="org.ametys.core.datasource.SQLDatabaseTypeValidator">
<mandatory/>
<allowed-dbtypes>derby,mysql,oracle,postgresql,hsqldb</allowed-dbtypes>
</custom-validator>
</validation>
</param>
<param id="runtime.users.jdbc.table" type="string">
<label i18n="true">PLUGINS_CORE_USERS_JDBC_DATASOURCE_TABLE_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_JDBC_DATASOURCE_TABLE_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>Users</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.user.directory.impl.ldap

This feature defines the ldap implementation of users. Users can be authenticated through the API.

Extensions:

org.ametys.plugins.core.user.directory.Ldap

Associated java class:
org.ametys.core.user.directory.DefaultUserDirectoryModel

Associated javascript class:
org.ametys.plugins.core.impl.user.directory.LdapUserDirectory

Extension point extended:
org.ametys.core.user.directory.UserDirectoryFactory

Configuration:

<extension id="org.ametys.plugins.core.user.directory.Ldap" class="org.ametys.core.user.directory.DefaultUserDirectoryModel" point="org.ametys.core.user.directory.UserDirectoryFactory" logger="org.ametys.plugins.core.user.ldap">
<class name="org.ametys.plugins.core.impl.user.directory.LdapUserDirectory"/>
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_DESCRIPTION</description>
<parameters>
<param id="runtime.users.ldap.datasource" type="datasource">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_DATASOURCE_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_DATASOURCE_DESCRIPTION</description>
<widget>edition.datasource-ldap</widget>
<widget-params>
<param name="allowCreation">true</param>
</widget-params>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.users.ldap.peopleDN" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_PEOPLEDN_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_PEOPLEDN_DESCRIPTION</description>
<default-value>ou=people</default-value>
</param>
<param id="runtime.users.ldap.baseFilter" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_BASEFILTER_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_BASEFILTER_DESCRIPTION</description>
<validation>
<mandatory/>
<regexp>\s*\(.*\)\s*</regexp>
</validation>
<default-value>(objectclass=*)</default-value>
</param>
<param id="runtime.users.ldap.scope" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_SEARCH_SCOPE_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_SEARCH_SCOPE_DESCRIPTION</description>
<enumeration>
<custom-enumerator class="org.ametys.core.util.ldap.ScopeEnumerator"/>
</enumeration>
<validation>
<mandatory/>
</validation>
<default-value>one</default-value>
</param>
<param id="runtime.users.ldap.loginAttr" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_LOGIN_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_LOGIN_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>uid</default-value>
</param>
<param id="runtime.users.ldap.firstnameAttr" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_FIRSTNAME_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_FIRSTNAME_DESCRIPTION</description>
<default-value>givenName</default-value>
</param>
<param id="runtime.users.ldap.lastnameAttr" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_LASTNAME_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_LASTNAME_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>sn</default-value>
</param>
<param id="runtime.users.ldap.emailAttr" type="string">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_EMAIL_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_EMAIL_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>mail</default-value>
</param>
<param id="runtime.users.ldap.emailMandatory" type="boolean">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_EMAIL_MANDATORY_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_ATTR_EMAIL_MANDATORY_DESCRIPTION</description>
<default-value>false</default-value>
</param>
<param id="runtime.users.ldap.serverSideSorting" type="boolean">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_SERVER_SIDE_SORTING_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CONFIG_SERVER_SIDE_SORTING_DESCRIPTION</description>
<default-value>true</default-value>
</param>
<param-checker id="runtime.users.ldap.checker" class="org.ametys.plugins.core.impl.checker.LdapUserDirectoryChecker">
<label i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CHECKER_LABEL</label>
<description i18n="true">PLUGINS_CORE_USERS_LDAPUSER_CHECKER_DESCRIPTION</description>
<icon-small>img/config/check/test_ldapconnect_16.png</icon-small>
<icon-medium>img/config/check/test_ldapconnect_32.png</icon-medium>
<icon-large>img/config/check/test_ldapconnect_48.png</icon-large>
<linked-params>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.datasource"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.peopleDN"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.baseFilter"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.scope"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.loginAttr"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.firstnameAttr"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.lastnameAttr"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.emailAttr"/>
<param-ref id="org.ametys.plugins.core.user.directory.Ldap$runtime.users.ldap.emailMandatory"/>
</linked-params>
</param-checker>
</parameters>
</extension>

core-impl/runtime.group.directory.impl.jdbc

This features defines the base jdbc implementation of groups

Extensions:

org.ametys.plugins.core.group.directory.Jdbc

Associated java class:
org.ametys.core.group.directory.DefaultGroupDirectoryModel

Associated javascript class:
org.ametys.plugins.core.impl.group.directory.jdbc.JdbcGroupDirectory

Extension point extended:
org.ametys.core.group.directory.GroupDirectoryFactory

Configuration:

<extension id="org.ametys.plugins.core.group.directory.Jdbc" class="org.ametys.core.group.directory.DefaultGroupDirectoryModel" point="org.ametys.core.group.directory.GroupDirectoryFactory" logger="org.ametys.plugins.core.impl.group.directory.jdbc">
<class name="org.ametys.plugins.core.impl.group.directory.jdbc.JdbcGroupDirectory"/>
<label i18n="true">PLUGINS_CORE_GROUPS_JDBC_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_JDBC_DESCRIPTION</description>
<parameters>
<param id="runtime.groups.jdbc.datasource" type="datasource">
<label i18n="true">PLUGINS_CORE_GROUPS_JDBC_DATASOURCE_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_JDBC_DATASOURCE_DESCRIPTION</description>
<widget>edition.datasource-sql</widget>
<widget-params>
<param name="allowCreation">true</param>
<param name="allowPrivate">true</param>
<param name="allowInternal">true</param>
<param name="allowedDbTypes">derby,mysql,oracle,postgresql,hsqldb</param>
</widget-params>
<validation>
<custom-validator class="org.ametys.core.datasource.SQLDatabaseTypeValidator">
<mandatory/>
<allowed-dbtypes>derby,mysql,oracle,postgresql,hsqldb</allowed-dbtypes>
</custom-validator>
</validation>
</param>
<param id="runtime.groups.jdbc.list.table" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_JDBC_DATASOURCE_LIST_TABLE_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_JDBC_DATASOURCE_LIST_TABLE_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>Groups</default-value>
</param>
<param id="runtime.groups.jdbc.composition.table" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_JDBC_DATASOURCE_COMPOSITION_TABLE_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_JDBC_DATASOURCE_COMPOSITION_TABLE_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>Groups_Users</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.group.directory.impl.ldap

This features defines the ldap implementation of groups

Extensions:

org.ametys.plugins.core.group.directory.Ldap

Associated java class:
org.ametys.core.group.directory.DefaultGroupDirectoryModel

Associated javascript class:
org.ametys.plugins.core.impl.group.directory.ldap.LdapGroupDirectory

Extension point extended:
org.ametys.core.group.directory.GroupDirectoryFactory

Configuration:

<extension id="org.ametys.plugins.core.group.directory.Ldap" class="org.ametys.core.group.directory.DefaultGroupDirectoryModel" point="org.ametys.core.group.directory.GroupDirectoryFactory" logger="org.ametys.plugins.core.impl.group.directory.ldap.usersdriven">
<class name="org.ametys.plugins.core.impl.group.directory.ldap.LdapGroupDirectory"/>
<label i18n="true">PLUGINS_CORE_GROUPS_LDAP_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAP_DESCRIPTION</description>
<parameters>
<param id="runtime.groups.ldap.datasource" type="datasource">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAP_DATASOURCE_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAP_DATASOURCE_DESCRIPTION</description>
<widget>edition.datasource-ldap</widget>
<widget-params>
<param name="allowCreation">true</param>
</widget-params>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.groups.ldap.groupDN" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_GROUPDN_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_GROUPDN_DESCRIPTION</description>
<default-value>ou=groups</default-value>
</param>
<param id="runtime.groups.ldap.filter" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_FILTER_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_FILTER_DESCRIPTION</description>
<validation>
<mandatory/>
<regexp>\s*\(.*\)\s*</regexp>
</validation>
<default-value>(objectclass=groupOfNames)</default-value>
</param>
<param id="runtime.groups.ldap.scope" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_SEARCH_SCOPE_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_SEARCH_SCOPE_DESCRIPTION</description>
<enumeration>
<custom-enumerator class="org.ametys.core.util.ldap.ScopeEnumerator"/>
</enumeration>
<validation>
<mandatory/>
</validation>
<default-value>one</default-value>
</param>
<param id="runtime.groups.ldap.id" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_ID_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_ID_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>cn</default-value>
</param>
<param id="runtime.groups.ldap.description" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_DESCRIPTION_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_DESCRIPTION_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>description</default-value>
</param>
<param id="runtime.groups.ldap.userdirectory" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAP_USERDIRECTORY_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAP_USERDIRECTORY_DESCRIPTION</description>
<widget>edition.userdirectory</widget>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.users.ldap.uidAttr" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_ATTR_UID_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_ATTR_UID_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>uid</default-value>
</param>
<param id="runtime.groups.ldap.member" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_MEMBER_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_MEMBER_DESCRIPTION</description>
<default-value>member</default-value>
</param>
<param id="runtime.groups.ldap.memberof" type="string">
<label i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_MEMBEROF_LABEL</label>
<description i18n="true">PLUGINS_CORE_GROUPS_LDAPGROUP_CONFIG_MEMBEROF_DESCRIPTION</description>
<default-value>memberof</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.authentication.impl.defined

This feature defines a simple credential provider as it always answer that the given parameterized user (default to 'anonymous') is connected

Extensions:

org.ametys.core.authentication.Defined

Associated java class:
org.ametys.core.authentication.DefaultCredentialProviderModel

Associated javascript class:
org.ametys.plugins.core.impl.authentication.DefinedCredentialProvider

Extension point extended:
org.ametys.core.authentication.CredentialProviderFactory

Configuration:

<extension id="org.ametys.core.authentication.Defined" class="org.ametys.core.authentication.DefaultCredentialProviderModel" point="org.ametys.core.authentication.CredentialProviderFactory" logger="org.ametys.plugins.core.impl.authentication.defined">
<class name="org.ametys.plugins.core.impl.authentication.DefinedCredentialProvider"/>
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_DEFINED_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_DEFINED_DESCRIPTION</description>
<parameters>
<param id="runtime.authentication.defined.user" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_DEFINED_CONFIG_USER_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_DEFINED_CONFIG_USER_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>anonymous</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.authentication.impl.basic

This feature defines the 'basic' credential provider (i.e. where the credential is requested to the user by the navigator - the incomming values are not trusted)

Extensions:

org.ametys.core.authentication.Basic

Associated java class:
org.ametys.core.authentication.DefaultCredentialProviderModel

Associated javascript class:
org.ametys.plugins.core.impl.authentication.BasicCredentialProvider

Extension point extended:
org.ametys.core.authentication.CredentialProviderFactory

Configuration:

<extension id="org.ametys.core.authentication.Basic" class="org.ametys.core.authentication.DefaultCredentialProviderModel" point="org.ametys.core.authentication.CredentialProviderFactory" logger="org.ametys.plugins.core.impl.authentication.basic">
<class name="org.ametys.plugins.core.impl.authentication.BasicCredentialProvider"/>
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_BASIC_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_BASIC_DESCRIPTION</description>
<label-connection i18n="true">PLUGINS_CORE_AUTHENTICATION_BASIC_CONNECTION_LABEL</label-connection>
<icon-glyph>ametysicon-external-link</icon-glyph>
<color>181842</color>
<parameters>
<param id="runtime.authentication.basic.realm" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_BASIC_CONFIG_REALM_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_BASIC_CONFIG_REALM_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>Application domain name</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.authentication.impl.formbased

This features defines the form based credential provider. Data are sent to the provider through a html form. If the option is enabled, user's data can be stored with a cookie.

Extensions:

org.ametys.core.authentication.FormBased

Associated java class:
org.ametys.core.authentication.DefaultCredentialProviderModel

Associated javascript class:
org.ametys.plugins.core.impl.authentication.FormCredentialProvider

Extension point extended:
org.ametys.core.authentication.CredentialProviderFactory

Configuration:

<extension id="org.ametys.core.authentication.FormBased" class="org.ametys.core.authentication.DefaultCredentialProviderModel" point="org.ametys.core.authentication.CredentialProviderFactory" logger="org.ametys.plugins.core.impl.authentication.formbased">
<class name="org.ametys.plugins.core.impl.authentication.FormCredentialProvider">
<username-field>Username</username-field>
<password-field>Password</password-field>
<rememberMe-field>rememberMe</rememberMe-field>
<captchaKey-field>CaptchaKey</captchaKey-field>
<captcha-field>Captcha</captcha-field>
<cookie>
<cookieEnabled>true</cookieEnabled>
<cookieLifeTime>604800</cookieLifeTime>
<cookieName>AmetysAuthentication</cookieName>
</cookie>
<loginUrl internal="true">_plugins/core/login.html</loginUrl>
<loginFailedUrl provideLoginParameter="true" internal="true">_plugins/core/login_failed.html</loginFailedUrl>
</class>
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_FORMBASED_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_FORMBASED_DESCRIPTION</description>
<label-connection i18n="true">PLUGINS_CORE_AUTHENTICATION_FORMBASED_CONNECTION_LABEL</label-connection>
<icon-glyph>ametysicon-key162</icon-glyph>
<color>374282</color>
<parameters>
<param id="runtime.authentication.form.security.level" type="string">
<label i18n="true">PLUGINS_CORE_SECURITY_CONFIG_LEVEL_LABEL</label>
<description i18n="true">PLUGINS_CORE_SECURITY_CONFIG_LEVEL_DESCRIPTION</description>
<enumeration>
<entry>
<label i18n="true">PLUGINS_CORE_SECURITY_CONFIG_LEVEL_LOW</label>
<value>low</value>
</entry>
<entry>
<label i18n="true">PLUGINS_CORE_SECURITY_CONFIG_LEVEL_HIGH</label>
<value>high</value>
</entry>
</enumeration>
<validation>
<mandatory/>
</validation>
<default-value>low</default-value>
</param>
<param id="runtime.authentication.form.security.storage" type="datasource">
<label i18n="true">PLUGINS_CORE_SECURITY_CONFIG_STORAGE_LABEL</label>
<description i18n="true">PLUGINS_CORE_SECURITY_CONFIG_STORAGE_DESCRIPTION</description>
<widget>edition.datasource-sql</widget>
<widget-params>
<param name="allowCreation">true</param>
<param name="allowPrivate">true</param>
<param name="allowInternal">true</param>
<param name="allowedDbTypes">derby,mysql,oracle,postgresql,hsqldb</param>
</widget-params>
<validation>
<custom-validator class="org.ametys.core.datasource.SQLDatabaseTypeValidator">
<mandatory/>
<allowed-dbtypes>derby,mysql,oracle,postgresql,hsqldb</allowed-dbtypes>
</custom-validator>
</validation>
</param>
</parameters>
</extension>

core-impl/runtime.authentication.impl.remote

This feature defines the 'remote' credential provider (i.e. where the credential is automatically setted and trusted by environment in the REMOTE_USER variable)

Extensions:

org.ametys.core.authentication.Remote

Associated java class:
org.ametys.core.authentication.DefaultCredentialProviderModel

Associated javascript class:
org.ametys.plugins.core.impl.authentication.RemoteUserCredentialProvider

Extension point extended:
org.ametys.core.authentication.CredentialProviderFactory

Configuration:

<extension id="org.ametys.core.authentication.Remote" class="org.ametys.core.authentication.DefaultCredentialProviderModel" point="org.ametys.core.authentication.CredentialProviderFactory" logger="org.ametys.plugins.core.impl.authentication.remote">
<class name="org.ametys.plugins.core.impl.authentication.RemoteUserCredentialProvider"/>
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_REMOTE_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_REMOTE_DESCRIPTION</description>
<parameters>
<param id="runtime.authentication.remote.header.name" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_REMOTE_CONFIG_HEADER_NAME_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_REMOTE_CONFIG_HEADER_NAME_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>REMOTE_USER</default-value>
</param>
<param id="runtime.authentication.remote.realm" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_REMOTE_CONFIG_REALM_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_REMOTE_CONFIG_REALM_DESCRIPTION</description>
</param>
</parameters>
</extension>

core-impl/runtime.authentication.impl.cas

This feature defines the 'cas' credential provider (i.e. user is authenticated externally and trusted by a CAS Server)

Extensions:

org.ametys.core.authentication.CAS

Associated java class:
org.ametys.core.authentication.DefaultCredentialProviderModel

Associated javascript class:
org.ametys.plugins.core.impl.authentication.CASCredentialProvider

Extension point extended:
org.ametys.core.authentication.CredentialProviderFactory

Configuration:

<extension id="org.ametys.core.authentication.CAS" class="org.ametys.core.authentication.DefaultCredentialProviderModel" point="org.ametys.core.authentication.CredentialProviderFactory" logger="org.ametys.plugins.core.impl.authentication.cas">
<class name="org.ametys.plugins.core.impl.authentication.CASCredentialProvider"/>
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_DESCRIPTION</description>
<label-connection i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONNECTION_LABEL</label-connection>
<icon-glyph>ametysicon-cas</icon-glyph>
<color>0f566a</color>
<parameters>
<param id="runtime.authentication.cas.serverUrl" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_URL_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_URL_DESCRIPTION</description>
<validation>
<mandatory/>
<regexp>^https?://.*$</regexp>
<invalidText i18n="true">plugin.core:PLUGINS_CORE_REGEXP_INVALID_URL</invalidText>
</validation>
<default-value>https://servername</default-value>
</param>
<param id="runtime.authentication.cas.requestProxyTickets" type="boolean">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_REQUESTPROXYTICKETS_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_REQUESTPROXYTICKETS_DESCRIPTION</description>
</param>
<param id="runtime.authentication.cas.acceptAnyProxy" type="boolean">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_ACCEPTANYPROXY_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_ACCEPTANYPROXY_DESCRIPTION</description>
</param>
<param id="runtime.authentication.cas.authorizedProxyChain" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_AUTHORIZEDPROXY_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_AUTHORIZEDPROXY_DESCRIPTION</description>
</param>
<param id="runtime.authentication.cas.enableGateway" type="boolean">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_GATEWAYMODE_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_CAS_CONFIG_GATEWAYMODE_DESCRIPTION</description>
<default-value>true</default-value>
</param>
<param-checker id="cas-server-checker" class="org.ametys.plugins.core.impl.checker.HttpUrlChecker">
<label i18n="true">PLUGINS_CORE_CAS_SERVER_CHECKER_LABEL</label>
<description i18n="true">PLUGINS_CORE_CAS_SERVER_CHECKER_DESC</description>
<icon-large>img/config/check/test_casconnect_48.png</icon-large>
<icon-medium>img/config/check/test_casconnect_32.png</icon-medium>
<icon-small>img/config/check/test_casconnect_16.png</icon-small>
<configuration>
<request>
<user-agent>Ametys</user-agent>
<method>HEAD</method>
<timeout>10000</timeout>
<additionnal-url>/login</additionnal-url>
</request>
<response>
<code>200</code>
<header> </header>
</response>
</configuration>
<ui-ref>
<param-ref id="org.ametys.core.authentication.CAS$runtime.authentication.cas.serverUrl"/>
</ui-ref>
<linked-params>
<param-ref id="org.ametys.core.authentication.CAS$runtime.authentication.cas.serverUrl"/>
</linked-params>
</param-checker>
</parameters>
</extension>

core-impl/runtime.authentication.impl.cas.proxy.proxy-granting-ticket-manager

Components:

org.ametys.plugins.core.impl.authentication.cas.CasProxyGrantingTicketManager

Associated java class:
org.ametys.plugins.core.impl.authentication.cas.CasProxyGrantingTicketManager

Configuration:

<component role="org.ametys.plugins.core.impl.authentication.cas.CasProxyGrantingTicketManager" id="org.ametys.plugins.core.impl.authentication.cas.CasProxyGrantingTicketManager" class="org.ametys.plugins.core.impl.authentication.cas.CasProxyGrantingTicketManager"/>

core-impl/runtime.authentication.impl.kerberos

This feature defines the 'kerberos' credential provider (i.e. user is authenticated externally and trusted by a Kerberos Server)

Extensions:

org.ametys.core.authentication.Kerberos
TODO

Associated java class:
org.ametys.core.authentication.DefaultCredentialProviderModel

Associated javascript class:
org.ametys.plugins.core.impl.authentication.KerberosCredentialProvider

Extension point extended:
org.ametys.core.authentication.CredentialProviderFactory

Configuration:

<extension id="org.ametys.core.authentication.Kerberos" class="org.ametys.core.authentication.DefaultCredentialProviderModel" point="org.ametys.core.authentication.CredentialProviderFactory" logger="org.ametys.plugins.core.impl.authentication.basic">
<class name="org.ametys.plugins.core.impl.authentication.KerberosCredentialProvider"/>
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_DESC</description>
<label-connection i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_LABEL_CONNECTION</label-connection>
<icon-glyph>ametysicon-external-link</icon-glyph>
<color>181842</color>
<parameters>
<param id="runtime.authentication.kerberos.kdc" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_SERVER_KDC_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_SERVER_KDC_DESC</description>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.authentication.kerberos.realm" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_SERVER_REALM_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_SERVER_REALM_DESC</description>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.authentication.kerberos.login" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_AMETYS_LOGIN_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_AMETYS_LOGIN_DESC</description>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.authentication.kerberos.password" type="password">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_AMETYS_PASSWORD_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_AMETYS_PASSWORD_DESC</description>
<validation>
<mandatory/>
</validation>
</param>
<param id="runtime.authentication.kerberos.ip-limitation-regexp" type="string">
<label i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_IPLIMITATION_REGEXP_LABEL</label>
<description i18n="true">PLUGINS_CORE_AUTHENTICATION_KERBEROS_IPLIMITATION_REGEXP_DESC</description>
<validation>
<custom-validator class="org.ametys.plugins.core.impl.validator.RegexpValidator"/>
</validation>
</param>
</parameters>
</extension>

core-impl/runtime.populations.datasource.client

Extensions:

org.ametys.plugins.core.impl.user.population.PopulationDataSourceConsumer

Associated java class:
org.ametys.plugins.core.impl.user.population.PopulationDataSourceConsumer

Extension point extended:
org.ametys.core.datasource.DataSourceConsumerExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.DataSourceConsumerExtensionPoint" id="org.ametys.plugins.core.impl.user.population.PopulationDataSourceConsumer" class="org.ametys.plugins.core.impl.user.population.PopulationDataSourceConsumer"> </extension>

core-impl/runtime.context.population.client

Extensions:

org.ametys.plugins.core.impl.user.population.ContextPopulationConsumer

Associated java class:
org.ametys.plugins.core.impl.user.population.ContextPopulationConsumer

Extension point extended:
org.ametys.core.user.population.PopulationConsumerExtensionPoint

Configuration:

<extension point="org.ametys.core.user.population.PopulationConsumerExtensionPoint" id="org.ametys.plugins.core.impl.user.population.ContextPopulationConsumer" class="org.ametys.plugins.core.impl.user.population.ContextPopulationConsumer"> </extension>

core-impl/runtime.user.preferences.empty

A users'preferences manager that do not store anything. Usefull, if you do not user users prefs.

Components:

org.ametys.core.userpref.DefaultUserPreferencesStorage

Associated java class:
org.ametys.plugins.core.impl.userpref.EmptyUserPreferencesStorage

Configuration:

<component role="org.ametys.core.userpref.DefaultUserPreferencesStorage" id="org.ametys.plugins.core.userpref.EmptyUserPreferencesStorage" class="org.ametys.plugins.core.impl.userpref.EmptyUserPreferencesStorage"> </component>

core-impl/runtime.user.preferences.default

The main users'preferences manager implementation, that do store users'prefs into a sql db.

Depends on:
runtime.core.sql.userprefs.init

Use shared configuration parameters:
runtime.usersprefs.datasource

Components:

org.ametys.core.userpref.DefaultUserPreferencesStorage

Associated java class:
org.ametys.plugins.core.impl.userpref.JdbcXmlUserPreferencesStorage

Configuration:

<component role="org.ametys.core.userpref.DefaultUserPreferencesStorage" id="org.ametys.plugins.core.userpref.JdbcXmlUserPreferencesStorage" class="org.ametys.plugins.core.impl.userpref.JdbcXmlUserPreferencesStorage">
<datasource type="config">runtime.usersprefs.datasource</datasource>
<table>UserPreferences</table>
</component>

core-impl/runtime.user.preferences.usermanager

The users'preferences manager implementation, based on user manager.

Components:

org.ametys.plugins.core.userpref.UserManagerUserPreferencesStorage

Associated java class:
org.ametys.plugins.core.impl.userpref.UserManagerUserPreferenceStorage

Configuration:

<component role="org.ametys.plugins.core.userpref.UserManagerUserPreferencesStorage" id="org.ametys.plugins.core.userpref.UserManagerUserPreferencesStorage" class="org.ametys.plugins.core.impl.userpref.UserManagerUserPreferenceStorage"> </component>

core-impl/runtime.upload.manager.fs

This feature defines components needed by the file system upload manager

Components:

org.ametys.core.upload.UploadManager
UploadManager for storing uploaded files into Ametys home 'uploads-user' directory

Associated java class:
org.ametys.plugins.core.impl.upload.FSUploadManager

Configuration:

<component role="org.ametys.core.upload.UploadManager" id="org.ametys.plugins.core.upload.FSUploadManager" class="org.ametys.plugins.core.impl.upload.FSUploadManager"> </component>

core-impl/runtime.version

Components:

org.ametys.core.version.VersionsHandler

Associated java class:
org.ametys.plugins.core.impl.version.DefaultVersionsHandler

Configuration:

<component role="org.ametys.core.version.VersionsHandler" id="org.ametys.plugins.core.version.Default" class="org.ametys.plugins.core.impl.version.DefaultVersionsHandler" logger="org.ametys.plugins.core.plugins.core.versions"/>

core-impl/runtime.current-user

This feature provides the current user

Components:

org.ametys.core.user.CurrentUserProvider
Default extension for providing the current user

Associated java class:
org.ametys.plugins.core.impl.user.AvalonCurrentUserProvider

Configuration:

<component role="org.ametys.core.user.CurrentUserProvider" id="org.ametys.plugins.core.user.AvalonCurrentUserProvider" class="org.ametys.plugins.core.impl.user.AvalonCurrentUserProvider"> </component>

core-impl/runtime.core.datasource.client

Extensions:

org.ametys.plugins.core.impl.datasource.ConfigurationDataSourceConsumer

Associated java class:
org.ametys.plugins.core.impl.datasource.ConfigurationDataSourceConsumer

Extension point extended:
org.ametys.core.datasource.DataSourceConsumerExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.DataSourceConsumerExtensionPoint" id="org.ametys.plugins.core.impl.datasource.ConfigurationDataSourceConsumer" class="org.ametys.plugins.core.impl.datasource.ConfigurationDataSourceConsumer"> </extension>

core-impl/runtime.core.datasources.sql.derby

Extensions:

derby

Associated java class:
org.ametys.plugins.core.impl.datasource.DerbySQLDatabaseType

Extension point extended:
org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint" id="derby" class="org.ametys.plugins.core.impl.datasource.DerbySQLDatabaseType">
<driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
<label i18n="true">PLUGINS_CORE_DATASOURCE_DERBY_DRIVER_LABEL</label>
<template>jdbc:derby:<path>;create=true</template>
<validation-query>SELECT 1 FROM SYS.SYSTABLES</validation-query>
<driver-not-found-message i18n="true">PLUGINS_CORE_DATASOURCE_DRIVER_NOT_FOUND</driver-not-found-message>
<language>
<escape-table-name>"{tableName}"</escape-table-name>
<limit-query>{query} OFFSET {offset} ROWS FETCH NEXT {limit} ROWS ONLY</limit-query>
</language>
</extension>

core-impl/runtime.core.datasources.sql.mysql

Extensions:

mysql

Associated java class:
org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType

Extension point extended:
org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint" id="mysql" class="org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType">
<driver>com.mysql.jdbc.Driver</driver>
<label i18n="true">PLUGINS_CORE_DATASOURCE_MYSQL_DRIVER_LABEL</label>
<template>jdbc:mysql://<hostname>[<:3306>]/<dbname></template>
<driver-not-found-message i18n="true">PLUGINS_CORE_DATASOURCE_DRIVER_NOT_FOUND</driver-not-found-message>
<language>
<escape-table-name>`{tableName}`</escape-table-name>
<limit-query>{query} LIMIT {limit} OFFSET {offset}</limit-query>
</language>
</extension>

core-impl/runtime.core.datasources.sql.hsqldb

Extensions:

hsqldb

Associated java class:
org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType

Extension point extended:
org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint" id="hsqldb" class="org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType">
<driver>org.hsqldb.jdbc.JDBCDriver</driver>
<label i18n="true">PLUGINS_CORE_DATASOURCE_HSQLDB_DRIVER_LABEL</label>
<template>jdbc:hsqldb:<path></template>
<validation-query>SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS</validation-query>
<driver-not-found-message i18n="true">PLUGINS_CORE_DATASOURCE_DRIVER_NOT_FOUND</driver-not-found-message>
<language>
<escape-table-name>"{tableName}"</escape-table-name>
<limit-query>{query} LIMIT {limit} OFFSET {offset}</limit-query>
</language>
</extension>

core-impl/runtime.core.datasources.sql.postgresql

Extensions:

postgresql

Associated java class:
org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType

Extension point extended:
org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint" id="postgresql" class="org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType">
<driver>org.postgresql.Driver</driver>
<label i18n="true">PLUGINS_CORE_DATASOURCE_POSTGRESQL_DRIVER_LABEL</label>
<template>jdbc:postgresql://<hostname>[<:port>]/<dbname></template>
<driver-not-found-message i18n="true">PLUGINS_CORE_DATASOURCE_DRIVER_NOT_FOUND</driver-not-found-message>
<language>
<escape-table-name>"{tableName}"</escape-table-name>
<limit-query>{query} LIMIT {limit} OFFSET {offset}</limit-query>
</language>
</extension>

core-impl/runtime.core.datasources.sql.oracle

Extensions:

oracle

Associated java class:
org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType

Extension point extended:
org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.dbtype.SQLDatabaseTypeExtensionPoint" id="oracle" class="org.ametys.plugins.core.impl.datasource.StaticSQLDatabaseType">
<driver>oracle.jdbc.driver.OracleDriver</driver>
<label i18n="true">PLUGINS_CORE_DATASOURCE_ORACLE_DRIVER_LABEL</label>
<template>jdbc:oracle:thin:@<hostname>:<port>:<sid></template>
<validation-query>SELECT 1 FROM DUAL</validation-query>
<driver-not-found-message i18n="true">PLUGINS_CORE_DATASOURCE_ORACLE_DRIVER_NOT_FOUND</driver-not-found-message>
<language>
<escape-table-name>{tableName}</escape-table-name>
<limit-query>SELECT * from (SELECT ROWNUM rnum, req.* FROM ({query}) req) WHERE rnum>{offset} and rnum<={offset}+{limit}</limit-query>
</language>
</extension>

core-impl/runtime.core.schedule.datasource.client

Extensions:

org.ametys.plugins.core.schedule.SchedulerDataSourceConsumer

Associated java class:
org.ametys.plugins.core.schedule.SchedulerDataSourceConsumer

Extension point extended:
org.ametys.core.datasource.DataSourceConsumerExtensionPoint

Configuration:

<extension point="org.ametys.core.datasource.DataSourceConsumerExtensionPoint" id="org.ametys.plugins.core.schedule.SchedulerDataSourceConsumer" class="org.ametys.plugins.core.schedule.SchedulerDataSourceConsumer"> </extension>

core-impl/runtime.core.schedule.sendMail

Extensions:

org.ametys.core.schedule.SendMail

Associated java class:
org.ametys.plugins.core.impl.schedule.SendMailSchedulable

Extension point extended:
org.ametys.core.schedule.SchedulableExtensionPoint

Configuration:

<extension id="org.ametys.core.schedule.SendMail" class="org.ametys.plugins.core.impl.schedule.SendMailSchedulable" point="org.ametys.core.schedule.SchedulableExtensionPoint">
<label i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_DESCRIPTION</description>
<icon-glyph>ametysicon-envelope14</icon-glyph>
<parameters>
<param id="sender" type="string">
<label i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_SENDER_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_SENDER_DESCRIPTION</description>
<validation>
<regexp>^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z0-9][A-Za-z0-9]+)$</regexp>
<invalidText i18n="true">plugin.core:PLUGINS_CORE_REGEXP_INVALID_MAIL</invalidText>
<mandatory/>
</validation>
</param>
<param id="recipients" type="string">
<label i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_RECIPIENTS_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_RECIPIENTS_DESCRIPTION</description>
<validation>
<regexp>^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z0-9][A-Za-z0-9]+)(\n(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z0-9][A-Za-z0-9]+))*$</regexp>
<invalidText i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_RECIPIENTS_INVALID_MAIL</invalidText>
<mandatory/>
</validation>
<widget>edition.textarea</widget>
</param>
<param id="subject" type="string">
<label i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_SUBJECT_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_SUBJECT_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
</param>
<param id="body" type="string">
<label i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_BODY_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_BODY_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<widget>edition.textarea</widget>
<widget-params>
<param name="height">130</param>
</widget-params>
</param>
<param id="html" type="boolean">
<label i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_IS_HTML_BODY_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_SEND_MAIL_IS_HTML_BODY_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<default-value>true</default-value>
</param>
</parameters>
</extension>

core-impl/runtime.core.schedule.executeScript

Extensions:

org.ametys.core.schedule.Script

Associated java class:
org.ametys.plugins.core.impl.schedule.ScriptSchedulable

Extension point extended:
org.ametys.core.schedule.SchedulableExtensionPoint

Configuration:

<extension id="org.ametys.core.schedule.Script" class="org.ametys.plugins.core.impl.schedule.ScriptSchedulable" point="org.ametys.core.schedule.SchedulableExtensionPoint">
<label i18n="true">PLUGINS_CORE_SCHEDULER_EXECUTE_SCRIPT_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_EXECUTE_SCRIPT_DESCRIPTION</description>
<icon-glyph>ametysicon-computer196</icon-glyph>
<parameters>
<param id="script" type="string">
<label i18n="true">PLUGINS_CORE_SCHEDULER_EXECUTE_SCRIPT_CODE_LABEL</label>
<description i18n="true">PLUGINS_CORE_SCHEDULER_EXECUTE_SCRIPT_CODE_DESCRIPTION</description>
<validation>
<mandatory/>
</validation>
<widget>edition.code</widget>
<widget-params>
<param name="mode">javascript</param>
</widget-params>
</param>
</parameters>
</extension>

core-impl/runtime.core.impl.rights.convertor

Extensions:

workspace

Associated java class:
org.ametys.plugins.core.impl.right.WorkspaceRightContextConvertor

Extension point extended:
org.ametys.core.right.RightContextConvertorExtensionPoint

Configuration:

<extension id="workspace" point="org.ametys.core.right.RightContextConvertorExtensionPoint" class="org.ametys.plugins.core.impl.right.WorkspaceRightContextConvertor"/>

core-impl/runtime.core.impl.rights.accesscontroller

Extensions:

workspace

Associated java class:
org.ametys.plugins.core.impl.right.WorkspaceAccessController

Extension point extended:
org.ametys.core.right.AccessControllerExtensionPoint

Configuration:

<extension id="workspace" class="org.ametys.plugins.core.impl.right.WorkspaceAccessController" point="org.ametys.core.right.AccessControllerExtensionPoint"/>