[silva-dev] public rendering flexibility
Korosec, Wolfgang
wolfgang.korosec at id.ethz.ch
Wed Sep 24 09:57:43 CEST 2003
Hello,
this sounds really VERY good !
Some nice things you could do with this system much easier than now:
Take the Silva-XML send it through the "magic pipe" and get PDF for a
nice printout.
Silva-XML -> Plain Text for Email
Silva-XML -> OpenOffice XML (or even M$-Office XML)
Silva-XML -> RSS
It would be very important, that the "dynamic" parts (database queries
for example) of the page are generated before sending resulting the XML
through the pipe.
Another point: dynamic generation of the XSLT code - would that be a
good idea or not ?
Cocoon uses a similar approach, maybe one can borrow some ideas ;-)
Best regards
Wolfgang
>
> Hi there,
>
> An idea dump about a possible way to make Silva extensible
> and more flexible in a new direction: view rendering pipelines.
>
> The current setup of Silva concerning public views uses particular
> widgets which are in the 'widgets' tree to do the public
> rendering. Each widget is in effect a view for an XML node.
> When publically rendering, a widget is looked up for an XML
> node by element name (tag name), and this widget has a
> 'render' method which gets called. This then is a page
> template and/or python script that does the rendering of the
> widget to HTML. Public widget take care of the public rendering.
>
> Frequently a particular Silva site manager wants particular
> elements to render differently. Often enough CSS is powerful
> enough to allow this. This already works for Silva; Silva
> spits out simple HTML for documents and it's easy to
> associate a stylesheet to that.
>
> Sometimes it's not enough; perhaps a local site manager wants
> the TOC to really render in a different way. In this case it
> would be useful to override a particular element with new
> rendering code.
>
> This is currently hard. It will take some re-engineering of
> the widget and view architecture to accomplish this.
>
> What is easier to accomplish is a simpler approach. This will
> introduce more maintenance burden on the site maintainer but
> it is very flexible.
>
> Imagine there's a service_xml_rendering or something like
> that. In it, the site manager can control which rendering
> pipeline transforms the XML coming from the Silva Document
> (or other objects) into HTML.
>
> The default uses the current widget tree to do it. It should
> also be easy to plug in different widget registries which may
> use different widget trees. Applying the page template in the
> end here remains the same; only the public content rendering changes.
>
> This would require maintaining a near-copy of the public
> widget tree so it'd be a maintenance burden, but it'd at
> least be possible.
>
> More powerful flexibility is also possible. Each Silva object
> knows how to represent itself as XML. It should be possible
> to plug in XSLT transformation sheets to transform this XML
> into HTML as well, or basically any mechanism to do this
> transformation you like.
>
> With XSLT it may be nice to actually disable the whole page
> template system (just plug in a minimal macro for public
> layout perhaps) and let all the HTML rendering, including
> navigation, be the responsibility of the
> XSTL template. The requirements for the various sources of
> XML data would increase though; the XSLT would also need
> access to an XML representation of the folder tree, for
> instance, in order to render navigation elements.
>
> What do people think?
>
> Regards,
>
> Martijn
>
> _______________________________________________
> silva-dev mailing list
> silva-dev at lists.infrae.com
> http://lists.infrae.com/mailman/listinfo/silva-> dev
>
More information about the silva-dev
mailing list