[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sdx-developers] Sitemap, pipeline statique
From: |
Frédéric Glorieux |
Subject: |
[sdx-developers] Sitemap, pipeline statique |
Date: |
Wed, 7 May 2003 16:27:58 +0200 |
Vous l'avez certainement remarqué, la sitemap racine de SDX
attrape toutes les URL statique du genre **.xml, **.css, **.jpg ...
C'était un choix réfléchi, pour au moins 2 raisons
1- laisser un serveur statique (genre Apache) servir lui-même des
ressources statiques
2- éviter la trop grande virtualité des URLs proposées par Cocoon
En conséquence, la sitemap racine actuelle pourrait s'écrire ainsi (ce
n'est pas l'exact code actuel)
<map:call resource="static"/>
<map:match pattern="*/**">
<!-- ici se "monte" le sous sitemap d'une application -->
<map:mount uri-prefix="{1}" src="{1}/" check-reload="yes"/>
</map:match>
où la resource "static" s'écrit ainsi
<map:resources>
<map:resource name="static">
<map:match pattern="**.ai">
<map:read src="{1}.ai" mime-type="application/postscript"/>
</map:match>
<map:match pattern="**.aif">
<map:read src="{1}.aif" mime-type="audio/x-aiff"/>
</map:match>
<map:match pattern="**.aifc">
<map:read src="{1}.aifc" mime-type="audio/x-aiff"/>
</map:match>
[...]
</map:resource>
[...]
Cet ordre a un gros inconvénient. Dans mon application, si je veux par
exemple aller chercher des images dans un autre chemin qu'attendu
Exemple: redirection/image.jpg > /home/data/images/image.jpg
je ne peux pas, c'est intercepter avant pas la sitemap racine.
Pour contourner, je dois fabriquer des pseudos nouvelles url, du genre
Redirection/image.mon_extension > j'en fais ce que je veux
L'usage a montré que cela devient vite lourd.
-------------------
Rapidement, on se serait dit qu'il suffirait d'inverser l'ordre
<map:match pattern="*/**">
<!-- ici se "monte" le sous sitemap d'une application -->
<map:mount uri-prefix="{1}" src="{1}/" check-reload="yes"/>
</map:match>
<map:call resource="static"/>
Pas de chance, la sous sitemap montée prend tout ce qui la concerne, et
ne lâche plus la main (si quelqu'un trouvait une solution, tant mieux).
Ce qui signifie que le sitemap d'une application devrait alors s'occuper
elle-même de servir ses ressources statiques.
On se serait dit qu'il aurait été agréable de pouvoir hériter du
fragment de pipeline cité au-dessus, et là non plus, on n'a pas trouvé
de solution.
Il reste une dernière possibilité, peu élégante, mais qui ne perturbe
pas trop les navigateurs, que le dernier <map:match/> d'une application
soit
<map:match pattern="**.*">
<map:read src="{1}.{2}"/>
</map:match>
On y perd la declaration de type mime, mais si nécessaire, le
développeur d'application ne peut-il pas ajouter la declaration qui lui
est nécessaire ?
- [sdx-developers] Sitemap, pipeline statique,
Frédéric Glorieux <=
- Re: [sdx-developers] Sitemap, pipeline statique, Pierrick Brihaye, 2003/05/07
- RE : [sdx-developers] Sitemap, pipeline statique, Frédéric Glorieux, 2003/05/07
- Re: [sdx-developers] Sitemap, pipeline statique, Pierrick Brihaye, 2003/05/07
- RE : [sdx-developers] Sitemap, pipeline statique, Frédéric Glorieux, 2003/05/07
- Re: [sdx-developers] Sitemap, pipeline statique, Pierrick Brihaye, 2003/05/07
- RE : [sdx-developers] Sitemap, pipeline statique, Frédéric Glorieux, 2003/05/07
- Re: [sdx-developers] Sitemap, pipeline statique, Pierrick Brihaye, 2003/05/08
- RE : [sdx-developers] Sitemap, pipeline statique, Frédéric Glorieux, 2003/05/08