forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ross Gardler" <rgard...@apache.org>
Subject Re: How do you add a link tag?
Date Sat, 07 Jul 2007 13:28:23 GMT
On 07/07/07, Oshani Seneviratne <oshani@apache.org> wrote:
> On 7/6/07, Ross Gardler <rgardler@apache.org> wrote:
> > On 05/07/07, Oshani Seneviratne <oshani@apache.org> wrote:
> > > Hi,
> > >
> > > In the FOAF plugin, I was trying to make the FOAF data get
> > > auto-discovered by a tool like Semantic Radar [1]. To do that, I
> > > believe there should be a link tag, such as the following, inside the
> > > head element of the page.
> > >
> > > <link rel="meta" type="application/rdf+xml" href="foaf.rdf" />
> > >
> > > I could not find any DTD in document-v20 [2] for 'link', so I was
> > > unable to add it in the xsl which transforms the FOAF into XDoc.
> > >
> > > However, I see that some link tags are included (css files for
> > > example) in the final HTML page generated. But I couldn't figure out
> > > where those are picked up in the pipeline.
> > >
> > > So I would really appreciate any advice on what I should do to get a
> > > link tag included in a page.
> >
> > These are added by the skinning system. Using skins there is no easy
> > way to do this since there is no (easy) way for the skin to know when
> > it should be adding the link. I'm afraid it is one of the drawbacks of
> > the skinning system. It is possible, but it is hacky and I don't
> > recommend going down that route as it will mean having to maintain a
> > new skin, which we don't want to do.
> >
> > We could consider adding handling of the link element in XDoc (it is
> > XHTML2 compat, so is likely to be accepted by the community).
> >
> > It is much easier if using the dispatcher (see the DOAP plugin for an
> > example of exactly what you want to do - but only if you want to work
> > with the dispatcher).
> >
> > So, do you fancy going with the dispatcher or do you fancy getting
> > into the internals of Forrest? (or ignore it completely for now, add
> > an issue to the issue tracker and move on to another requirement).
> >
>
>
> I had a look at the doap plugin to see how you have done it using the
> dispatcher.

Since David has picked up the XDoc route, I'll help you on the
dispatcher side. Pick whichever direction you want to take.

> But there are few things that I was not able to understand
> there. For instance, in [1] there is the following piece of code:
>
> [1]$FORREST_HOME/whiteboard/plugins/o.a.f.p.i.doap/resources/themes/common/html/doap-embedded.ft
>
> <forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
>     name="doap-embedded" inputFormat="xsl">
> .
> .
> .
>    <xsl:template match="doap[@url]"><link rel="meta" type="application/rdf+xml">
> .
> .
>
> Does this doap[@url] refer to the<doap> element in the
> src/resources/themes/pelt.fv ?

No, it is a parameter passed in to the element, see the usage
instructions earlier in the quoted file.

> But it throws up this error saying "dispatcherError:Could not
> get the properties for cocoon://index.props". (Please find the full
> trace at the end of the mail)
> What do you think I am doing wrong here?

Be sure that you have enabled the plugins needed for the dispatcher,
unfortunately there is no automated dependency resolution in our
plugin system and so you have to manage these dependencies manually.
In short you must have all of the following in the property
project.required.plugins in your forrest.properties file:

org.apache.forrest.plugin.internal.dispatcher,org.apache.forrest.themes.core,org.apache.forrest.plugin.output.inputModule

The inputModule one is the one that usually relates to the above error.

> So, I guess I will leave out adding the <link> tag for a while.This
> was not a major requirement, and I have some code that I would like to
> get committed first, so this could wait a bit. (I got a bit carried
> away to do something like the FOAF-Explorer [2] and try out the
> Semantic Radar when there are multiple FOAF files.)

Yes, release early, release often. If you have some code in there that
does not quite work tthen add an issue to the tracker so that we don't
forget it.

SImilarly, if you have ideas about the direction the plugin should go
in, but have not done it yet (i.e. the FOAF explorer) then add an
issue as a reminder and an aid to our collective memory about how to
go about moving forwards.

Ross

Mime
View raw message