WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 21.08.2015 10:31:52

norhei
Developer

wysiwyg2

Ich habe mal das Wysiwyg Modul ein wenig aufgebohrt und überarbeitet.
Das ganze ist erst mal mehr oder weniger ein "Proof of Concept"

  • Kurztext hinzugefügt

  • Bild Upload  hinzugefügt (war erstaunlich einfach, frage mich warum News sowas nicht hat?)

  • Templates für Modify und View (Spagetti entfernt)

  • Zugriff auf Pagetitle, Page Description, Page Keywords im Template(würde da gerne noch mehr anbieten).

  • Das Seiten Template kann ein eigenes Template für View mitbringen, Bootstrap style  oder was auch immer.

  • Noch einige kleinere Sachen,  einfach mal in den Code schauen.

  • Dürfte  jetzt eine brauchbare Grundlage zum Modulbasteln sein

Ich war zu faul den Upload von hand zu regeln, hab dann einfach eine nette Upload Klasse eingebaut.

Modul installieren, ausprobieren, und dann einfach mal das alternative Template in den derzeitigen Templateordner kopieren
(templatename/modules/wysiwyg2/view.tpl.php)

Wenn wir das generell so regeln würden, könten wir uns eine Menge Standarisierung sparen weil im Zweifelsfall jedes Template einfach seine eigenen Modultemplates definieren kann. (einfach kopieren und anpassen) Das mit der Standarisierung ist ja nicht so einfach und sich ein bestimmtes CSS framework für immer und ewig vors knie zu binden ... bitte nicht tongue

Beitrag geändert von norhei (21.08.2015 10:32:45)

Offline

#2 21.08.2015 10:55:26

easyuser
Mitglied

Re: wysiwyg2

Hallo!

Habe gerade in der Arbeit keine Zeit zu testen, aber klingt doch gut.

Eine Sache zur Diskussion: Die Uploadklasse würde ich ehrlich gesagt in den Core aufnehmen, da man die ja z.B. auch im admin/media oder anderen Modulen brauchen könnte.

Offline

#3 21.08.2015 11:01:46

norhei
Developer

Re: wysiwyg2

Am leisten würde ich die Upload Klasse, sowie die Funktion zum Holen der Templatedatei in den Core Packen . Und noch viel lieber würde ich einen Autoloader einbauen , aber:

1. Nicht mehr dieses Relase
2. Das hier ist ja erst mal ein "Proof of Concept"

Der interessanteste Part ist das mit den Templates , das Modul ist natürlich auch nützlich.
Da werde ich auch noch ein any_wysiwyg2 im gleichen Stil machen vermutlich mit Templatewähler für verschiedene Stile.

Offline

#4 22.08.2015 20:15:57

norhei
Developer

Re: wysiwyg2

Würde mich sehr über den ein oder anderen Tester freuen, dann könnte ich andere Core Module mal aufs Korn nehmen und die genauso anpassen.
Wäre doch recht schön wenn man überall die Modul Templates im Seiten Template einfach anpassen könnte. Mit so einer Möglichkeit würde sich auch das Problem, das teilweise die User an den Internen Templates rumfingern können in Wohlgefallen auflösen .

Vieleicht hat auch noch jemand eine gute Idee für eine hübschere Gestaltung im FE oder BE und vielleicht einen Javascript Crop , der dazu passt wobei ich keine Ahnung habe wie man JS in BE einbaut

Offline

#5 23.08.2015 13:17:53

marmot
Mitglied

Re: wysiwyg2

Habe getestet.
Um ehrlich zu sein, habe ich keine Ahnung worauf du hinaus willst.
- Die Felder für Überschrift Kurztext und Bild bringen aus meiner Sicht keine Vorteile. All das kann man ja über den Editor einfügen.
- Im Template das Aussehen für eine Modulart hinterlegen? Zum Einen scheint mir die Verwendung der view.php klar dem MVC Paradigma zu wiedersprechen (wobei ich wirklich kein Verfechter davon bin, aber wenn es nun schon mal da ist). Zum Anderen kann ja für jede Seite ein Template eingestellt werden, ohne im Template hart zu coden.

Möglicherweise verstehe ich den Ansatz jetzt auch nicht. Aber aus meiner Sicht mag es für den Einzelfall oder auf Kundenwunsch durchaus sinnvoll sein so zu verfahren, aber als Standad würde ich das eher nicht sehen.

Wie gesagt: Meine Meinung.

Offline

#6 25.08.2015 01:00:50

norhei
Developer

Re: wysiwyg2

- Die Felder für Überschrift Kurztext und Bild bringen aus meiner Sicht keine Vorteile. All das kann man ja über den Editor einfügen.

Kann man eben nicht so einfach.
Dateiupload im Editor .... Fehlanzeige.
Einen Kurztext für sowas ähnliches wie Anynews zur Verfügung stellen, könnte man Notfalls die Description nehmen... aber den Haupttext abschneiden einfach ist oft nicht Sinnvoll, was glaubst Du warum Topics sowas auch hat ?
Wie oft hat ein Kunde Dir mit dem CKE schon das ganze Layout versaut? Wenn ein Fachmann dran sitzt geht das, sonst eher nicht.
Obendrein denken einige auch darüber nach ein Modul zu bauen, das sich wie einige dieser Webbaukästen verhält. Wo jede Seite nur eine Aneinanderreihung kleiner Blöcke ist, komplett ohne WYSIWYG. (Titelbild, Textblock, Textblock mit Bild links, Url Block, Siehe auch Block, Social Media Buttons) Dies Blöcke kann man wenn man will dann endlos untereinander setzen. Und schon kann kein Anwender mehr das Layout zerschießen. Also ich denke der Einsatz möglichst komplexer WYSIWYG Editoren wird in Zukunft nicht mehr so gefragt sein.

Im Template das Aussehen für eine Modulart hinterlegen?

Sicher , das machen einige CMS, spontan fallen mir Processwire und Wordpress ein. Joomla hatte sowas ähnliches auch schon und gesehen habe ich das Konzept schon deutlich öfter, kann mich nur nicht mehr an die Namen erinnern. Nur dadurch kannst du Templates erstellen bei denen  alle Module, die das Template voraussetzt, immer gleich richtig formatiert sind.

Zum Einen scheint mir die Verwendung der view.php klar dem MVC Paradigma zu wiedersprechen (wobei ich wirklich kein Verfechter davon bin, aber wenn es nun schon mal da ist).

Habe noch kein WB Modul gesehen das nicht die view.php nutzt? Und MVC ist mir im gesamten WB auch noch nicht begegnet? Was soll das ?
Ich hatte nicht vor bei meinem ersten Testmodul gleich den kompletten Modul Mechanismus von WB auszuhebeln.


Um ehrlich zu sein, habe ich keine Ahnung worauf du hinaus willst.

Das kann sein, ich habe ja auch nicht viel erklärt.

Also:
Das Modul ist ein "Proof of Concept" und ein Beispiel Modul mit dem mehrere Dinge getestet werden.
Das Ganze hat  keine perfekte Feld Auswahl sondern einfach nur ein wenig mehr als das Standard WYSIWYG.
Persönlich habe ich mir für WYSIWYG Seiten immer mal die Möglichkeit gewünscht einfach ein oder mehrere Bilder hochzuladen.  Man kann das über den Editor machen, aber dazu muss man die Bilder erst in der Medienverwaltung hochladen, dann verhaut der Kunde die Formatierung und alles sieht übel aus. Auf die hier genutzte Art können die Bilder automatisch zugeschnitten werden(die upload Klasse kann das), Thumbnails könnten automatisch generiert werden, und alles würde Passend im Template landen. Obendrein sollen dem Editor ja in Zukunft auch ein wenig die Flügel gestutzt werden. (Kleinerer Editor als Standard...)

Wenn WYSIWYG2 mal ein richtiges Modul werden sollte dann hätte es vermutlich eine Feld Auswahl wie bei einem Topics Light. Ähnlich wie früher viele mit Topics oder News ganze Seiten gestaltet haben, ginge das hiermit auch. News wäre dann einfach eine einfache Seite(mit einem Droplet fürs Listing)  mit vielen, vielen WYSIWYG2 Unterseiten . News Kategorien sind wieder einfach nur Statische Seiten(mit einem Droplet fürs Listing) mit vielen Untereinträgen.  Alles einfach verwaltet über den Dateibaum. Die Listings erzeugt man einfach mit einer Funktion wie Anynews, die eine Sammlung an möglichen Templates mitbringt , die aber auch im Site Template nach Wunsch modifiziert werden können.

Zu den Templates:
Zur Zeit ist man gezwungen wenn man sich ein Seiten Template runterläd immer noch einigen Module in Ihren Moduleinstellungen Anzupassen. Diese aus mehreren Feldern bestehenden Schleifen sind aber in den Möglichkeiten die sie bieten doch oft recht eingeschränkt.  Die Struktur also einfache oder zweifache Verschachtelung liegt starr fest. Die zur Verfügung stehenden Variablen sind oft pro Feld unterschiedlich und auch nicht/schlecht dokumentiert. Die Arten von Variablen sind von Modul zu Modul stark unterschiedlich die Arten der Templates auch. Diese Anpassungen sind in der Nächsten Installation nicht mehr vorhanden, das heißt obwohl gleiches Seiten Template, muss ich alles von einer anderen Installation rüber Kopieren und das für alle Module. Vergesse ich irgendwo eine Kleinigkeit, heißt das Fehlersuche ohne anständigen Editor.  Obendrein hat oft noch der Kunde Zugriff auf diese Templates und probiert halt mal ein wenig.... und was das bedeutet wissen wir alle. Ich weiss Chio hat in Topics auch noch eine Interne Verwaltung für diese Templates eingebaut aber diese ist nicht wirklich praktisch und bläht den Code auch noch mehr auf. Ich hab jetzt schon einige Stündchen mich in  Topics umgeschaut und muss einfach sagen:  "zuviel von Allem" es ist halt immer weiter gewachsen.

Wenn man die Templates so implementiert, wie ich das bei diesem Modul gemacht habe, hat man folgende Vorteile:
Jedes Template kann einfach seine eigenen Modul Templates mitbringen. Man braucht keine  Diskussion wie: "Module müssen aber Standard XY(z.B.Bootstrap) entsprechen". Die z.B. Bootstrap tauglichen Modultemplates kann man einfach in jedes Bootstrap Template kopieren das man erstellt. Benutze ich ein anderes Framework muss ich auch dafür nur einmal die Module anpassen, danach reicht es den "modules" Ordner zu kopieren.  Der Anwender bekommt die Module nicht in die Finger. Aber sollte er doch FTP haben und sich dennoch daran vergehen, reicht einfach das einspielen der Templates aus dem Backup. Es ist möglich (aber noch nicht implementiert ), einen Template Wählschalter für das Modul zu erstellen und auch mehrere Templates mitzuliefern. Diese Auswahl kann dann automatisch aus dem Templateverzeichniss des Moduls befüllt werden. Damit ist dann auch eine ähnliche Templateverwaltung wie in Topics möglich, nur werden die Templates im Templateverzeichniss erstellt und dann zur Auswahl angezeigt und das ohne den Overhead im Modul. 
Das Gleiche Verfahren kann auch für Snipets wie Anynews oder besser hier dann anyWYSIWYG2 angewandt werden. Also verschiedene Templates für List View, mit oder ohne Bild, mit Desctiption oder Lieber den Kurztext. Template für eine Spalte oder die ganze Seite oder nur die neusten 10 Seiten oder was auch immer.  z.B. anyWYSIWYG2($parentPage= 6, $template="latestTen", $limit=10);
Man könnte sogar noch weitergehen und damit eine Bildergalerie aufbauen, man bräuchte nur ein Simples Modul, das aus einem Verzeichniss mit Bildern einfach Seiten erstellt.  Noch weiter gedacht , könnten Seiten Templates sogar Modultemplates mitbringen die das Modul selbst gar nicht hat.

Der Uploader:
Die Uploadklasse hat sich für mich als sehr Funktional und robust erwiesen, man könnte Sie Optional auch nehmen um Page Images hochzuladen. DV hat ja sowas ähnliches in der 2.8.4 mal geplant, nur wollte der keinen Upload sondern wieder den lahmen Weg, -> Medienverwaltung-> in bestimmten Ordner laden-> Bild auswählen aus einer Liste, die bei 1000 Seiten nicht mehr verwaltbar ist.
   

Ergebnisse zusammengefasst:

  • Jedes Template kann eigene Formatierungen für die Module mitbringen, muss es aber nicht.

  • Die Templates können viel komplexer ausfallen als die simplen ein-oder zweifach verschachtelten Schleifen.

  • In Templates können Funktionen aufgerufen werden und Droplets verwendet werden.

  • Das Modul muss nur Standardtemplates Liefern und keine Rücksicht auf Bootstrap und Co. nehmen. Kann es aber wenn der Author will!

  • Einmal angepasste Modultemplates  können immer wieder verwendet werden. Für Bootstrap/Foundtion/Skeleton oder was auch immer.

  • Die Diskussion darüber ob alle Module dem Bootstrap Standard entsprechen müssen oder nicht, fällt komplett flach. Willst Du Bootstrap, pass dir deine Lieblingsmodule einmal an und du kannst es immer wiederverwenden und sogar weitergeben.

  • Modulautoren können eine Reihe von Standardtemplates mitliefern wenn sie wollen.

  • Ein Wählschalter/Verwaltung für diese Templates ist eine Kleinigkeit.

  • Der Anwender hat in der Regel keinen Zugriff auf die Templates.

  • Seitentemplates sehen sofort gut aus , inclusive der Moduldarstellung.

  • Das gleiche Verfahren kann auch für Snipets wie Anynews oder besser hier dann anyWYSIWYG2 angewandt werden.

  • Komplette Bildergallerien mit einfachen Seiten.Aber komplexe Beschreibungen der Bilder sind möglich(Photoblog)

  • Der Editor wird möglicherweise beschnitten, eine Komplexere Seite sorgt da vor.

  • Das Upload Modul würde auch für Page Images taugen

Alles in Allem würden sich doch einige der jetzigen Probleme mit Strukturen aus diesem Modul lösen lassen.

Beitrag geändert von norhei (25.08.2015 01:01:39)

Offline

#7 25.08.2015 10:48:10

florian
Administrator

Re: wysiwyg2

Interessanter Ansatz, soll ich WYSIWYG2 mal als "Alpha" ins AOR stellen?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#8 25.08.2015 12:46:22

norhei
Developer

Re: wysiwyg2

Vielleicht eine Neue Kategorie "Proof of Concept" oder "Experimentell" , bzw. neuer Status, das hat sich bei PW auch bewährt , und ich hätte gleich noch einen Kandidaten für "Proof of concept"  und zwar "Code whithout Evil(eval)" und das AnyWYSIWYG würde da auch reinpassen.

Die sind alle nicht wirklich zum Einsatz (keine endgültige Feldauswahl bei WYSIWYG2, Code hat nur ein einfaches Code Feld  ), funktionieren aber sehr wohl und zum Beispiel Code woE. wär ne gute Vorlage für Droplets und Code2.

Was sich auch noch prima machen würde ist ein Ansatz von Stefek , der Vorschlug den Modul Ladeprozess so zu erweitern, das Module auch Ihre eigenen Snippets oder Admintools mitbringen können. Dann könnte ein Modul Wie WYSIWYG2 oder Topics gleich ein Admintool mitbringen um grundsätzliche Einstellungen zu konfigurieren und ebenfalls gleich das AnyWYSIWYG Snippet  oder das AnyTopics. Das Admintool würde auch gleich
einges an Einstellungen dem Benutzerzugriff entziehen. Steffek hatte das für seinen Privatfork schon mal gemacht, und ich für meinen auch . Ich weiß auch das Ruud ziemlich tricksen musste um für sein Slider Modul ein Admin Tool mit auszuliefern, sowas würde damit komplett wegfallen. Grundsätzlich sollten Wir auch mal nach einem Autoloader schauen , dann könnten Snippets einfach nur bei Bedarf geladen werden und würden sonst den Speicher nicht vollmüllen.
Und ganz ehrlich:

any_wysiwyg2($option1="bla",$option2="bla",$option2="bla" );
oder 
wysiwyg2::any($option1="bla",$option2="bla",$option2="bla");

Wird wohl hoffentlich Keinen aus den Latschen kippen lassen.

Offline

#9 25.08.2015 14:55:08

easyuser
Mitglied

Re: wysiwyg2

Also ich finde das auf jeden Fall den Schritt in die richtige Richtung.
Allerdings steckt hier ja eigentlich etwas ganz anderes (konzeptionelles) dahinter: Eine Änderung der Modul- und Templatelogik von WB.

Das Problem ist hierbei, dass wir nicht uns verzetteln sollten, weil die Änderungen (und Möglichkeiten!), die hier z.B. WYSIWYG2 mitbringt sind für WB schon extrem.

Daher würde ich lieber erst einmal über das Konzept an sich sprechen (sollte ein Template Formatierungen für Module mitbringen, darf ein Modul AdminTools und Snippets mitbringen, etc.) und dann erst über die Module im Speziellen.

Gerade die "goldene Kuh von WB" sind wie ich finde die Templates. Ohne hier die Designer mit ins Boot zu holen können sich einige hier unwohl fühlen bei so viel Änderungen...

Aber wie gesagt: Ich wäre dafür, einmal die grundsätzlichen Abläufe in Frage zu stellen.

Offline

#10 25.08.2015 19:31:05

rjgamer
Developer

Re: wysiwyg2

Mich als Webdesigner habt ihr auf alle Fälle wenn ihr so weitermacht. Wenn WBCE1.1 in der entstehung ist, kann ich evt. ein/zwei exklusive templates beisteuern...

Offline

#11 25.08.2015 20:54:16

norhei
Developer

Re: wysiwyg2

Allerdings steckt hier ja eigentlich etwas ganz anderes (konzeptionelles) dahinter: Eine Änderung der Modul- und Templatelogik von WB.
Das Problem ist hierbei, dass wir nicht uns verzetteln sollten, weil die Änderungen (und Möglichkeiten!), die hier z.B. WYSIWYG2 mitbringt sind für WB schon extrem.

Deswegen "Proof of Concept" big_smile

Daher würde ich lieber erst einmal über das Konzept an sich sprechen (sollte ein Template Formatierungen für Module mitbringen, darf ein Modul AdminTools und Snippets mitbringen, etc.) und dann erst über die Module im Speziellen.

Ich mach Morgen ein paar  Threads auf cool

Gerade die "goldene Kuh von WB" sind wie ich finde die Templates. Ohne hier die Designer mit ins Boot zu holen können sich einige hier unwohl fühlen bei so viel Änderungen..

.
Wobei die Designer da nur einfach ein paar Möglichkeiten mehr bekommen, und ansonsten ändert sich praktisch nichts. Keiner muss Modultemplates mitbringen wenn Ihm bis jetzt die Standards reichen. Und die Modul Templates werden genauso gemacht wie die index.php im Template , also auch da nichts neues. Vorher musste man bei jedem Modul schauen, wie ist das gelöst, wie kann ich die Loops anpassen? Geht das überhaupt oder ist die Formatierung hart gecodet. Ich meine die Foldergalerie benutzt auch schon so eine Art Templates, oder täusche ich mich da? Und anyTopics von Cwsoft auch , nur da muss man dann vorher Twig lernen wink

Aber wie gesagt: Ich wäre dafür, einmal die grundsätzlichen Abläufe in Frage zu stellen.

Also zu dem Thema hätte ich dann eine lange,lange Liste big_smile  Sogar mit einer Menge fertiger Lösungen....

Offline

#12 25.08.2015 21:06:21

florian
Administrator

Re: wysiwyg2

norhei schrieb:

Ich mach Morgen ein paar  Threads auf

Mach mir keine Angst ;-)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#13 24.10.2015 10:42:06

screamindan
Mitglied

Re: wysiwyg2

Moin. Anscheinend ist mir dieses Modul bisher durchgegangen  big_smile
Ich hab immer das Problem, daß der "Endnutzer", wenn er selbst Inhalte einpflegen will, mit dem Editor überfordert ist. Die sind halt Word gewohnt und wollen das nach Möglichkeit genauso bedienen können. Bis jetzt hab ich mich nach Bearbeitungen immer heimlich eingeloggt und das Ganze dann grade gerückt. Im Endeffekt wollen die ja nur Text eingeben, strukturieren und vielleicht noch ein Bild einfügen. Wenn man das, wenn ich das Modul richtig verstanden habe, über eine quasi Eingabemaske steuern kann, ist das für die Leute doch super.

Für meine würde das ungefähr so aussehen:

  • Überschrift (in Einstellungen festlegen welche Ebene - h2, h3)

  • Bild (wohin soll es? Links / rechts / mittig / Sidebar)

  • Normaler Textblock

Bei den Bildern würde ich dann vorher festlegen, wie die aussehen. Also Rand, runde Ecken etc. Das mit dem Bildupload ist Klasse, die haben meist keine Lust alles über Medien hochzuladen.
Wenn das so laufen würde, könnten die das selber und ich müsste nicht immer den Quelltext putzen...

Beitrag geändert von screamindan (24.10.2015 10:43:57)

Offline

Fußzeile des Forums

up