No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mainpage.dox 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. \mainpage Lodel 2 documentation
  3. Lodel2 has two modes of operations : a standalone one, in that case Lodel2 is a customized CMS or and one, multisite case, in which it can be seen as a manager of CMS.
  4. Lodel2 has to perform 2 distinct tasks : produce sites (cms), and be a site.
  5. Plus, in the case of multisite install, it has to manage the produced sites.
  6. 2 parts :
  7. - Editorial Model, whom the goal is to describe the structure of the content managed by the instance (the site). This Editorial Model has to be built, and has to produce the python code which will represent the content.
  8. - LeAPI, which is a python API to manipulate the objects created by the first part.
  9. In case of multisite install the manager of the sites is a lodel site itself, like the others, with an adapted Editorial Model.
  10. Editorial Model part
  11. ====================
  12. To represent the content we have :
  13. - Classes, the [EmClass](@ref lodel.editorial_model.components) module, it is a field container which is named,
  14. - Fields, the [emField](@ref lodel.editorial_model.components) module.
  15. These two modules are the components (see [EmComponent](@ref lodel.editorial_model.components)) of the content.
  16. In order to organize the different Editorial Models (for the different sites) from a single one, we have set up a system of groups,
  17. the [EmGroup](@ref lodel.editorial_model.components). This system allows each site to activate or not certain groups.
  18. A EmGroup can be seen as a EmClass end EmField named container.
  19. Some groups can depend of other groups.
  20. This means that if EmGroup A is selected and it depends of EmGroup B, it must also be activated.
  21. CMS part
  22. ========
  23. The Editorial Model, in fact, is the configuration of a lodel site, the cms.
  24. The produced CMS are instances of Lodel2.
  25. An API, [LeAPI](@ref lodel.leapi), allows to manipulate the content (which is composed by EmClass classes).
  26. For this, we have the [LeObject](@ref lodel.leapi.leobject) API. This class allows CRUD operations on content objects. To perform these operations it uses [LeQuery](@ref lodel.leapi.lequery) API, the bridge with the datasource.
  27. Datasources are [plugins](@ref lodel.plugin.plugins), like interfaces (IHM, cli, ...), extensions, scripts, session handlers.
  28. Plugins part
  29. ============
  30. A lodel2 instance is an API. To produce a running application, we need plugins.
  31. Several types of plugins are mandatory : datasource, interface for now.
  32. LeFactory - Migration Handler
  33. =============================
  34. The Editorial Model described must be translated in python classes to be imported by the instances of Lodel2.
  35. This is done with [LeFactory] (@ref lodel.leapi.lefactory) module.
  36. Each change in the editorial model implies changes in dynamic code and datasources.
  37. These changes will be performed by the migration handler (not yet implemented).
  38. Deployment, administration
  39. ==========================
  40. See [Boot mechanism](@ref lodel2_start), [Administration](@ref lodel2_instance_admin) and [Diffusion and deployment](@ref lodel2_autotools)
  41. */