Principle

The new documentation of ERP5 is intended to automate the production of reference manuals for developers. Reference manuals may either be related to generic ERP5 components or to customer specific components.

The approach which was chosen is implemented in a prototype form in the DocumentationHelper.py file of ERP5Type.

It is invoked through portal_classes (ClassTool).

The general idea is to provide to portal_classes 2 parameters:

All this is explained quite in detail in the DocumentationHelper.py file of ERP5Type product.

Let us proceed with an example.

Testing the new documentation system

Download and install the erp5_documentation.zexp skin folder.

In the ERP5Type.Base.Base class, change the if 0: expression into if 1: expression in the asDocumentationHelper method.

In an ERP5 site with erp5_base installed, go to the following URL:

http://localhost:8080/erp5/portal_classes/getDocumentationHelper?uri=/erp5/person_module&class_name=PortalTypeInstanceDocumentationHelper

This example shows how to render the documentation of a portal type instance. Try to click on one the class methods (ex. asXML). This will bring you to the URL:

http://localhost:8080/erp5/portal_classes/getDocumentationHelper?uri=Products.ERP5Type.Document.Folder.Folder.asXML&class_name=ClassMethodDocumentationHelper

This example shows that every component of ERP5 has a unique URI which can be used to render documentation with a Documentation Helper class. The documentation which is generated is quite interactive and is intended to be browsed.

Let us suppose however that we want to produce a static documentation intended to be printed or hosted online. This can be achieved too by using an ERP5 report. Here is an example:

http://localhost:8080/erp5/person_module/Base_viewDocumentationReport

This report uses a script which invokes getSectionList() to build all the different sections of a documentation.

context.asDocumentationHelper().getSectionList()

It shows another principle of DocumentationHelper classes: they may include subsections.

By applying this idea to a business template or to an ERP5Site, it is possible to generate a complete documentation of ERP5, including:

Thanks to ERP5 skinning system, this documentation can be rendered as:

Remaining tasks

Step 1

Make sure that all links in

http://localhost:8080/erp5/portal_classes/getDocumentationHelper?uri=/erp5/person_module&class_name=PortalTypeInstanceDocumentationHelper

are working and produce relevant content.

Step 2

Define the documentation structure of a business template (ex. workflows, portal types, etc.)

Step 3

Implement the documentation of business templates.

Step 4

Define the documentation structure of a product.

Step 5

Implement the documentation of a product.

Step 6

Implement documentation of all ERP5.

Discussion/NewDocumentationSystem (last edited 2008-01-03 13:48:03 by localhost)