Rest
lpOD 0.9.0 has just been released, together with its documentation. You can download lpOD 0.9 here.
LpOD 0.9.0
lpOD -- languages & platforms OpenDocument. Definition of a Free Software API implementing the ISO/IEC 26300 standard. Development, for higher level use cases, in Python, Perl and Ruby languages. of a top-down oriented API.
This release focuses on style and table support, and polishing the existing API. Command-line tools were greatly improved and enriched.
- Web: http://lpod-project.org
- Documentation: http://docs.lpod-project.org
- IRC: irc://irc.freenode.org/lpod
Low-level API
- Default numeric types were added, targeting the French locale for now.
- The text API is now richer.
High-level API
-
Started to implement a templating language in the content of ODF documents. Only setting values and "if" are implemented for now, and only on text.
You can see an example template in "python/templates/test_template.ott" and an example script in "python/templates/test_template.py".
Templating the metadata is left as an exercise to the interested reader.
-
Tables of content can now be filled with the titles found in the document.
-
Draw page can use transitions (fade by default).
-
Tables are quite faster and easier to use since you can access any row/column/cell without having to expand the table first.
-
Most high-level elements support outputting reStructuredText representation.
-
Medium-complexity reStructuredText documents can be converted to ODT, from scratch or appended to an existing document (docutils required).
Command-line Utilities
- The lpod-show.py tool dumps a textual representation of the content (informal or reStructuredText). It can also dump the latter, images, style information and metadata list in a directory.
- The lpod-style.py introspection tool shows the list of styles of the document, whether it is used, and is able to remove them all. It can also merge styles from one document to another.
- The lpod-meta.py introspection tool can list and edit metadata of the document.
- The lpod-merge.py tool can merge documents of the same type. ODT, ODS and CSV and supported for now. ODP to come.
- The lpod-highlight.py tool can apply a style on a text pattern. The default style is overlining as if you were using a yellow highlighter pen.
- The lpod-mm2odt.py tool converts XML mind-map files to ODT.
- The lpod-rst2odt.py tool converts reStructuredText document to ODT.
Documentation
- 80 % of the documentation is implemented. There is still much work on the styles part.
Packaging
- PKGBUILD and ebuild packages contributed. Deb and RPM to come.
Statistics: from v0.8 to v0.9
lpOD 0.8 has just been released, together with its documentation. You can download lpOD 0.8 here.
lpOD -- languages & platforms OpenDocument.
Definition of a Free Software API implementing the ISO/IEC 26300 standard.
Development, for higher level use cases, in Python, Perl and Ruby languages.
of a top-down oriented API.
- The architecture design is complete.
- The functional lpOD coverage is 90% complete.
- Only Python implementation is available (80% complete), and serves as the reference implementation
- This release starts providing command-line tools for introspection and manipulation.
- The documentation is now online http://docs.lpod-project.org
- Cookbooks provide ready-to-use examples of the API for ODT, ODS and ODP (tables, tocs, notes, images frames, slides transitions, shapes, ... )
| Web | : http://lpod-project.org |
| Documentation | : http://docs.lpod-project.org |
| IRC | : irc://irc.freenode.org/lpod |
Python Implementation
Low-level API
- All types of styles are supported in the low-level API.
- Text search and replace API is added
- Basic shapes can be created: ellipse and circle, rectangle and square, and line.
- Adding non ODF resources (e.g. images, pdf, ...) in documents
- A Virtual File System (VFS) layer handles grabbing document from HTTP and FTP.
- After starting with the libxml2 Python wrapper, switched to lxml for both speed and ease of use.
High-level API
- Template are provided, with empty body, i.e. the ODT template has no paragraph, the ODS template has no table and the ODP template has no draw page.
- A document can grab styles from another document to merge them with its own ones.
- A specific API is available on paragraphs to insert notes and annotation.
- A specific API is available for tables to abstract the XML model, e.g. you can access cell "C3" without knowning the storage.
- Tables can be created from and exported to CSV.
- The full API to metadata is available. Only RDF would be missing.
- The navigation API no longer use a context element. The element itself is the navigation API.
Command-line Utilities
- The lpod-show.py tool dumps a textual representation of the content. It can also dump the latter, style information and metadata list in a directory.
- The lpod-meta.py introspection tool can list and edit metadata of the document.
- The lpod-merge.py tool can merge documents of the same type. ODT, ODP, ODS and CSV and supported for now.
- The lpod-highlight.py tool can apply a style on a text pattern. The default style is overlining as if you were using a yellow highlighter pen.
Statistics: from v0.7 to v0.8
La première version publique de lpOD sera disponible dans la semaine du 26 octobre. lpOD sera disponible sous une double licence GPL v3 et Apache v2.0 Les outils de développement, listes de courriel, etc. seront déployés progressivement.
N'hésitez pas à contacter notre équipe pour toute question.
Le projet Lpod présenté lors des Rencontres COLLIBRI / Cap Digital / Silicon Sentier du 20 octobre 2009 à La Cantine
Cap Digital labelise le projet lpOD dans la catégorie "intelligence et technologies collaboratives".
Le pôle de compétitivité Cap Digital a officiellement accordé sa labélisation au projet lpOD le 24 avril 2008 dans la catégorie "intelligence et technologies collaboratives".
Problème
Cependant, les bénéfices attendus d'une diffusion large de ce format sont conditionnés par le renforcement des infrastructures de développement associées.
Les boîtes à outils disponibles pour ODF sont aujourd'hui limitées à une vision bureautique classique, et sont en retard par rapport :
- aux besoins métiers (business intelligence, gestion documentaire, ...)
- aux usages (environnements fortement communicants, mobilité, SOA, REST,...)
- à la norme ISO (complétude de l'implémentation)
Solution
Le projet "langages & plateformes Open Document" (lpOD) au travers de l'implémentation de la norme ISO/IEC 26300 (OpenDocument) va contribuer à l'extension de l'écosystème OpenDocument format.
- La définition d'une API libre mettant en oeuvre la norme ISO/IEC 26300 (OpenDocument)
- La réalisation et la validation d'une implémentation pour des usages de plus haut niveau.
Les principales caractéristiques du project lpOD
- Coopération avec les comités techniques ODF au consortium OASIS et avec l'ODF Toolkit Union
- Approche multi-langage (Python, Perl, Ruby) avec:
- définition en amont du socle commun
- réalisation Logiciel Libre: GPL v3, Apache V2.0
- Validation des besoins avancés par des laboratoires et des acteurs industriels
- Méthode de conduite de projet par itérations courtes, Xtreme Programming et Logiciel Libre
L'approche générale du projet repose sur quatre principes structurants
- Implémentation stricte de la norme ISO/IEC 26300
- Validation des besoins avancés pour les usages de haut niveau
- Développement de librairies en Logiciel Libre
- Cible orientée services REST