This document is also available in non-normative PDF version.
Copyright © 2005 DERI®, All Rights Reserved.
DERI liability, trademark, document use, and
software licensing rules apply.
This note describes the way URIs (Uniform Resource Identifiers) for working drafts in the WSMO and WSML Working Groups should look. We also provide some useful tips on implementing these rules can be implemented on the current Apache web server, which hosts the wsmo.org web site.
This section is normative
This section contains the rules for persistent URIs, which are used to give different updates of working drafts in the WSMO and WSML Working Groups permanent presence on the World Wide Web.
The URI of a WSMO[1] working draft consists of the following parts:
http://www.wsmo.org/TR/deliverable-number/ [sub-deliverable-number/]version/date/
A more detailed description per item in the URI:
As an example, the March 24, 2005 update of deliverable 16.2 version 0.1 should be persistently available at the following URI:
http://www.wsmo.org/TR/d16/d16.2/v0.1/20050324/
This section is normative
The URI of the latest update of a certain version of a WSMO working draft consists of the following parts:
http://www.wsmo.org/TR/deliverable-number/ [sub-deliverable-number/]version/
When the browser accesses a URI of this type, the browser should receive the latest update (see Appendix A for an example of doing this on an Apache web server). The browser should not be redirected to this URI because we assume the user wants the latest update, even when this page is bookmarked and visited later. Every working draft update should contain a full link to itself in case a link to this particular update is necessary.
For example, if the user wants to access the latest update of deliverable 16.2, version 0.1, the user will access the following URI:
http://www.wsmo.org/TR/d16/d16.2/v0.1/
Assuming that the latest update of d16.2 v0.1 is dated March 24, 2005, the browser will display the URI above, but it will show the document that is also identified by the following URI:
http://www.wsmo.org/TR/d16/d16.2/v0.1/20050324/
This section is normative
The URI of the latest finalized version of a WSMO working draft consists of the following parts:
http://www.wsmo.org/TR/deliverable-number/ [sub-deliverable-number/]
When the browser accesses a URI of this type, the browser should be automatically redirected to the latest finalized version (see Appendix B for an example of doing this on an Apache web server). In case no version of the deliverable is finalized, the browser should be redirected to the current version.
The redirect to the last finalized version (as opposed to the current version) is done so that once a finalized version is available, there exists a link to the latest stable version of the specification.
For example, if the user wants to access the latest finalized version of deliverable 16.2, the user needs to access the following URI:
http://www.wsmo.org/TR/d16/d16.2/
Assuming that the latest finalized version of d16.2 is 0.1, the browser is redirected to the following URI:
http://www.wsmo.org/TR/d16/d16.2/v0.1/
The same redirect would also happen if version 0.2 is already being
developed for d16.2, but it isn't finalized yet. If the user wants to see the
current version (even though it may not be a mature specification) and not
the last finalized one, they have to know the version number (v0.2 in our
example) or they have to visit the draft listing at http://www.wsmo.org/TR/
.
This section is normative
For deliverables that have sub-deliverables, a listing of those sub-deliverables should be available (as a part of the document) at the following URI:
http://www.wsmo.org/TR/deliverable-number/
For example, if the user wants to access the listing of sub-deliverables of deliverable 16, the user needs to access the following URI:
http://www.wsmo.org/TR/d16/
The retrieved document will contain links to deliverables d16.1 and d16.2, in case those are the sub-deliverables of d16.
Note that for deliverables that don't have sub-deliverables, these links will redirect to the latest finalized version of the deliverable, as described in section 3.
This section is non-normative
In Apache, URI rewriting allows a request for one URI to be served from a different resource that has its own URI. As we have seen in section 2, every working draft version needs HTTP rewrites to the latest update.
This appendix shows by example how these rewrites can be achieved on an Apache web server (such as the one on which the wsmo.org web site is currently hosted).
The example used in this appendix is WSMO deliverable d16.2 with current version v0.1 and latest update March 24, 2005. This update of the deliverable is available from:
http://www.wsmo.org/TR/d16/d16.2/v0.1/20050324/
Our goal is to implement HTTP rewrite to this update of the deliverable from the following URI:
http://www.wsmo.org/TR/d16/d16.2/v0.1/
One way to implement this HTTP rewrite on an Apache web server is using
the .htaccess
file. We implement the rewrite from
http://www.wsmo.org/TR/d16/d16.2/v0.1/
to
http://www.wsmo.org/TR/d16/d16.2/v0.1/20050324/
by creating a
file .htaccess
in the directory
http://www.wsmo.org/TR/d16/d16.2/v0.1/
on the web server, with
the following content:
RewriteEngine on RewriteBase /TR/d16/d16.2/v0.1/ RewriteRule ^$ 20050324/
This concludes the implementation of the required HTTP rewrites.
Note: In Case a document contains relative URLs (e.g. for images) that typically reside in the directory specific to the version an extended Rewrite is needed:
RewriteRule ^(([^\d]).*)?$ 20050324/$1
This RewriteRule will internally rewrite requests such as
http://www.wsmo.org/TR/d16/d16.2/v0.1/img/pic.gif
to
http://www.wsmo.org/TR/d16/d16.2/v0.1/20050324/img/pic.gif
. I.
e. the regular expression specifies that everything that does not start with
a number will be rewritten; the exception is made to avoid recursion.
This section is non-normative
URI redirecting means issuing an explicit HTTP redirect to a different URI in response to a request to some other URI. As we have seen in section 3, every working draft needs HTTP redirects on the deliverable level, where a redirect to the latest version is necessary.
This appendix shows by example how these redirects can be achieved on an Apache web server (such as the one on which the wsmo.org web site is currently hosted).
The example used in this appendix is WSMO deliverable d16.2 with current version v0.1. This version of the deliverable is available from:
http://www.wsmo.org/TR/d16/d16.2/v0.1/
Our goal is to implement HTTP redirect to this version of the deliverable from the following URI:
http://www.wsmo.org/TR/d16/d16.2/
One way to implement such an HTTP redirect on an Apache web server is
using the .htaccess
file. We implement the redirect from
http://www.wsmo.org/TR/d16/d16.2/
to
http://www.wsmo.org/TR/d16/d16.2/v0.1/
by creating a file
.htaccess
in the directory
http://www.wsmo.org/TR/d16/d16.2/
on the web server, with the
following content:
RedirectMatch /TR/d16/d16.2/$ http://www.wsmo.org/TR/d16/d16.2/v0.1/
This concludes the implementation of the required HTTP redirects.
The work is funded by the European Commission under the projects DIP, Knowledge Web, InfraWebs, SEKT, SWWS, ASG and Esperonto; by Science Foundation Ireland under the DERI-Lion project; by the FIT-IT (Forschung, Innovation, Technologie - Informationstechnologie) under the projects RW² and TSC.
The editors would like to thank to all the members of the WSMO working group for their advice and input to this document.
[1] The WSMO and WSML Working Groups share the same URI space for working drafts and use the same numbering for working drafts. Therefore, all rules presented for WSMO working drafts also apply for WSML working drafts.
$Date: 2005/02/02 15:44:30 $