Spezielles Administrationstemplate

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Spezielles Administrationstemplate

Post by frase » Mon Oct 23, 2017 1:54 pm

cmb wrote:Das wäre natürlich eine Option, aber da müsste an Plugins nachgearbeitet werden – also BC Break, und daher eigentlich nichts für 1.8. Aber klar, eine Möglichkeit.
Also wieder eine Update-Orgie bei Plugins.
Es muss ja auch nicht unbedingt für 1.8 sein.
Lieber ein wenig länger überlegen und es dann gut machen.
BC Breaks werden sich wohl niemals ganz vermeiden lassen. Leider.

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Spezielles Administrationstemplate

Post by Holger » Mon Oct 23, 2017 2:02 pm

In der Tat war es auch beim hi_admin-Plugin viel komplizierter, als eine schnöde Prüfung auf $s. Hier der Part, inkl. Konfigurierbarkeit, wie ich es damals gemacht hatte:

Code: Select all

    //do not read all plugins again and again...
    if (!isset($_SESSION['hi_admGetVars'])) {
        $_SESSION['hi_admGetVars'] = array();
        if ($plugin_cf['hi_admin']['admintemplate_plugins'] == 'true') {
            $_SESSION['hi_admGetVars'] = array_merge($_SESSION['hi_admGetVars'], hi_adm_InstalledPlugins(TRUE));
        }
        if ($plugin_cf['hi_admin']['admintemplate_pagemanager'] == 'true') {
            $_SESSION['hi_admGetVars'][] = 'xhpages';
        }
        if ($plugin_cf['hi_admin']['admintemplate_filebrowser'] == 'true') {
            $req = array('images', 'downloads', 'media', 'userfiles');
            $_SESSION['hi_admGetVars'] = array_merge($_SESSION['hi_admGetVars'], $req);
        }
        if ($plugin_cf['hi_admin']['admintemplate_configuration'] == 'true') {
            $req = array('settings', 'validate', 'sysinfo', 'xh_backups', 'xh_pagedata');
            $_SESSION['hi_admGetVars'] = array_merge($_SESSION['hi_admGetVars'], $req);
        }
    }
    if ($plugin_cf['hi_admin']['admintemplate_configuration'] == 'true') {
        $files = array('language', 'config', 'template', 'stylesheet', 'log', 'content');
    }

    if (isset($files) && in_array($file, $files))
        return(hi_adm_SwitchTpl($template));

    foreach ($_SESSION['hi_admGetVars'] as $param) {
        if (isset($_GET[$param])) {
            return(hi_adm_SwitchTpl($template));
        }
    }

    if ($plugin_cf['hi_admin']['admintemplate_contenteditor'] == 'true'
            && $edit) {
        return(hi_adm_SwitchTpl($template));
    }
}
Kurzum: alle möglichen Varianten explizit geprüft -- nicht schön, was besseres ist mir aber wohl nicht eingefallen :roll: .
PS: aber ohne BC-Break :lol:
Last edited by Holger on Mon Oct 23, 2017 2:03 pm, edited 1 time in total.
Reason: PS dazu

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Spezielles Administrationstemplate

Post by cmb » Mon Oct 23, 2017 2:33 pm

frase wrote:BC Breaks werden sich wohl niemals ganz vermeiden lassen. Leider.
Ich finde das nicht unbedingt bedauerlich. Schließlich bin ich der Meinung, dass sich das Web gerade heutzutage so rasant entwickelt, dass Websoftware sowieso kontinuierlich weiter entwickelt werden muss, um einfach up-to-date zu bleiben. Zumindest kleinere BC-Breaks (wie z.B. das berüchtigte Issue #21) stellen da nicht wirklich ein Problem dar – zumindest bei meinen diesbezüglich noch inkompatiblen Plugins liegt es nicht an dieser Kleinigkeit, dass es noch keine neuen Versionen gibt.
Holger wrote:Kurzum: alle möglichen Varianten explizit geprüft -- nicht schön, was besseres ist mir aber wohl nicht eingefallen :roll: .
Ich sehe da auch keinen einfacheren Weg, aber mit einer solchen Lösung könnte man leben. Das Caching in der Session ist vermutlich noch nicht mal nötig, da die aktiven Pluginnamen sowieso während des Ladens gespeichert werden, und per XH_plugins() abgerufen werden können.
Christoph M. Becker – Plugins for CMSimple_XH

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Spezielles Administrationstemplate

Post by Holger » Mon Oct 23, 2017 3:35 pm

cmb wrote:Ich sehe da auch keinen einfacheren Weg, aber mit einer solchen Lösung könnte man leben.
Vermutlich. Wobei ich noch per Konfig vorgesehen hatte bestimmte Plugins vom Admintemplate auf Wunsch auszuschließen.
cmb wrote: Das Caching in der Session ist vermutlich noch nicht mal nötig, da die aktiven Pluginnamen sowieso während des Ladens gespeichert werden, und per XH_plugins() abgerufen werden können.
Yep. Bin nicht sicher, ob es XH_pugins() damals schon gab bzw. ob ich es kannte ;) .
Vielleicht sollte man die Möglichkeit der Konfiguration, so wie in obigem Beispielcode, doch einbauen, falls das Admintemplate mal in den Core kommen sollte. Wenn es zu viele Bedenken gegen die vielen Optionen gibt, würde ich sie dann zumindest gerne als "hidden" implementiert haben.

todde
Posts: 11
Joined: Sun Oct 15, 2017 11:33 am

Re: Spezielles Administrationstemplate

Post by todde » Tue Oct 31, 2017 5:54 pm

Moin!

Also ich würde ein spezielles Template für administrative Seiten befürworten. Grund: Ich war neulich auf cmsimple-styles.com und habe dort einige Templates ausprobiert. Einige der älteren funktionierten, andere nicht. Das weiß man vorher natürlich nicht. Wenn so ein Template aber nicht funktioniert, ist auch gleich die ganze Administration kaputt. Die einzige Chance ist dann, entweder eine Rücksicherung der config.php zu machen oder in das Verzeichnis des nichtfuktionierenden Templates die Dateien eines funktionierenden zu kopieren. Bei einem separaten Template für die administrativen Seiten hätte man dieses Problem nicht.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Spezielles Administrationstemplate

Post by frase » Tue Nov 21, 2017 1:28 pm

Also eines steht fest: CMSimple_XH muss irgendwann eine modernere "Bedienoberfläche" bekommen.

Ob das nun mit Version 1.8, 2.0 ... oder 5.0 wird, ist egal. Man muss nur irgendwann damit anfangen.
Allerdings müssten dazu auch bestimmte Regeln (für die Programmierer) festgelegt werden.
Im Core müssten Buttons, Listen ... und alles mögliche andere eben mit eindeutigen Klassen oder IDs versehen werden, damit sie "style-technisch" angesprochen werden können. (Auch mit einem speziellen Admin-Template kann nicht unterschieden werden, ob es sich um eine Pagemanager-Liste handelt, oder um eine normale Text-Liste, wenn nur <ul> ohne Klasse oder ID definiert wurde.)

Z.B.:
xhButton, xhUL, xhOl, ...
Oder andere Schreibweise:
xh_button, xh_uL, xh_ol, ...

Dann müsste ein Template erarbeitet werden mit dem entsprechenden Stylesheet.
Ein Haufen Arbeit.
Hier wäre zu überlegen, ob man nicht ein bestehendes Framework (Dashboards, Admintemplates ...) von irgendwoher übernimmt.
Das brächte allerdings Abhängigkeiten - es werden bestimmte Regeln von Außen vorgegeben.
Nicht gut.

hi_admin reloaded oder hi_admin rebirth
----------------------------------------------------------------
Bis das alles mal soweit ist, habe ich mit hi_admin experimentiert.
Ich habe das Plugin nur soweit angepasst, damit es unter XH 1.7.x grundlegend funktioniert. Template- und CSS-Bearbeitung funktioniert nicht.
Dann habe ich ein (beispielhaftes) Admin-Template angelegt.
Das Ding hat so ziemlich auf alle XH-Optionen Einfluss. Ich habe u.A. ins Stylesheet die Styles der Standard-Plugins kopiert, um Einfluss zu haben ohne am Auslieferungszustand ändern zu müssen.
Einzige Ausnahme: \assets\js\admin.min.js
Dort habe ich eine einzige Zeile geändert (229) um die Größenberechnung der Felder auch bei einzeiligen Areas zu korrigieren.
(Das ist Spielerei, da muss später sowieso was anderes her.)

Ich habe mit dem Standard-Admin-Menü probiert - und auch mit fhs_adminmenu (es liegt eine unveröffentlichte Experimental-Version bei).

Meine Überlegung ist:
Mit hi_admin könnte man ausloten, was geht und was nicht - für eine spätere Generalüberholung des XH-Adminbereichs.
Gleichzeitig entstünde ein gutes Plugin, das wahlweise eingesetzt werden könnte (bis zur Überführung in XH).

Ich verstehe das Ganze als Denkanstoß bzw. Diskussionsgrundlage. Fertg ist da nämlich noch gar nichts!

http://fhs.bplaced.net/down/171-hi-admin.zip

Nachtrag:
Der Filebrowser ist einfach nicht vernünftig zu stylen. Poor, Need work!

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Spezielles Administrationstemplate

Post by frase » Thu Nov 23, 2017 11:44 am

Update zu hi_admin:
(siehe vorherigen Post)
hi-admin_01.zip
Einfach das gesamte Admin-Template im Template-Ordner austauschen.
Änderungen:
Body-Korrektur wegen verschiebbarer Sitemap.
XH-Meldungen: Farben korrigiert
Plugin-Übersichtsseite gestyled.
You do not have the required permissions to view the files attached to this post.

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Spezielles Administrationstemplate

Post by lck » Thu Nov 23, 2017 9:45 pm

Nicht schlecht, Frank!
Mir gefällt's gut. Farben, Übersichtlichkeit, vor allem aber das verschiebbare Select-Menü. Schade nur, dass es im Bearbeiten oder Vorschau-Modus verschwindet. Vielleicht findet Holger mal Zeit das Plugin zu Reloaden, jetzt wo doch die ruhige Zeit kommt ;)
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Spezielles Administrationstemplate

Post by frase » Fri Nov 24, 2017 7:33 am

lck wrote:... vor allem aber das verschiebbare Select-Menü. Schade nur, dass es im Bearbeiten oder Vorschau-Modus verschwindet.
Na ja, das ist eigentlich nicht verwunderlich, wenn in der hi_admin-Konfiguration die Content-Bearbeitung ausgeschaltet ist. Da greift dann das Admin-Template überhaupt nicht. Das war ja das eigentliche Ziel.
Aber anders gesehen, ist die Verschiebbarkeit des Select-Menüs nur eine Notlösung für kleine Viewports - ansonsten könnte es auch fix sein.
lck wrote:Vielleicht findet Holger mal Zeit das Plugin zu Reloaden ...
Ja, das hoffte ich auch. Über hi_admin haben wir ja immer mal wieder gesprochen. Mir gefiel es schon immer besonders gut - es fehlte halt nur die Zeit, mal was richtiges damit anzustellen. Prinzipiell funktioniert es ja schon ganz gut unter XH 1.7.x - aber einige (gute) Funktionen eben nicht.
Möglicherweise bekommt Holger durch die aktive Verwendung des Plugins wieder etwas Motivation ... ;-) (Ich weiß ja, dass es eher an der Zeit liegt.)

Und wie sieht es bei dir aus, Ludwig? Hast du nicht Lust, auch ein Admin-Template vorzuschlagen?

Übrigens: Ich bin jetzt schon ein ganzes Stück weitergekommen, mit den vielen Seiten unter "Einstellungen". Ich will euch allerdings nicht jeden Tag mit einem Update traktieren ;-)

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Spezielles Administrationstemplate

Post by lck » Fri Nov 24, 2017 11:02 am

frase wrote:Na ja, das ist eigentlich nicht verwunderlich, wenn in der hi_admin-Konfiguration die Content-Bearbeitung ausgeschaltet ist. Da greift dann das Admin-Template überhaupt nicht. Das war ja das eigentliche Ziel.
Aber anders gesehen, ist die Verschiebbarkeit des Select-Menüs nur eine Notlösung für kleine Viewports - ansonsten könnte es auch fix sein.
Ich meinte eigentlich, dass bei ausgeschalteten Contenteditor auch das Select-Menü von Nutzen wäre, bei manchen Templates bestimmt. Weniger Kickerei. Aber das wäre wieder etwas für Holger, eine Option hinzuzufügen "Select-Menü immer anzeigen",
frase wrote:Und wie sieht es bei dir aus, Ludwig? Hast du nicht Lust, auch ein Admin-Template vorzuschlagen?
Lust schon, aber müsste mich erstmal da einarbeiten und Zeit spielt auch eine Rolle. Eine Idee habe ich momentan auch nicht, aber ich schaue mir deine Version gerne durch.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply