Discussion:
[Erp5-dev] new business template model
Yoshinori Okuji
2005-10-17 15:27:20 UTC
Permalink
Hello,

Thanks to Aur?lien's work, we now have a fine-grained control over business
templates. I'd like to describe new features and a proposal for the future
maintenance of business templates.

Until now, Business Templates are maintained in the form of an XML file, which
is merely an exported form of a Zope object. This form is monolithic, that
is, all objects are packed into one XML file, and this was very inconvenient
when we wanted to examine a difference between two business templates or even
merge two versions of a business template. In the CVS repository, each
business template has one file entry.

The idea behind Aur?lien's work is to split the exported representation into
multiple parts in a per-object basis. This way, we can compare, for example,
only one object between two versions easily. Since the XML file corresponding
to one object is very small, it is feasible for human to look at a diff (at
least, when you know how an object looks like).

This new approach has pros and cons. Having multiple files is convenient for
the development, but not convenient for file transfers (such as download,
send by e-mail). So the Template Tool supports two different forms of
business templates: plain format and archived format.

The plain format is a directory and its subdirectories and files. For example,
the template "erp5_core" has a top directory "erp5_core", and has more
directories and files under the top directory.

The archived format is just an archived form of the plain format. Currently
only tar+gzip is supported, but it is not difficult to support more, if
required. In this format, all files are compacted into one file, so it is
easy to distribute business templates in this format. However, this format is
not for human at all, because it is a binary format.

Now, about the maintenance of business templates. To utilize the advantage of
the new form, we should turn the business templates in the CVS to the plain
format gradually. Once this is finished, we won't have to share the same
server for development any longer, because it is so easy to merge changes.

When you commit business templates in this form, what you must take care of is
to check differences between the repository and your local one before
committing (i.e. cvs update, cvs diff, then cvs commit). Even with this
format, if you skip the checking, you would easily overwrite others' changes
mistakenly. Not all human mistakes can be covered by computers.

YO
--
Yoshinori Okuji, Nexedi Research Director
Nexedi: Consulting and Development of Free / Open Source Software
http://www.nexedi.com
ERP5: Free / Open Source ERP Software for small and medium companies
http://www.erp5.org
Storever: OpenBrick, WiFi infrastructure, notebooks and servers
http://www.storever.com
Guillaume MICHON
2005-10-18 07:58:15 UTC
Permalink
Is the old format of business templates still loadable ?

Guillaume
Post by Yoshinori Okuji
Hello,
Thanks to Aur?lien's work, we now have a fine-grained control over business
templates. I'd like to describe new features and a proposal for the future
maintenance of business templates.
Until now, Business Templates are maintained in the form of an XML file, which
is merely an exported form of a Zope object. This form is monolithic, that
is, all objects are packed into one XML file, and this was very inconvenient
when we wanted to examine a difference between two business templates or even
merge two versions of a business template. In the CVS repository, each
business template has one file entry.
The idea behind Aur?lien's work is to split the exported representation into
multiple parts in a per-object basis. This way, we can compare, for example,
only one object between two versions easily. Since the XML file corresponding
to one object is very small, it is feasible for human to look at a diff (at
least, when you know how an object looks like).
This new approach has pros and cons. Having multiple files is convenient for
the development, but not convenient for file transfers (such as download,
send by e-mail). So the Template Tool supports two different forms of
business templates: plain format and archived format.
The plain format is a directory and its subdirectories and files. For example,
the template "erp5_core" has a top directory "erp5_core", and has more
directories and files under the top directory.
The archived format is just an archived form of the plain format. Currently
only tar+gzip is supported, but it is not difficult to support more, if
required. In this format, all files are compacted into one file, so it is
easy to distribute business templates in this format. However, this format is
not for human at all, because it is a binary format.
Now, about the maintenance of business templates. To utilize the advantage of
the new form, we should turn the business templates in the CVS to the plain
format gradually. Once this is finished, we won't have to share the same
server for development any longer, because it is so easy to merge changes.
When you commit business templates in this form, what you must take care of is
to check differences between the repository and your local one before
committing (i.e. cvs update, cvs diff, then cvs commit). Even with this
format, if you skip the checking, you would easily overwrite others' changes
mistakenly. Not all human mistakes can be covered by computers.
YO
Aurélien Calonne
2005-10-18 08:07:05 UTC
Permalink
Post by Guillaume MICHON
Is the old format of business templates still loadable ?
Yes, you can still import old business template.



Aur?lien

Loading...