More help on the WebUI templating issue
Hi all!
This is my first mail to the list so, let me greet all of you and just say that I've been reading over here for quite a while now. BTW, with pretty interesting threads.
I've been administering GNU Mailman since 2003 and a few months ago started to dig into its design, in the aim of helping you, first with the WebUI templating, and with the idea of continuing in a future with other parts of Mailman.
As a way of helping me to understand Mailman, I've created a few UML class diagrams based on MM2.1 (which I hope to improve), http://csl-mmwebui.forja.rediris.es/uml/uml.html
...and I've generated the API with epydoc, http://csl-mmwebui.forja.rediris.es/mailman-api/
In reference to the templating engine, I know you're thinking to use Kid or Genshi... but I've started another approach with Cheetah (http://www.cheetahtemplate.org/), which uses text-based templates.
Here you have a very simple test of how Cgi scripts could be rewritten for the creation of web content, http://csl-mmwebui.forja.rediris.es/auria-test.tgz
In this .tgz you have: 2 scripts: * Test.py (the one to be run) * TemplateController.py (the one that deals with Cheetah and the templating files, and called by the Cgi scripts) 2 templates: * if 'example.tpl' does not exist, 'error.tpl' is read (if not, a string is returned).
BTW, I just wanted to clarify that I understand that only a templating engine will be used for the whole project, but I wanted to give a try to Cheetah and see if it matches in a better way all Mailman needs (including email templates and archives, and making easier to integrate the pages on "corporated sites", allowing to change pageheaders and pagefoots).
I didn't say anything before on the list because I haven't been working constantly on this, and because I don't like very much to talk with no other purpose than talking (you know, "talk is cheap...", etc. :-)).
Comming back to the WebUI, maybe the most important thing is that most of the i18n that is currently working should also work on any new design.
In that sense, I've thought to migrate all to Unicode format (UTF-8) and to join all HTML templates per language in a common one, and instead of having contents like: """ <tr> <td>Username:</td><td><input name="foo" ..../></td> <td>Password:</td><td><input name="bar" ..../></td> </tr> """
...we could have,
""" <tr> <td>$label_foo</td><td><input name="foo" ..../></td> <td>$label_bar</td><td><input name="bar" ..../></td> </tr> """
So, the thing would be to include all this i18n (labels, etc.) to the .po files.
For ".txt" files, nothing would change.
In summary, only would change "templates/<lang>/*.html", joining them in a common dir like "templates/common/<themeName>/*.html".
(Between those "themes", or styles, there could be ones using "<table>" tags and others with "<div>" and using only CSS for the draw...)
So, as you can see, all CSS issues would be similar (if not the same) with what you're working right now, what it reduces (or joins) efforts :-)
And last (sorry to bother you O:-)), I've started to use bazaar a week ago and I hope to push my work on this on launchpad. What I don't know is if I should create a branch and create subdirectories for different parts in there, or create those subdirectories as branches... :?
Thank you very much for reading till here, and hope to help you :-))
Best regards,
,____________,
.' '.
/~~~~^~~~^~^~~~
/ _ /|| \ Alvaro Uría (0x3AD91E72)
; ( } \||D ; <fermat at rigel.deusto.es>
| | /\__,=[_] |
; ( |_\_ |---| ; It might look like I'm doing nothing, but
\ )| |/ | | / at the cellular level I'm really quite busy.
'. | /_ | |.'
'------------'
participants (1)
-
Alvaro Uría