Ferdinand Soethe wrote:

Sorry about not getting back sooner, I've been away for the weekend. Fortunately this is a site issue so can be fixed after the code freeze is lifted, just as long as the docs work on release day (which I believe they will).

Comments inline...

Ross Gardler wrote:


Plugin docs should be versioned.


I agree for all the reasons you have mentioned.


Different plugin releases may work in different versions of Forrest. For
example, Daisy 0.1 works in 0.7, but 0.2 will not work in 0.7 Forrest
because it relies on the locationmap.


Yet I don't think that they should be part of Forrests versioned
info for several reasons:

- Forrest and Plug-ins each have their own release cylces and we may well
  have a number of new plug-in versions during one Forrest release.
  So even though there is a relation between plug-in and Forrest
  version, it is of the kind

        Plugin X.Y.Z works with Forrest A.B.C

  and neither direct nor permanent.
>
- Because of this, there will be frequent updated of plug-in
  information while we will have very little of non changes at all to
  the docs about past releases.

When a plugin is released its documents are uploaded to the live site via SVN by the plugin build system. There is no manual intervention and no connection between the Forrest docs and the plugin docs other than links in tabs.xml an site.xml. In other words, each individual set of plugin docs are managed independently of the Forrest site. They just happen to be housed on the same web server in this case.

As I mentioned in my original mail, moving the docs in SVN like this breaks this plugin docs publishing mechanism since next time a plugin is deployed its docs will be put in the wrong location for your current site structure.

Something has to change, either this commit is reverted, or the plugin build system is changed to publish into the root directory to match this new structure.

Since I don't pretend to understand the way our versioned docs work I am hesitant to change the build system since this is ow David asked me to do it to make it work. If something has change then I need to know what, but currently I believe this commit breaks things. Read on for clarification.

No problem there. I'd just solve it differently and have a general
access point through the PlugIn-Tab and deal with different versions
either by

- having versioned sub tabs (in the Plug-In Tab) that lead to the version 
specific list of
  plug-ins and detailed info below that or
>
- have a non versioned top level menu of all plug-ins and versioned
  submenus with the details below that.

We had a tab that points to the plugins docs, that tab used to point to the relevant plugin docs for the version we were looking at. Just as the How-To and other tabs work.

As for sub tabs for different versions this is inconsistent with the behaviour of all other tabs. That is, we don't have 0.7 sub tabs for How-To's and other tabs. Why do it for plugins?

Secondly, since you have moved the plugin docs into a non-versioned directory how do you propose to provide different links (sub tabs or any other method) to different versions, this change has removed all the version information for the docs.

(incidentally, this thread has made me realise a problem with versioned plugin docs, but it is unrelated to this issue, and will only become a problem when we deploy our first 0.8 only plugin. I'll address it then rather than confuse this thread).

Besides, these documents are auto published so just moving them in SVN
will not help, next time the plugin is deployed the updated documets
will go into the vesioned location again.


A far as I understand the sitemap the list of plug-ins is generated
dynamically here

<map:match pattern="docs/plugins/index.xml">
          <map:aggregate element="pluginList">
            <map:part src="{forrest:plugins-src}/plugins.xml"/>
            <map:part 
src="{forrest:whiteboard-plugins-src}/whiteboard-plugins.xml"/>
          </map:aggregate>
          <map:transform src="{forrest:stylesheets}/plugins2xdoc.xsl"/>
          <map:serialize type="xml"/>
        </map:match>

and works fine as long as the virtual index.html is in that
docs-directory.

That is only the index page, which is generated from plugins.xml and whiteboardPlugins.xml. It has nothing to do with the plugin docs themselves

{OT] In case you are wondering this page is generated dynamically so that we can also include it in fresh-site without a deployed plugin having to write to the Forest source tree.

> So everything works fine right now.

The index page will always work because it is dynamically generated.

As for the docs themselves it is my understanding that a request for something like http://forrest.apache.org/docs/plugins/org.apache.forrest.plugin.input.dtdx (i.e. no version information) will be redirected to the current version and a request for http://forrest.apache.org/0.8/docs/plugins/org.apache.forrest.plugin.input.dtdx will be redirected to the 0.8 version docs. Consequently, the plugin docs system was designed to publish the docs to the correct location based on this versioned directory structure.

If my understanding is correct we can achieve direct links to versioned plugin docs. However, with the unversioned plugin docs you have created here we cannot provide a versioned set of docs.

Ross

Reply via email to