The Wedia solution is designed to manage in a simple and easy way all of your documents, texts and media in order to be consistent within different channels.
This section will detail all the available features.
Object entity
Functional principle
A declined object is functionally represented as an entity. It is broken down according to three criteria:
the group
the project
the language
When an object possesses its three notions, one obtains the schema of principle next:
The same entity of this content in Group A can be observed here, which is broken down as follows in this way:
- outside group
English version
French version
- project 1
Japanese version
English version
- project 2
French version
English version
- project 3
French version
English version
Naming conventions
Excluding the concepts of layout-driven
or content-driven
projects, the following will name objects not related to a project: group content
.
The versions of this content in a project are called project explosions
.
Within the same group and/or project context, the different versions of content with a different language are called translation
.
The three properties allowing the search or creation of declinations (language, group, project) are called pivot
because the objects of content "revolve" around these notions.
For example, in the context of a translation within a project, the pivots are the group and the project, language being the pivot of differentiation.
All these objects are linked by a single common property called master-key
(property master
in the object).
Technical principles
Each object wishing to inherit the declination management principle must be created from the contentobject
object available in the product.
This object has the properties and configurations necessary to content management:
- Property
master
master-key
allowing the connection with all of the variations. All declensions of the same content object have the following characteristics same value in this field.
This property is managed by the system via the Wedia triggers.
This property is defined by Wedia and cannot be changed.
To function properly it is necessary that the triggers are well executed when inserting objects with this property.- Property
mediagroup
linking to a group. Content objects are within a group, if you want to exploit correctly content management with the notions of group content and/or content management project declination.
Important
This property is mandatory on the object.
- Property
media
connection with a project. If the value is empty, then the content will be a group content.
- Property
language
connection with languages. Allows translation management. Cannot be left empty.
- Property
notranslation
if a content is not functionally functional it cannot be translated (e.g. an image), this property allows you to pass in addition to language information and prevent translation of the object.
Caution
For a content entity, the master property must always be defined. The value of this property is set via Wedia triggers. It is therefore important not to disable the execution of triggers when inserting and modifying a content entity.
Moreover, since this value cannot be modified once it has been defined, it is recommended to hide the property and make it non-editable in the back office screens.
Caution
The notion of content entity is not to be confused with the notion of content object described in object configuration in structure mode. Whether or not the object is the carrier of this information has no impact on the management of the entities with specific exceptions (see proposal / taxation in project declinations and inheritance principle).
Configurations and inheritance
An object structure can be configured in three ways:
system object
technical object
content object
The "destination" of the objects to be declassified is possible according to the set of objects to be declassified. Pivots except in the case of objects configured as content objects
.
Indeed, in this specific case, a configuration accessible to contributors allows you to restrict the settings for creating / evaluating objects to some contexts.
For example, on your platform, if you have the following objects:
- article
configured content object, has language, group and project pivots
- galleryelement
configured content object, has language, group and project pivots
- product
configured content object, has language, group and project pivots
- theme
configured technical object, has language, group and project pivots
By default, both objects will be available in all groups and projects but you can configure your application to indicate that they will be limited to access to the objects article
and item
.
The configuration of this list goes through the completion of the field contentobjects
and can be done on several levels:
on the channel
on the group
on the project
on the model
We deliver by default a set of customizations on the fields contentobject
so that the contribution is simplified and explained: the user will only have to tick the elements that she wishes to use.
The highest configuration level is structural: all object structures that can be declined (thus with the master-key
) are usable.
If the configuration is not carried out, we calculate ourselves what can be used at each level via a configuration inheritance:
The channel inherits the data model
The group inherits the data model
The project inherits by default the intersection of the available objects on channel and on the group
you can extend the selection among the group objects (and thus to exploit objects normally not selectable by this channel)
The model inherits by default the intersection of available objects on the channel and on the group
you can manually extend the selection among the group objects (and thus to exploit objects normally not selectable by this channel)
The support inherits by default the intersection of available objects on the model (if it has one, if not the channel) and on the project.
Caution
By default, we do not allow you to select at the project level exploitable objects when it is part of a channel layout-driven
because, from a functional point of view, this selection is dependent on the models evaluated (especially if you are creating multiple media in your project).
Example:
User customizes selection for group and channel
The user did not customize the selection on the project and the model ⇒ they will inherit the intersection of the channel and the group.
Tip
Technical objects and systems are always implicitly exploitable, since version 10.5, the list of selectable objects in the back-office on the contentobjects
property only include objects whose configuration indicates content object
.
Content creation
When creating a contextualisable object according to one of the three variables managed by the system, a selection portal may appear.
This indicates that the system could not determine all the information needed to create it; either by inheritance (with collections) or by the call URL.
In this case, it will require the user to select a valid context before entering information in the form.
The information presented in this portal depends on the object itself (what fields it has and what information are missing), the configuration of the projects and the user:
If group information is missing, the group list will be proposed to which the user is assigned.
If the object is translatable, it will be proposed to select one of the languages open to user input.
If project information is missing, a list of projects will be proposed to the content-driven channel to which the user is assigned.
If we already had the group information, we’ll only propose the most important projects.
If the language information is missing, you will be prompted to select a language that is open to user input and compatible with group information / previous brands.
The context information is, after validation, transmitted to all pages and URLs drawn allowing a legacy of context.
Create your own contextualized URLs:
The contextualization of object creation is carried out by passing in parameter to the action datanew
the info of the selected context.
These parameters are as follows:
wxm_group | ID of the group where you want to create the content |
wxm_media | ID of the media where you want to create content (0 means that the content will be a group content |
wxm_lang | ID of the content language |
This information is then processed by the system for release. Improper contextualization can result in the erroneous part being undone:
If you specify the group and project:
If the project does not belong to the group, this parameter will be ignored, you will be prompted to select an correct projectIf you specify a language:
If it does not belong to the project in question, or if it is not part of the contributor’s languages, you will be asked to select a correct language.
Use of contents
The system automatically feeds the object bases according to the user’s assignments.
base_list_[object]
The base_list_[object]
database will be compiled and populated as soon as you have a valid form_object in request.
It will be completed in such a way as to show:
group objects to which the user has access
the project declinations to which the user has access and whose channel is content-driven
declinations in the languages to which the user has access or which are declared untranslatable.
base_edit_list_[object]
The base_edit_list_[object]
bases of all objects whose structure owns the master-key (owner master
) are compiled and available on every page of the back office.
It will be completed in such a way that it can be used:
group contents to which the user has access
project versions to which the user has access and whose channel is
content-driven
.versions in languages to which the user has access or which are declared non-translatable.
Caution
This setting implies that a project declination can be assigned a group content. If you do not want this mode of operation and to partition your contents group/project, you will have to feed your base_edit_list_[object]
variables in /bov3/common/init/initBaseEditWhere.jsp
yourself.