SPIP Mehrsprachigkeit

Hallo,

auf der SPIP-Feria am am 26. November 2005 (http://www.spip-party.net) hat Paolo, der Webmaster von taize.fr, praktische Vorgehensweisen zum Aufbau einer mehrsprachigen Website mit SPIP erläutert. Kurz gesagt kann man sich das Leben mit einer klaren Struktur einfach machen oder alle technischen Register ziehen, um maximale Flexibilität zu erzielen.

Die einfachste Variante sieht so aus:

In den Konfigurationseinstellungen wird die Sprachauswahl für Rubriken aktiviert und diese Option für Artikel abgeschaltet. Dadurch wird allen Artikeln einer Rubrik die Sprache der Rubrik zugeordnet. Diese Methode ist geeignet für Websites, die nach Sprachen sortiert ist, d.h. einer Rubrik der obersten Ebene entspricht eine Sprachversion der Website.
Diese Art Struktur eignet sich gut für Websites mit einer großen Zahl Redakteure, die in ihrer jeweiligen Sprache schreiben, da sie nur die Rubrik ihres Artikels zu wählen brauchen. SPIP sorgt dann für die richtige Sprachumgebung.

Etwas anspruchsvoller:

Wenn eine Website viele einzelne Artikel in unterschiedlichen Spachen hat, die nicht nach Rubriken geordnet sind (die SPIP-Dokumentation führt das Beipiel einer Poesiesammlung an) aktiviert man die Sprachauswahl für Artikel. Das ermöglicht, Artikel mit "automatisch übersetzten" Navigationselementen anzuzeigen und die Richtung der Anzeige für Sprachen wie das Arabische zu ändern.

Für die Mutigen:

Komplizierter wird die Sache, wenn man mehrere Sprachen in einer Rubrik verwenden will und auch sonst wenig Vorgaben machen will. Dann stellt sich z.B. die Frage, ob die Navigationselemente und selbstgestrickten Textbausteine (man kann die automatisch einzufügenden Texte um eigene ergänzen) in der Sprache des Artikels, seines Originals, des zuletzt vom Besucher gelesenen, der Sprache des Besuchers bzw. Redakteurs oder in der Sprache der Rubrik angezeigt werden sollen.

Die Site www.taize.fr zeigt, wie ein optimales Ergebnis aussehen kann. Und natürlich ist SPIP.NET ebefalls ein tolles Beispiel, besonders weil man dort hinter die Kulissen sehen kann, indem man sich als Redakteur anmeldet.

Viel Spass beim Surfen :slight_smile:
klaus++

Hier ein kleines Beispiel einer anderen Site:
http://www.re-so.net/article.php3?id_article=837

Die Bombardierung von CMS und Wiki-Istallationen (incl. SPIP) durch Bots nimmt langsam Formen an,
die sehr unangenehm sind, produktive Installationen gefährden, und immer mehr Zeit kosten, sie zu beheben.
Es wäre sinnvoll, wenn die Formen des CMS + Wiki-SPAMs irgendwo zentral dokumentiert wäre.

Es ist sehr schwierig nachzuvollziehen, wie die "Viagra"-Artikel in die DB kommen.
Zum Teil hatte ich veröffentlichte Artikel, zum Teil Artikel, die auf zur Publikation vorgeschlagen sind.
(Um festzustellen, ob die Bots SPIP oder die DB hacken,
gebe ich dem SPIP-User nur noch die Berechtiung ein "Select" zu machen).
Vielleicht scheint das nicht viel, wenn pro Tag ein, zwei Updates geschehen, aber
wirklich überraschen würde es auch nicht, wenn man plötzlich 100'000 Artikel pro Tag hätte...

Leider wird das Problem (ganz allgemein gesehen) zunehmens schlimmer.
Ich nehme an, die Bots suchen nach gewissen Installationen, und testen, die verschiedenen Möglichkeiten,
z.B batchmässig registrieren, Artikel batchmässig erfassen u.s.w. oder Sicherheitslücken., wie SQL-Injection.

Gruss
Patrick

Hallo Patrick,

in den mir bekannten Fällen wurden SPIP-Installationen durch den Mißbrauch anderer Programme gehackt. Über die Sicherheitslücken eines PHPBB auf dem selben Server konnte z.B. Schreibzugang zur DB erzielt werden.

Die aktuelle Version (1.8e) von SPIP ist soweit immun gegen Code-Injektion wie es mit PHP-Anwendungen möglich ist. Bei der Entwicklung wird die Sicherheit gegen Angriffe immer mitdiskutiert. So wurden auf der SPIP-Feria im November wiederholt Vorschläge für neuen Code abgelehnt, weil die Sicherheit mit diesen Vorschlägen nicht zu gewährleisten war.

Wenn ein Hacker ein offenes SPIP-System über Skripte gezielt angreift, kann er nur Beiträge in Foren posten, Autoren anmelden und Artikel vorschlagen. Und auch das kann man durch das Abschalten der offenen Einschreibung und vorgeschaltete Moderation der Foren effektiv unterbinden.

Schicke doch konkrete Beispiele, in denen ein Einbruch gelungen ist, damit wir Ursachen finden können.

Grusz, klaus++

Patrick Ogay schrieb:

Hier ein kleines Beispiel einer anderen Site:
http://www.re-so.net/article.php3?id_article=837

Die Bombardierung von CMS und Wiki-Istallationen (incl. SPIP) durch Bots nimmt langsam Formen an,
die sehr unangenehm sind, produktive Installationen gefährden, und immer mehr Zeit kosten, sie zu beheben.
Es wäre sinnvoll, wenn die Formen des CMS + Wiki-SPAMs irgendwo zentral dokumentiert wäre.

Es ist sehr schwierig nachzuvollziehen, wie die "Viagra"-Artikel in die DB kommen.
Zum Teil hatte ich veröffentlichte Artikel, zum Teil Artikel, die auf zur Publikation vorgeschlagen sind.
(Um festzustellen, ob die Bots SPIP oder die DB hacken,
gebe ich dem SPIP-User nur noch die Berechtiung ein "Select" zu machen).
Vielleicht scheint das nicht viel, wenn pro Tag ein, zwei Updates geschehen, aber
wirklich überraschen würde es auch nicht, wenn man plötzlich 100'000 Artikel pro Tag hätte...

Leider wird das Problem (ganz allgemein gesehen) zunehmens schlimmer.
Ich nehme an, die Bots suchen nach gewissen Installationen, und testen, die verschiedenen Möglichkeiten,
z.B batchmässig registrieren, Artikel batchmässig erfassen u.s.w. oder Sicherheitslücken., wie SQL-Injection.

Gruss
Patrick

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

Mit Schrecken davongekommen:

/squelettes
rubrique.html
rubrique-1.html (Subsite 1)
rubrique-16.html (Subsite2)
[rubrique-25.html neue Subsite]

Wird im Folder rubrique.html gelöscht, resp. z.B. umbenannt z.B. in rubrique-25.html, werden keine Templates mehr erkannt, und das Standard-Template aus /dist kommt überall zum tragen.

Das Problem scheint in spip 1.82e auch noch zu sein.
Hab jedenfalls 182d copiert und alle neuen Source reingespielt, das Problem bleibt. Ich denke mir, das Phänomen trat mit 1.6 und und 1.72 nicht auf, das ich den Mechanismus sehr häufig verwende. SPIP 1.7 hatte aber auch einge Probleme mit der Vererbung der Templates.

Hauptsache, es gibt einen Workarround.

viele Grüsse
Patrick

Hallo Patrick,
das ist kein Fehler sondern "by design".
Grusz, klaus++

Patrick Ogay schrieb:

Mit Schrecken davongekommen:

/squelettes
rubrique.html
rubrique-1.html (Subsite 1)
rubrique-16.html (Subsite2)
[rubrique-25.html neue Subsite]

Wird im Folder rubrique.html gelöscht, resp. z.B. umbenannt z.B. in rubrique-25.html, werden keine Templates mehr erkannt, und das Standard-Template aus /dist kommt überall zum tragen.

Das Problem scheint in spip 1.82e auch noch zu sein.
Hab jedenfalls 182d copiert und alle neuen Source reingespielt, das Problem bleibt. Ich denke mir, das Phänomen trat mit 1.6 und und 1.72 nicht auf, das ich den Mechanismus sehr häufig verwende. SPIP 1.7 hatte aber auch einge Probleme mit der Vererbung der Templates.

Hauptsache, es gibt einen Workarround.

viele Grüsse
Patrick

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

>Templatevererbung
>das ist kein Fehler sondern "by design".

Das kann ich jetzt kaum glauben. Das ist ja schlimmer als Microsoft.
Es gibt ganz klar eine Hierarchie, das ist Standard template (früher -dist), Benutzertemplate, Rubrik-spezifisches Template.
IMHO gibt es keinen Grund, warum ein rubrikspezifisches Template ein User-definiertes Template verlangt.
(Abgesehen davon, gab es mit älteren Versionen situationen, wo man gewungen war, gewisse Sachen *nicht" im /squelette abzulegen, sodass es überhaupt erkannt wurde. )

Wenn's bei Design ist, würde ich gerne wissen warum es so ist.

Gruss
Patrick

Patrick Ogay schrieb:

Mit Schrecken davongekommen:

/squelettes
rubrique.html
rubrique-1.html (Subsite 1)
rubrique-16.html (Subsite2)
[rubrique-25.html neue Subsite]

Wird im Folder rubrique.html gelöscht, resp. z.B. umbenannt z.B. in rubrique-25.html, werden keine Templates mehr erkannt, und das Standard-Template aus /dist kommt überall zum tragen.

Das Problem scheint in spip 1.82e auch noch zu sein.
Hab jedenfalls 182d copiert und alle neuen Source reingespielt, das Problem bleibt. Ich denke mir, das Phänomen trat mit 1.6 und und 1.72 nicht auf, das ich den Mechanismus sehr häufig verwende. SPIP 1.7 hatte aber auch einge Probleme mit der Vererbung der Templates.

Hauptsache, es gibt einen Workarround.

viele Grüsse
Patrick

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

Hallo Patrick,
unter diesem URL findest Du Hinweise darauf "warum" das so ist:
http://www.spip.net/de_article2538.html

>Templatevererbung
>das ist kein Fehler sondern "by design".

Das kann ich jetzt kaum glauben. Das ist ja schlimmer als Microsoft.
  

Naja, bei MS könntest Du das nicht selber modifizieren :wink:

Es gibt ganz klar eine Hierarchie, das ist Standard template (früher -dist), Benutzertemplate, Rubrik-spezifisches Template.
IMHO gibt es keinen Grund, warum ein rubrikspezifisches Template ein User-definiertes Template verlangt.
  

Erläuterungen zur Hierarchie s.o.
Habe diesen Artikel/Übersetzung nicht durchgesehen. Bitte um Hinweise, falls er nicht zutreffende oder unverständliche Infos enthalten sollte.

(Abgesehen davon, gab es mit älteren Versionen situationen, wo man gewungen war, gewisse Sachen *nicht" im /squelette abzulegen, sodass es überhaupt erkannt wurde. )
  

Das ist weiterhin nicht zwingend erforderlich. Du verbesserst nur die Übersichtlichkeit und Wartbarkeit Deiner Site, wenn Du ein separates Verzeichnis verwendest.

Wenn's bei Design ist, würde ich gerne wissen warum es so ist.
  

s.o.
Im Zuge der Modularisierng von SPIP werden ein dokumentiertes API und Plugin-Interface eingebaut, mit denen man das Verhalten von SPIP weitegehend beeinflussen kann. Die Informationen des o.a. Artikels bleiben als default gültig, so wie bei jedem Update auf maximale Kompatibilität geachtet wurde. Wenn jetzt die Art der Vererbung von Skeletten geändert würde, brächte das etliche Sites aus dem Tritt, die unter der bisherigen Konvention entwickelt wurden.

Viel Spass weiterhin,
klaus++

>kIm Zuge der Modularisierng von SPIP werden ein dokumentiertes API und Plugin-Interface eingebaut, mit denen >man das Verhalten von SPIP weitegehend beeinflussen kann. Die Informationen des o.a. Artikels bleiben als default >gültig, so wie bei jedem Update auf maximale Kompatibilität geachtet wurde.
Ich arbeite seit SPIP 1.6 mit einem GLOBALS[''dossiersquelette']. und mit der extensiv mit der Vererbung der Squelette
Kompatibilität! Das wüsste ich. Ich hab mal längere Zeit ein Fehler gesucht, bis ich merkte, dass die Vererbung nicht mehr gleich war! Zeitweise waren Bugs drinnen, und es war immer wieder etwas anders.
Die wenigsten merken das, weil sie wohl nicht mit Dossier-squelette gearbeitet haben.

>Wenn jetzt die Art der Vererbung von Skeletten geändert würde, brächte das etliche Sites aus dem Tritt,
>die unter der bisherigen Konvention entwickelt wurden.
Das ist klar, aber trifft aber leider IMHO nicht zu.

Gruss
Patrick

> http://www.spip.net/de_article2538.html
Das bezieht sich auf die Sprache, wo es ja auch logisch ist.

Trotzdem vielen Danke die Hinweise.

Gruss
Patrick

Hallo Patrick,
danke für den Hinweis, die Ungereimtheiten, die mir bisher bei der Vererbung aufgefallen waren, habe ich bisher auf meinen eigenen Code zurückgeführt.

Wie Du verwende ich spezielle Skelette pro Rubrik, seit SPIP 1.6 teilweise in eigenen Verzeichnissen, die per $GLOBALS['dossier_squelettes'] definiert werden.

Dabei bin ich immer davon ausgegangen, dass eine Datei "article.html" bzw. rubrique.html vorhanden sein muss, wenn ich article-nn.html verwenden will. Diese Information habe ich damals vermutlich der "offiziellen" Dokumentation entnommen, ich kann mich jedenfalls nicht daran erinnern, jemals die Frage gestellt zu haben. Es kann natürlich sein, dass SPIP gelegentlich article-nn.html richtig zugeordnet hat, auch wenn article.html nicht vorhanden war. Das wäre aber die nicht dokumentierte Ausnahme.

Zu den Ungereimtheiten:
Mir ist vor einiger Zeit aufgefallen, dass bei einer Website einige Zuordnungen nicht funktionierten, das betraf aber nur eine bestimmte Rubrik, bei allen anderen funktionierte es. Der Fall war deutlich zu komplex und zu unwichtig, um ihn in einer sinnvollen Zeitspanne klären zu können.

Diese Site wird jetzt neu aufgesetzt, d.h. die Skelette und Funktionen werden neu entworfen und programmiert. Ich werde diese Frage damit isolieren und genauer untersuchen können. Wenn Du Deine Beobachtungen auch etwas genauer beschreiben könntest (was geht, was geht nicht, betrifft es die Mehrsprachigkeit oder einfach die Zuordnung vom Skeletten zu Rubriken, usw.), könnten wir das Verhalten der akuellen Version (1.82g) dokumentieren und mit der offiziellen Dokumentation abgleichen. Und wir könnten ausprobieren, ob sich die aktuelle 1.9alpha entsprechend verhält. Das gibt dann u.U. noch eine Hausaufgabe für die Entwickler von SPIP 1.9 :wink:

Lieber Patrick, Deine Bemerkung zeigt mir, dass die Achillesferse von SPIP seine Dokumentation ist. Es ist zwar immer noch verhältnismässig gut dokumentiert, aber speziell die deutsche Übersetzung der Dokumentation beschreibt nicht alle neuen Features. Ich selber versuche so gut wie möglich zu helfen, habe aber auch nur begrenzt Zeit, mich dem no-budget-Projekt SPIP zu widmen. Vielleicht können wir den von Dir angesprochenen Punkt genauer klären und der Dokumentation damit auf die Sprünge helfen.

Viel Spass,
klaus++

Patrick Ogay schrieb:

>kIm Zuge der Modularisierng von SPIP werden ein dokumentiertes API und Plugin-Interface eingebaut, mit denen >man das Verhalten von SPIP weitegehend beeinflussen kann. Die Informationen des o.a. Artikels bleiben als default >gültig, so wie bei jedem Update auf maximale Kompatibilität geachtet wurde.
Ich arbeite seit SPIP 1.6 mit einem GLOBALS[''dossiersquelette']. und mit der extensiv mit der Vererbung der Squelette
Kompatibilität! Das wüsste ich. Ich hab mal längere Zeit ein Fehler gesucht, bis ich merkte, dass die Vererbung nicht mehr gleich war! Zeitweise waren Bugs drinnen, und es war immer wieder etwas anders.
Die wenigsten merken das, weil sie wohl nicht mit Dossier-squelette gearbeitet haben.

>Wenn jetzt die Art der Vererbung von Skeletten geändert würde, brächte das etliche Sites aus dem Tritt,
>die unter der bisherigen Konvention entwickelt wurden.
Das ist klar, aber trifft aber leider IMHO nicht zu.

Gruss
Patrick

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

[( #ENV{post}|=={1}|?{' ',''})<INCLURE(page.php3){fond=post-edito}>]
Ich pobier grad diesen Ausdruck zu reengineeren. Finde keine Doku

und urgh...
[(#REM|sinon{'Mortimer'}|unique|?{'',''})]
aus: http://www.spip-contrib.net/Appliquer-un-filtre-sur-autre

Scheint: (errinnert etwas an flachgelegte C-Conditions )
|=={1}| wenn Aufdruck = 1
|?{' ',''})| wird ein Blank zurückgegeben und das inclure gemacht, ansonsten "nichts".
|?{'',''} mache nie, wenn unique was zurückbringt.

Sowas funktioniert, dann auch &form=y holt das Formular. (juppi!)
[(#ENV{form}|=={y}|?{' ',''})#FORMULAIRE_ECRIRE_AUTEUR]

viele Grüsse
Patrick

[(#SOUSTITRE|=={Contact}|?{' ',''})#FORMULAIRE_ECRIRE_AUTEUR]

Das funktioniert, wie schon gesagt,
es bleiben allerdings noch die Fragen offen:

* Regulärer Ausdruck
* String, der Blanks beinhaltet

Ich finde der Mechanismus eröffnet wirklich viele Möglichkeiten, wenn er etwas besser dokumentiert wäre.

viele Grüsse
Patrick

das geht ja auch: (String in Single Hochkommatas)
[(#SOUSTITRE|=={'10. Contact'}|?{' ',''})#FORMULAIRE_ECRIRE_AUTEUR]

noch die Fragen offen:

* Regulärer Ausdruck
(das geht sich auch irgendwie:-)

viele Grüsse
Patrick

Hallo Patrick,
danke für die Info.

Emmanuel Saint-James (alias ESJ / Déesse A. / DSA) beschert uns viele fortgeschrittene Features und Sprachelemente, die SPIP mit der reinen Lehre vom Sprachdesign vereinen (zumindest weitgehend). Das dokumentiert sich in der Mailingliste der Entwickler (spip-dev@rezo.net), im SPIKINI (http://www.spip-contrib.net/spikini/PagePrincipale) und auf Anfrage. ESJ beantwortet Fragen schnell und ergebnisorientiert.

Die Entwicklung von SPIP und seiner Dokumentation läuft in etwa so:

- Anfrage für ein neues Feature
- Diskussion über Sinn und Folgen der Realisierung
- Entwurf / Test / Diskussion / Fertigstellung
- Die Schritte der letzten Zeile werden in Mailing-Liste und SPIKINI-Wiki dokumentiert

Neue Features werden in der Liste spip-dev@rezo.net mit Nachrichten angekündigt, deren Betreff mit einem Ausrufungszeichen beginnt.

Mortimer verbringt viel Zeit damit, neue Features in die offizielle Dokumentation einzuarbeiten.

SPIP 1.9 bzw. 2.0 werden so viele neue Features und architektonische Änderungen bringen, dass eine Überarbeitung der Dokumentation dringend angezeigt sein wird. Bis dahin kann man den Entwicklern Fragen stellen, die i.d.R. unverzüglich beantwortet werden. Bei Übersetzungsproblemen helfe ich gern.

Viel Spaß weiterhin,
klaus++

Patrick Ogay schrieb:

das geht ja auch: (String in Single Hochkommatas)
[(#SOUSTITRE|=={'10. Contact'}|?{' ',''})#FORMULAIRE_ECRIRE_AUTEUR]

noch die Fragen offen:

* Regulärer Ausdruck
(das geht sich auch irgendwie:-)

viele Grüsse
Patrick

_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

Artikel können mit 1.8 offenbar auch angezeigt werden, wenn nicht publiziert.

Gibt's eigentlich auch die Möglichkeite eine Rubrik anzuzeigen, wenn keine Artikel drunter sind?
Ich finde, dass es oft Sinn machen würde, z.B. eine Rubrik zu verwenden, statt einen Artikel, z.B. für Dokumente anzuhängen o.ä. Wenn was angehängt ist, so finde ich, sollte die Rubrik jedenfalls erscheinen.

Gruss
Patrick

Lieber Patrick,
das von Dir gewünschte Verhalten entspricht der Standardeinstellung von SPIP:

Eine Rubrik wird angezeigt, wenn sie Objekte enthält. Das können Artikel, Dokumente oder verlinkte Websites sein.

Grusz, klaus++

Patrick Ogay schrieb:

Artikel können mit 1.8 offenbar auch angezeigt werden, wenn nicht publiziert.

Gibt's eigentlich auch die Möglichkeite eine Rubrik anzuzeigen, wenn keine Artikel drunter sind?
Ich finde, dass es oft Sinn machen würde, z.B. eine Rubrik zu verwenden, statt einen Artikel, z.B. für Dokumente anzuhängen o.ä. Wenn was angehängt ist, so finde ich, sollte die Rubrik jedenfalls erscheinen.

Gruss
Patrick
_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

Habe ich mit SPIP 1.83 getestet. SPIP-EVA, die Version für Schulen in Frankreich, nutzt systematisch Rubriken, die nur verlinkte Websites enthalten, um Menüs zu generieren.

Grusz, klaus++

Patrick Ogay schrieb:

Hoi Klaus,
>Eine Rubrik wird angezeigt, wenn sie Objekte enthält. Das können Artikel, Dokumente oder verlinkte Websites sein.
ah, o.k, sehr gut!

in den älteren Version (so glaube ich ) wurden Rubriken mit angehängtn Dokumenten nicht gezeigt...
Ich hoffe, die Aussage stimmt, ansonsten werd ich's posten.

viele Grüsse
Patrick