[CentOS-devel] The CentOS Artwork Repository - Next steps

Sun Jun 2 00:15:21 UTC 2013
Alain Reguera Delgado <alain.reguera at gmail.com>

Hi,

In case there is not other plan, the immediate development plan for The 
CentOS Artwork Repository will be addressed to share specific repository 
components (e.g., automation scripts) with other projects that use the 
same directory structure The CentOS Artwork Repository does.

Let me put a real example. I've been working on a project named 
solinfo-network. This project documents a local network I'm creating to 
share The CentOS Artwork Repository development with friends that don't 
have Internet access, but a computer, a modem and a fixed telephone line 
only. While I was organizing this project, I found that most of my 
structuring needs were nicely solved by using the same structure The 
CentOS Artwork Repository has. So I created a Git repository for it and 
duplicate the same structure of The CentOS Artwork Repository. At this 
point, I ended up with two different repositories and two different 
automation scripts trees. So, reading the progit-book I found that using 
submodules it is possible to put one project inside another so specific 
components' development could be shared instead of duplicated.

In order to achieve this, it is necessary to re-organize some components 
inside the repository and create a new repository for automation 
scripts, the component we want to share. For example, the following idea 
is being studied:

---------------------------------------------------------
ssh://gitolite@projects.centos.org:centos-artwork
---------------------------------------------------------
Identity/                                 (LOCAL SUBTREE)
|-- Images/
|   |-- Documentation/
|   |   `-- ${LANG}/
|   |-- Brands/
|   |-- Icons/
|   |-- Themes/
|   |   `-- ${THEME_NAME}/
|   |       `-- ${THEME_VERSION}/
|   |           |-- Concept/
|   |           |-- Backgrounds/
|   |           |-- Media/
|   |           |-- Posters/
|   |           |-- Palettes/
|   |           `-- Distro/
|   |               `-- ${DISTRO_RELEASE}/
|   |                   `-- ${DISTRO_COMPONENT}/
|   |                       `-- ${LANG}/
|   `-- Webenv/
|-- Models/
|   |-- Documentation/
|   |-- Brands/
|   |-- Icons/
|   |-- Themes/
|   |   `-- Default/
|   |       |-- Concept/
|   |       |-- Media/
|   |       |-- Posters/
|   |       |-- Palettes/
|   |       `-- Distro/
|   |           `-- ${DISTRO_RELEASE}/
|   |               `-- ${DISTRO_COMPONENT}/
|   `-- Webenv/
Documentation/                            (LOCAL SUBTREE)
|-- Manuals/
|   |-- Texinfo/
|   |   `-- ${MANUAL_NAME}/
|   |       `-- ${LANG}/
|   |-- Docbook/
|   |   `-- ${MANUAL_NAME}/
|   |       `-- ${LANG}/
|   `-- Latex/
|       `-- ${MANUAL_NAME}/
|           `-- ${LANG}/
|-- Models/
|   |-- Texinfo/
|   |   `-- ${MANUAL_NAME}/
|   |-- Docbook/
|   |   `-- ${MANUAL_NAME}/
|   `-- Latex/
|       `-- ${MANUAL_NAME}/
Locales/
|-- Identity/
|   `-- Models/
|       |-- Documentation/
|       |   `-- ${LANG}/
|       |-- Brands/
|       |-- Icons/
|       |-- Themes/
|       |   `-- Default/
|       |       |-- Concept/
|       |       |   `-- ${LANG}/
|       |       |-- Media/
|       |       |   `-- ${LANG}/
|       |       |-- Posters/
|       |       |   `-- ${LANG}/
|       |       `-- Distro/
|       |           `-- ${DISTRO_RELEASE}/
|       |               `-- ${DISTRO_COMPONENT}/
|       |                   `-- ${LANG}/
|       `-- Webenv/
|-- Documentation/
|   `--Models/
|       |-- Texinfo/
|       |   `-- ${MANUAL_NAME}/
|       |       `-- ${LANG}/
|       |-- Docbook/
|       |   `-- ${MANUAL_NAME}/
|       |       `-- ${LANG}/
|       `-- Latex/
|           `-- ${MANUAL_NAME}/
|               `-- ${LANG}/
Scripts/                                 (REMOTE SUBTREE)
---------------------------------------------------------
ssh://gitolite@projects.centos.org:centos-artwork-scripts
---------------------------------------------------------
/
|-- Functions/
|   |-- Commons/
|   |-- Help/
|   |-- Render/
|   |-- Locale/
|   |-- Vcs/
|   |-- Tuneup/
|   `-- Prepare/
|-- Documentation/
|   |-- Manuals/
|   |   `-- ${LANG}/
|   |       |-- centos-art-render.man
|   |       |-- centos-art-help.man
|   |       |-- centos-art.man
|   |       |-- centos-art.xhtml
|   |       |-- centos-art-xhtml/
|   |       `-- centos-art.pdf
|   `-- Models/
|       |-- centos-art-render.Docbook
|       |-- centos-art-help.Docbook
|       `-- centos-art.Docbook
|-- Locales/
|   |-- Functions/
|   |   `-- ${LANG}/
|   |       |-- centos-art.sh.po
|   |       |-- centos-art.sh.pot
|   |       `-- LC_MESSAGES
|   |           `-- centos-art.sh.mo
|   `-- Documentation/
|       `-- Models/
|           `-- ${LANG}/
|               |-- centos-art-render.po
|               |-- centos-art-help.po
|               `-- centos-art.po
|-- centos-art.sh
`-- centos-art.conf

Once this has been done, other areas in which I plan to work on include:

* Changing Docbook physical divisions from using entities to using 
Xinclude instead. This includes to update the centos-art.sh script to do 
the appropriate production of different output formats and documentation 
management.

* Separate production tasks from management tasks. For example, the help 
functionality is taking care of producing output formats for Texinfo 
formats while the render functionality is taking care of producing 
output formats for Docbook formats. I think the help functionality 
should take care of all management tasks (e.g., create, edit, delete, 
documentation manuals in different formats) and the render functionality 
should take care of producing output formats for both Texinfo and Docbook.

* Implement Docbook format inside help functionality. Presently only 
Texinfo is supported.

* Write documentation related to centos-art.sh script and all its functions.

This is my list of things to do for the next months. I do appreciate any 
comment or suggestion you could post about it. Any help you could give 
in these directions will be very much appreciated, as well. As more 
community involvement we have the better focused our work will be.

I probably ought to begin these e-mails by asking you for excuses 
because of my long time off-line, intermittent presence on the mailing 
list and sometimes unfocused behavior. I've been having issues to find a 
job that let me purchase Internet access and left me time to get more 
involved in the project.

I am very glad to tell you that after months of hard working, I have an 
entire month and 10 hours of Internet access, to fully spend with you 
guys! :)

I want to thank you all for the magnificent work you are doing, and all 
the kindness you've put on it through time.

Best regards,
-- 
Alain Reguera Delgado <alain.reguera at gmail.com>