Page 3 of 6

Re: CMSimple_XH 1.6

Posted: Tue Jan 21, 2014 10:46 pm
by svasti
I guess, the problem is that the installation of secondary languages has become more complicated.
Not so nice for a program called Simple.
Would be nicer, if things get simpler

However the present method to put everything under "content" seems logical.

The complicated part is that you need 2 separate folders if you want a secondary language. And the folder on the base URL contains no real information, it's just a programming device. Form the logical point of view this construction is doublicated information, as the user has already established his secondary language as subfolder of content.

What about the possibility of doing away with this 2lang folder and have it somehow generated on the fly by the system? Adding a secondary language would in this case simply mean adding a subfolder to content.

Re: CMSimple_XH 1.6

Posted: Wed Jan 22, 2014 12:39 pm
by cmb
svasti wrote:What about the possibility of doing away with this 2lang folder and have it somehow generated on the fly by the system? Adding a secondary language would in this case simply mean adding a subfolder to content.
If the installation folder of CMSimple_XH, which is most often the web root, is not writable (and it should be so for security reasons), creating the folder would fail.

We could do it the other way round: user copies 2lang/, and the system creates content.htm if necessary (usually, the content/ folder is writable). However, the current solution already creates content.htm as soon as the user saves a page.

The problem that remains unsolved by either solution is the upgrade from an earlier version. The user has to know where to put his old content.htm.

Re: CMSimple_XH 1.6

Posted: Wed Jan 22, 2014 1:32 pm
by Holger
Hmm, hier darf man ja auch in deutscher Sprache ;)

Also im Moment kommen wir nicht drumherum, einen Sprachordner im Root-Verzeichnis zu belassen. Aber es ist schon komisch, dass wir übersehen haben auch die Ordner unter /content vom Core generieren zu lassen, wenn schon die eigentliche Inhaltsdatei selbstständig angelegt wird.
Mit der kleinen Erweiterung müsste dann der User, wie vorher auch, lediglich den 2lang-Ordner kopieren.
Da wäre ich sofort dafür.
cmb wrote:The problem that remains unsolved by either solution is the upgrade from an earlier version. The user has to know where to put his old content.htm.
Eventuell könnte das noch durch Franks Upgrade-Skript erledigt werden? Eventuell mit einer Rückfrage per JS-Alert:
- der User kopiert seine Zweitsprachen-Ordner mit der alten Struktur aus einer alten Installation in das Installations-Root
- idealerweise macht er den/die Ordner temporär beschreibbar
- das Upgrade-Skript findet den/die alten Ordner selbstständig (2-Zeichen Länge war ja noch Vorschrift)
- nach Rückfrage verschiebt es die Inhalte an die richtige Stelle und passt die Links an
- am Ende wird noch die eventuell fehlende .2lang-Datei angelegt, wenn die Schreibrechte es zulassen. Ansonsten ein passender Hinweis ausgegeben
- der User, bzw das Skript, setzt die Schreibrechte für den Zweitsprachen-Ordners zurück

Re: CMSimple_XH 1.6

Posted: Wed Jan 22, 2014 1:52 pm
by cmb
Holger wrote:Hmm, hier darf man ja auch in deutscher Sprache ;)
:oops:
Holger wrote:Aber es ist schon komisch, dass wir übersehen haben auch die Ordner unter /content vom Core generieren zu lassen, wenn schon die eigentliche Inhaltsdatei selbstständig angelegt wird.
Mit der kleinen Erweiterung müsste dann der User, wie vorher auch, lediglich den 2lang-Ordner kopieren.
Da wäre ich sofort dafür.
Darüber hatten wir diskutiert: http://cmsimpleforum.com/viewtopic.php?f=29&t=6625. So wie es nun ist, wird folgende Meldung angezeigt, wenn man einfach nur 2lang/ kopiert:
Fehlt Content-Datei
../content/de/content.htm

Wenn man sich dann anmeldet, sieht man eine neue Seite "NEUE SEITE" im Editor und eben wieder die Warnung, dass der Content fehlt. Wenn man dann speichert und der content/ Ordner beschreibbar ist, dann wird content/de/content.htm erzeugt. Das ist eigentlich genau das gleiche wie bei fehlendem content/content.htm.
Holger wrote:Eventuell könnte das noch durch Franks Upgrade-Skript erledigt werden?
+1

Re: CMSimple_XH 1.6

Posted: Wed Jan 22, 2014 2:32 pm
by Holger
cmb wrote:Darüber hatten wir diskutiert:
Ich werd' alt :oops: . Ich hatte es ja selber so vorgeschlagen und auch getestet :roll: . Aber die ewige Diskussion um das Thema macht mich ganz kirre....

Wie dem auch sei, bei einer neuen Installation muss lediglich - wie vorher auch - der 2lang-Ordner kopiert werden. Den Rest erledigt der Core (halb)automatisch.
Wir sollten mal langsam aufhören über die Ordnerstruktur weiter zu diskutieren und vor allem nicht aus dem Auge verlieren, dass es eigentlich nur beim Update einer bestehenden Seite etwas besonderes zu beachten gibt.
Und die mögliche Erweiterung des Update-Skripts könnte dann dieses eine "Rest-Problem" auch aus dem Weg schaffen.

Re: CMSimple_XH 1.6

Posted: Fri Jan 24, 2014 6:39 pm
by Tata
Hier steht:
cmb wrote:[*]das Subsite-Feature wurde entfernt, da die Implementierung in CMSimple_XH 1.5 unsauber gelöst war (siehe die Dokumentation über Subsites und Alternativen)
Sollte ich jetzt diese Funktionalität brauchen, wie geht es eigentlich. Ich habe den alten Prinzip versucht. Ich habe ein Ordner "Subseite" erstzellt mit der ".2site" Datei drinn und unter dem /content auch ein Ordner "Subseite" erstzellt mit der ".htaccess". Nur erinnere ich nicht mehr, wie ich die "Subseite" aufrufen soll, oder ob es überhaupt noch funkzioneren kann.

Re: CMSimple_XH 1.6

Posted: Fri Jan 24, 2014 7:02 pm
by cmb
Subsites sind mit XH 1.6 nicht mehr möglich. Man kann allerdings wie früher (vor XH 1.5) das Mehrsprachenfeature missbrauchen (also 2lang/ kopieren). Und eigentlich sollte es ab XH 1.6 auch möglich sein, diesen Kopien beliebige Namen zu geben; das funktioniert aber wohl nur teilweise, wie ich gerade sehe (da scheint sich noch ein Bug versteckt zu haben; ich geh mal suchen). Und wenn ich's recht bedenke, dann hätte man damit eigentlich auch die wesentlichen Möglichkeiten der 1.5-Subsites. ;) (allerdings auch deren Probleme; z.B. gibt $sl dann nicht mehr den Sprachcode an, was bei einigen Plugins dann manuell nachgebessert werden müsste). Die sauberste Lösung aber sind vermutlich separate CMSimple_XH Installationen.

Re: CMSimple_XH 1.6

Posted: Fri Jan 24, 2014 7:29 pm
by Gert
Tata wrote:Sollte ich jetzt diese Funktionalität brauchen, wie geht es eigentlich.
Mit CMSimple, da sind sogar mehrsprachige Subsites möglich ;)

Demo: http://www.ge-webdesign.de/subsitedemo/

Gert

Re: CMSimple_XH 1.6

Posted: Fri Jan 24, 2014 7:39 pm
by cmb
cmb wrote: Und eigentlich sollte es ab XH 1.6 auch möglich sein, diesen Kopien beliebige Namen zu geben
Nein, das war natürlich nicht vorgesehen. Für XH 1.6 wurde nur abgesichert, dass es Ordner geben darf, die nur aus zwei Buchstaben bestehen, aber dennoch keine Zweitsprachenordner sind (das entscheindende Kriterium ist nun die Existenz einer Datei .2lang).

Tatsächlich wäre es aber leicht, beliebige Namen für Sprachenordner zu erlauben. Dazu müsste wohl nur an zwei Stellen die Beschränkung des Namens auf zwei Buchstaben aufgehoben werden. In cmsimple/cms.php Zeile 268 und cmsimple/functions.php Zeile 2058 könnte

Code: Select all

[A-z]{2}
z.B. durch

Code: Select all

[A-z]+
ersetzt werden. Wer das unbedingt braucht, und mit den Einschränkungen und eventuellen Problemen leben kann, kann das ja leicht anpassen.

Einen richtigen Bug habe ich bei meinen Nachforschungen allerdings doch gefunden. Existiert weder die Sprachdatei der aktuellen Sprache noch default.php, dann sollte eigentlich en.php als Vorlage kopiert werden. Letzteres klappt aber nicht, da XH_createLanguageFile() in cmsimple/functions.php nicht korrekt ist; es müsste lauten:

Code: Select all

function XH_createLanguageFile($dst)
{
    $config = preg_match('/config.php$/', $dst) ? 'config' : '';
    if (!file_exists($dst)) {
        if (is_readable($src = dirname($dst) . "/default$config.php")) {
            return copy($src, $dst);
        } elseif (is_readable($src = dirname($dst) . "/en$config.php")) {
            return copy($src, $dst);
        }
    }
    return true;
}
Und da wir gar keine LANGconfig.php Dateien mehr haben, könnte noch ein bisschen mehr vereinfacht werden. Für's erste (XH 1.6.1) aber mal nur der Bugfix, denke ich.

Re: CMSimple_XH 1.6

Posted: Fri Jan 24, 2014 7:45 pm
by cmb
Gert wrote:Mit CMSimple, da sind sogar mehrsprachige Subsites möglich ;)
Wichtiger bei der CMSimple-Subsite-Lösung finde ich, dass sie nun recht rund läuft. Daher schrieb ich auch:
Wenn Sie aus welchen Gründen auch immer, auf keinen Fall auf Subsites verzichten können, sollten Sie in Betracht ziehen sich CMSimple 4 anzuschauen, das ein Fork von CMSimple_XH 1.5.3 ist, der eine besser durchdachte Subsite-Lösung anbietet.
CMSimple_XH 1.6 hat halt andere Vorteile und man kann schließlich nicht alles haben. :)