Thorsten Scherler wrote:
On Wed, 2005-07-13 at 10:33 +0100, Ross Gardler wrote:
As suggested by Ferdinand I am just dumping some ideas I have in my mind about the future of views.

I've not really considered these in detail, so they could be full of holes, I'm just hoping to seed a few ideas to explore them at the views workshop/hackathon if time permits.



We have to start using the view specific naming for e.g. templates
otherwise we will not understand each other very well.

Yes, and this should be another outcome form our views workshop. I am thoroughly confused by the many names in use within views. I feel sure many are not needed. For example, in this mail you introduce, for the first time, the definition of *.vt as "view tiles". These files are templates. They have the same syntax as other templates why give them a diffferent name?

<xsl:cal-template ...>, for example, does not call a complete different type of template. why should <forrest:call-temlate>

Then we have contracts, which are acrtually defined in *.ft (forrest-templates), but the syntax of their language is <forrest:tempalte>. It is thoroughly confusing, and I believe totally unnecessa/ Lets pick a few simple terms to refer to simple concepts and stick with them.

(if there is a nedd for different terminology convince us (me?) in Stuttgart after we have a solid grounding, it will be much easier for you I am sure)

...

I would like to see a new type of plugin that is a single template.


about which templates do you talk about? About forrest:contract (*.ft)
or (*.vt)? Or forrest:views (*.fv)?

Here is a perfect example of why we need clear, unambiguos names. I was referring to *.ft (forret-template) *.fv is a view so I don't understand why it is even a possability here.

As for *.vt this is something that was introduced a couple of days ago. I am not sure why *.vt even needs to exist as a separate extension (think <xsl:template match=""> and <xsl:template name=""/>) and so did not think about it when writing the above sentence.

Do you mean adding all contracts that we extracted (like
content-feeder.ft) again into one single template?

No. I mean making all contracts (i.e. *.ft = forrest-templates) availablew as separate units of functionlaity rather than bundling them up within a view plugin that prevents their easy reuse across different views (*.fv)

However...


Like I will implement soon in our viewHelper.xhmtl. We will have
default.fv and pelt.fv (as soon as we created it) ;-) which are two
different skins sharing the same contracts.

OK, this is very similar to what I am proposing, but it is a different approach. I think there is merit in both approaches so we need to discuss these in Stuttgart. I won;t try and do it now as I am starting my travels tomorrow so I won;t be able to follow up.

Just as a teaser for my thinking avout my alternative approach. It has the advantage of allowing the reuse of contracts across different formatsm, which you approach does not (unless you create dependencies between views plugins). For example, Hanax needs to reuse most of the XHTML view in his voiceML view.

org.apache.forrest.output.Pelt
org.apache.forrest.output.Leather
etc.



You are using skin names here.
No, the idea should be to have skins *in* the view plugin.

Only in your implementation. Like I say, I see merit in both approaches. We can discuss in Stuttgart and come up with a proposal fot the list from that. Chances are we will take the best of both approaches.

---

Currently we have output plugins that do things like create the various output documents. Are vew going to replace these plugins? Thinking about the list of output plugins we currently have I see none that cannot be replaced by a view. However, Imagine a use case in which we have an output plugin that is designed to upload the page to a server when it is generated.

Do we need a new view plugin or should we reuse the existing output plugin namespace?



org.apache.forrest.plugin.output.viewHelper.{format}

The main different I see is that output plugins 'normally' just do a
document2{format} transformation. A view plugin is using this as one
part.

It is the use of 'normally' that makes me think there may be a need for a different type of plugin. This is a point for discussion. I am totally undecided at present.

------------------------------------------------------------------------

Moving into Core
================

We need to think carefully about when to do this. The Locationmap work is going to rewrite most of the *.xmap files in core and the Views work will touch many of these files too.

We should consider the implications of these changes and decide which to do first.



I think the locationmap and view should be coordinated and happen to the
*same* time.

Again lets discuss. I am not at all sure this is possible. There are simply to many overlapping changes. However, without a roadmap for views (and I suppose this portion of the locationmap work too), it is impossible to decide.

All we need is good coordination and communication. ;-)

Starting with a plan from Stuttgart followed by a review onlist from other devs - this looks like excellent timing.

------------------------------------------------------------------------

Portals
=======

<snip what="agreement on 'we need to understand more about portals"/>


At the very least I would like to consider the ability for individual users to customise their views.


What do you mean?

I mean the user eing able to turn on/off contracts in their view. Kind of like a user choosing to view a web page with their own CSS rather than that provided by the webiste designer. Or, to stick with the portal theme, the user being able to turn on/off some of the portlets.

Clearly this is only approproate in a dynamic envirnment.


We are not going to have time for everything. This "portals" stuff is future wish list stuff. I'll be attending the portals presentations at Apachecon, but they are after the workshop. I think the immediate work needs to be on getting views complete for 0.8. Portals (if they ever emerge) will come after that.

Ross

Reply via email to