Strony naszych warsztatów:

http://www.ncdc.pl/community/szluug/webolution/index.pl.html

Są utrzymywane do tej pory na serwerze NCDC. Chyba już czas najwyższy,
żeby przenieść ten content na strony SzLUUGa. :) 
Pytanie jak to najlepiej zrobić?

Właściwie całe warsztaty też można traktować jako osobny projekt, czy
raczej dokumentację innego projektu (wątek "hello world dla różnych
technologii WWW" :) ). 

Np. do 4 warsztatów wrzuciłem całkiem sporo contentu o tomcacie, a
właściwie warto by wrzucić jeszcze więcej (minimalna webaplikacja).

http://www.ncdc.pl/community/szluug/webolution/workshop04.pl.html

Coś mi się zaczyna wydawać, że najlepszym sposobem dokumentowania tutaj,
było by wiki (zamiast contentu dla konkretnych warsztatów, tylko linki
do zagadnień na wiki - np. PHP, ASP.NET, XML, DOM, XSLT, Tomcat, etc.)

Oryginalny content stanowią pliki xml w formacie:

<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
"http://forrest.apache.org/dtd/document-v20.dtd"; >

Format ten łączy cechy docbooka, z funkcjonalnością potrzebną dla web i
jest wykorzystywany w celach dokumentacyjnych, przez dużą ilość różnych
projektów, szczególnie tych powiązanych z apache.org. BTW, planowane
elementy XHTML2.0, upodobnią go bardzo do formatu "document".

Możliwe rozwiązania co do przeniesienia contentu "webolution":
     1. prostym XSLT przerabiam wszystko na HTML i wklejam do formularza
        SzLUUGowego CMS. Wady - o ile rozumiem tracę kontrolę wersji.
     2. Odrobinę bardziej skomplikowanym XSLT (stopień skomplikowania
        zależy od tego, czy zastosowany zostanie layout CSS bez tabel)
        generuję statyczny HTML, który w jakiś sposób zostanie podpięty
        do obecnych stron (modyfikacje contentu będą wymagać za każdym
        razem upload, co można zautomatyzować).
     3. Na analogicznej zasadzie robię XSLT, który generuje prosty HTML,
        który z kolei jest włączany jako content przez jakiś PHP
        include.
     4. Użycie transformera XSLT wewnątrz PHP dla każdego pobrania
        contentu (może to być trochę niepotrzebny overhead, ale zaleta -
        można by czytać od razu z svn).

Moje ogólne refleksje są takie, że typowe systemy CMS przechowujące dane
w bazie nie nadają się dobrze dla prowadzenia dokumentacji projektów.
Chętnie bym pokazał jak to robimy u nas w firmie. Koncepcja jest mniej
więcej taka:

Każdy projekt w CVS ma określoną nazwę, którą stanowi część jego URL w
intranecie:

http://www.ncdc/projects/ncdc-commons-utils/

Projekt musi mieć podkatalog docs. Dokumentacja dla projektu jest
pobierana z tej lokalizacji według następującego pseudo-algorytmu:

      * jeśli istnieje plik index.xml (zgodny z formatem "document"
        apache'a), to wygeneruj z niego content, jeśli nie istnieje,
        utwórz content z listingu katalogu docs, przy czym pobierz
        tytuły dokumentów jako nazwy linków.
      * do contentu dodaj nawigację wygenerowaną na podstawie aktualnego
        katalogu (analogicznie jak wyżej - nazwy linków, to tytuły
        dokumentów).
      * wyślij to do przeglądarki (jeśli kończy się na .html, to wysłany
        jest html, jeśli na .pdf, to pdf (bez nawigacji), jeśli .xml, to
        czysty xml, etc. - można by np. wysyłać pliki openoffice).

Analogiczny algorytm działa dla każdego podkatalogu (rekursywnie) z
wyjątkiem katalogów "resources" i "images". W ich przypadku zamiast
generacji następuje po prostu czytanie zawartości. Kolejny wyjątek, to
podkatalog "wiki". Jeśli taki podkatalog jest założony w dowolnym
miejscu wewnątrz podkatalogu "docs", to content z niego jest parsowany
do xml z tekstowych plików wiki.

Przykład dokumentacji projektowych robionych na analogicznej zasadzie:

http://forrest.apache.org/
http://forrest.apache.org/index.pdf

Chętnie bym się zorientował, jakie są możliwości XSLT w PHP (kiedyś
znajomy używał czegoś, co się nazywało sablotron)

-- 
"Meaning is differential not referential"

Kazimierz Pogoda
Nordic Consulting & Development Company         http://www.ncdc.pl/

Odpowiedź listem elektroniczym