Copyright (C) 2000 - 2024 Silverpeas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
As a special exception to the terms and conditions of version 3.0 of
the GPL, you may redistribute this Program in connection with Free/Libre
Open Source Software ("FLOSS") applications as described in Silverpeas's
FLOSS exception. You should have received a copy of the text describing
the FLOSS exception, and it is also available here:
"https://www.silverpeas.org/legal/floss_exception.html"
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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
This schema defines the grammar of a descriptor of either a shareable application component
or a personal application component. A shareable application component is an application that
can be instantiated several times in the collaborative spaces of Silverpeas and that can be
accessed by the users of Silverpeas according to their roles they play in the instances of the
application. A personal application component is an application that can be instantiated only
one time for each user and this in the personal space of the concerned user.
The descriptor is used to define for Silverpeas an application component, how it is expected
to behave within Silverpeas, and what are the different parameters when instantiating it.
Web Application Component. A Silverpeas component based upon Silverpeas Core defines an
integrated application aiming for some users in Silverpeas to manage some kinds of
contributions and to provide a dedicated functionality for working with them. These
applications can be instantiated several times in different collaborative spaces.
Personal Web Application Component. A Silverpeas personal component based upon Silverpeas
Core defines an integrated application aiming for the only usage of a given user to manage
some kinds of contributions and to provide a dedicated functionality for working with them.
These applications can be instantiated for each user in their personal user.
Specific predefined behavior of a Web Application Component. It can manage folders as
topics or it can be a workflow.
A space has its own pre-defined user profiles. When a component instance is added within a
given space, the roles of the users in this instance can then be inherited from the parent
space. Because the user profiles of the application can be different from those of a space,
it is necessary to define a mapping between the profiles of the space with those of the
application.
By default, a space is visible to all users defined at least in a given user profile of an
application instance in that space.
The space administrator. He can manage the details of a space and as such he can add or
remove any application instances.
The publisher. He can add/remove/edit/move contributions in the application instances in
the space. When supported, he's in charge also of the validation of the contributions
proposed by users in lower user profile.
The writer. He can add/remove/edit his own contributions in the application instances.
When the multiuser contribution is supported, he can also participate in the edition
of the contributions of others users.
The reader. He has only read-only access to the application instances of the space.
A user profile supported in an application. A user profile is a mix between a given role and
some pre-defined privileges. The name of the profile is the name of the role a user will
play in the instance of the application. The privileges covered by a user profile are under
the discretion of the application, but it is expected they satisfy the conventions in force
in Silverpeas regarding the roles to which they are mapped.
A message to render in the application instance configuration page. A message is always
written in a given language specified by the attribute 'lang'
A l10n text. A text with its translation in different languages.
Description of a user profile supported by a Web Application Component. It provides a label
of the role, a short description of it that will be displayed as a help, and a mapping with
one or several user profiles from the parent space. The l10n information can be provided
by the resource bundles accompanying the XML Web Application Component descriptor instead
of being directly defined in latter.
A parameter instance of an application. Such parameters constrain the behavior of the
application instances. All the configuration parameters acting only on an application
instance should be defined here and these parameters can be modified by the administrators.
For the global application parameters, those are applying on all the instances of the
application, they have to be defined in a dedicated properties file on the filesystem.
Any l10n data describing a parameter (label, help and warning) can be provided by the
resource bundles accompanying the XML Web Application Component descriptor instead of
being directly defined in latter.
The technical name of the parameter.
The displayable name of the parameter to render to users.
The displayable order of this parameter among others ones.
Should the setting of this parameter be mandatory?
The default value of this parameter.
In the case the parameter accepts only discriminant values, the options defines all
those values with which the parameter can be set.
The type of the parameter and hence the way it can be valued by the user.
The valuation of the parameter is done with a checkbox indicating if the parameter
is enabled or not.
The valuation of the parameter is done by a selection of a value among predefined
ones. In this case, the parameter accepts only discriminant values defined for
each of them by an 'option' element.
The parameter is valued by the name of an XML form.
The valuation of the parameter is simply a text.
The valuation of the parameter is done with a radio button. In this case, it
accepts only discriminant values defined for each of them by an 'option' element;
for each 'option' element is associated a radio button with which the setting
of the value is done.
The size of the value of the parameter if such data is pertinent for the type of the
value. Usually for textual value.
Once the parameter set, indicates whether it can be updatable and under which
condition.
The value of the parameter can be always updated.
The parameter isn't modifiable. Its value is set only at the creation of the
application instance.
The parameter isn't settable and thus updatable. It means either the parameter
isn't more valued or its value is now hard set by the application.
Once set, the parameter cannot be anymore updated, and it is hidden from the
users.
A help about the parameter explaining what it does.
A warning message giving the user some important information about the parameter.
The default value of the application instance created in the personal space of a user.
In the case a parameter accepts only discriminant values, this type defines what are those
values in the form of an option. For each option, a name indicates to the user what this
value, and the value itself with which the parameter can be set. The name is localized,
meaning it can be provided by the resource bundles accompanying the XML Web Application
Component descriptor instead of being directly defined in latter.
A group of parameters. It is for grouping the parameters by a common property (for example
on the type of contributions they relate). It is defined by a label, a short description and
a help to render to the users. Then are defined the order to indicate it displayable rank
and all the grouped parameters.
Any l10n data describing a group of parameters (label, description and help) can be
provided by the resource bundles accompanying the XML Web Application Component
descriptor instead of being directly defined in latter.
Descriptor of a Web Application Component in which are defined its name, a description of
it, the different supported user profiles, the pre-defined instance parameters, and the
specific instance parameters. The texts are usually localized.
Any l10n information about the Web Application Component (label, description, suite, etc.)
can be provided by the resource bundles accompanying the XML Web Application Component
descriptor instead of being directly defined in latter.
The technical name of the application.
Some specific and predefined behaviors the application support. Behind each behavior
set, a specific transverse hard-coded mechanism is triggered for the application
instances.
The name of the application to render to the users.
A description of the application, of what it does, what are its goals.
The category in which this application has to be put.
Should the inheritance mechanism of the user profiles from the parent space be enabled?
If not, no user profiles will be by default inherited from the parent space and as such
the user profiles for the application instances have to be always explicitly set by the
administrators.
Should the application instances to be public by default? If true, then the predefined
public instance parameter will always be enabled, but it could be disabled by the
administrators.
Should this application be visible in the backoffice to be instantiated and then used?
It is a way to enable or not by default an application in Silverpeas.
Should this application be also instantiated in the personal space of the users?
Is this application supports the portlet mechanism?
If the application doesn't define any request router, this predefined parameter allows
to indicate what request router to use for the instances of the application. For
instance, this parameter is used for the workflows to indicate to use the request
router of the Process Management Application.
The user profiles used in the applications.
The groups of instance parameters for this application.
The ungrouped instance parameters for this application.
Descriptor of a Personal Web Application Component in which are defined its name, a
description of it, the pre-defined instance parameters, and the specific instance
parameters. The texts are usually localized.
Any l10n information about the Personal Web Application Component (label, description, etc.)
can be provided by the resource bundles accompanying the XML Web Application Component
descriptor instead of being directly defined in latter.
The technical name of this personal application.
The name of the personal application to render to the users.
A description of the personal application, of what it does, what are its goals.
Should this application be visible in the backoffice to be instantiated and then used?
It is a way to enable or not by default an application in Silverpeas.
The groups of instance parameters for this personal application.
The ungrouped instance parameters for this personal application.