WBCE Home | WBCE Hilfe | WBCE Addon Repository | Impressum | Datenschutz

WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#26 03.08.2016 11:10:25

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Ah siehst Du, an so Gallerys deren Bilder keine eigenen "Seiten" haben habe ich gar nicht wirklich gedacht.
Eher sowas wie Bakery-Items, News-Posts, Topic-Items (mit jeweils einzelnen Seiten).
Oder eben als Page-Type Modul in eine Seite eingehängt.
(Das letzte geht gut mit WBCE, weil, wie gesagt, es gehen hier mittlerweile Hybride Module die aus einer Kombination aus Modul-Typen bestehen können.)

Also bzgl. Gallerys, deren Bilder keine eigenen "Seiten" haben...
Dafür müßte ich mir ein paar freie Minuten nehmen, um nachzuschauen, wie man es am besten macht.
Ich meine, wo würdest Du die Kommentare (wie auch das Kommentier-Formular) für einzelne Bilder platzieren?
Hast Du on-line Beispiele wie so etwas anderweitig gemacht wurde?

Cache ist eine feine Sache für sowas.
Der Cache könnte auch in einem Unterordner des Admin-Tools sein:
WB_PATH.'/global_comments/cache/'

Und dann die einzelnen cache files:

cachedcomments_sid_12.php
cachedcomments_sid_17_iid_1.php
cachedcomments_sid_17_iid_2.php
cachedcomments_sid_17_iid_3.php

usw.

Wobei es gibt auch noch die Möglichkeiten es im 'temp' Cache selbst abzulegen:

WB_PATH.'/temp/modules/global_comments/cache/'

oder im var Ordner

WB_PATH.'/var/modules/global_comments/cache/'

Oder würdest Du bevorzugen, es in die DB zu schreiben?

Stichwort Ajax:
dieses Script hier (worauf Lepton aufgebaut hat) https://github.com/Viima/jquery-comment … ts-data.js
verwendet AJAX.

Man könnte die Daten (Einträge) komplett als ein JSON String cachen, das dann mit JS nachgeladen wird, statt das ganze HTML Gerüst zu cachen.
Falls Suche erforderlich, könnte man noch einen gut gestripten String (mit nur den Inhalten und Name des Autors vielleicht) für die Suche zusätzlich cachen.

Jetzt haben wir hier ein ganz schönes, non-lineares Brainstorming :-D

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#27 03.08.2016 13:21:25

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

ICh bastel gerade einen ganz einfachen installer, der gleich ein paar hundert Kommentare reinmacht.
Dann schau ich mal, ob das insgesamt so funktionieren kann, wie ich mir das gedacht habe ;-)

#28 03.08.2016 13:24:48

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Momentan weiß ich hierzu keine Antwort:

Also bzgl. Gallerys, deren Bilder keine eigenen "Seiten" haben...
Dafür müßte ich mir ein paar freie Minuten nehmen, um nachzuschauen, wie man es am besten macht.
Ich meine, wo würdest Du die Kommentare (wie auch das Kommentier-Formular) für einzelne Bilder platzieren?
Hast Du on-line Beispiele wie so etwas anderweitig gemacht wurde?

Wenn Du da Beispiele hast, lass mal sehen.

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#29 03.08.2016 15:07:37

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Die Lepton-Variante halte ich für "reingestoppelt", da scheint ein freies Script so irgendwie eingebaut worden zu sein. Viel zu kompliziert. Und auf einen jQuery-Validator würde ich nicht allzuviel geben, wenn ich das Zeug dann in die DB schreiben will.

Den Cache würde ich in die DB schreiben - ich sehe keinen Grund hier von der üblichen Praxis abzuweichen.

Aber da gibt es eh ein kleines Problem:
Ich halte die Einstellung "Verzögerte Veröffentlichung" für recht sinnvoll. Hält Spammer ab, aber man muss nicht jeden Kommentar extra freischalten.

Das klemmt mit dem Cache: Wenn der gelöscht wird, wenn ein neuer Kommentar dazukommt - und beim nächsten Seitenaufbau wieder in die DB geladen wird, dann wird er erst dann wirklich veröffentlicht, wenn der nächste Kommentar kommt und den Cache wieder löscht.

Andererseits habe ich jetzt gerade keinerlei Schwierigkeiten, über 4 Droplet 200 Kommentare auf der selben Seite auszugeben. Zumindest am Localhost.

#30 03.08.2016 15:15:38

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Das Lepton Modul selbst habe ich mir nicht angeschaut. Nur das Script.
Es ist mir aufgefallen, dass man die Validierung etwas anders beim Schreiben machen sollte.
Die Kommentare aus JSON heraus zu erstellen fand ich an sich nicht schlecht.
Cache... braucht das wirklich?
Der PageTree mit sagen wir mal 200 Seiten ist viel umfangreicher lädt aber mit dem Turbo-PageTree verdammt schnell.
Wenn man zuerst die DB abfragt, ein JSON generiert welches dann über jQuery nachgeladen wird, läuft das im Comments Modul noch viel schneller.

Weiterhin die Frage: Wie/Wo würdest Du die Kommentare und Form in Gallerys platzieren in der Bilder-Loop darstellung?


Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#31 03.08.2016 18:50:12

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

stefanek wrote:

Weiterhin die Frage: Wie/Wo würdest Du die Kommentare und Form in Gallerys platzieren in der Bilder-Loop darstellung?

Noch keine Ahnung. Wird wohl ein Overlay werden, was sonst.
Das wird bei den meisten Objekten werden, wenn einfach der Platz nicht so vorhanden ist.

Momentan bastel ich ein Haufen Old-Style PHP Scripte. Geht zäh voran. Mal sehen, was das wird.

#32 03.08.2016 23:34:29

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Ja, ich stelle mir das etwas kompliziert vor mit den Kommentaren, wenn es keine Einzelseiten zu Items gibt.


Momentan bastel ich ein Haufen Old-Style PHP Scripte. Geht zäh voran. Mal sehen, was das wird.

Was meinst Du mit Old-Style PHP Scripte?  tongue

In ein paar Wochen könnte ich vielleicht auch etwas diesbezüglich unternehmen. Im Moment bin ich zu sehr mit anderen Tasks beschäftigt.

Ich habe damals schon ein gutes Stück der Arbeit vorbereitet, aber es erstmal auf "Pause" gestellt.

Interessant wäre es, ein GlobalComments Modul zu machen, welches gleich mit dem CMS ausgeliefert wird und mit einer einfachen API, mit der andere Module ganz einfach das ganze bei sich implementieren können.

Es wäre ein hybrid Modul:
Admin-Tool für die Verwaltung aller Kommentare,
Section/Page-Type Modul, das man einfach als Section einhängen kann,
Mit API über die andere Module sich das einhängen können.

DOCH: es ist ein gutes Stück Arbeit und ich kann das momentan nicht machen und kann auch nicht einschätzen wann ich es könnte.
Deswegen halte ich mich erstmal zurück mit weiteren Kommentaren ;-)

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#33 04.08.2016 10:09:54

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

stefanek wrote:

Ja, ich stelle mir das etwas kompliziert vor mit den Kommentaren, wenn es keine Einzelseiten zu Items gibt.

Wie gesagt, ich bastle gerade am "Proof of Concept"

Bei Modulen wie Topics, News, Bakery, sonstwas, aber auch ganz normal WYSIWYG erzeugt das Modul einfach eine Kommentarbox mitsamt Liste der Kommentare. Ganz normal direkt als HTML, für Google sichtbar.


Bei der responsiveFG wird es sicher möglich sein, eine Lightbox zu basteln, die die Kommentare + Box darstellen kann, für die Vorschaubilder könnte es einen kleinen Schalter geben, wo nach Klick ein Overlay daneben auftaucht.
Das geht dann mit jQuery/AJAX.
Dasselbe bei Members/Itemz oder anderen Gallerys.

Da muss man eben eine "Einbauanleitung" machen, aber es sollte nicht allzu schwierig werden.

Eher Sorgen macht mir momentan, dass die "kaskadierenden Settings" die Leute überfordern, dass sie sich verirren.

#34 04.08.2016 12:56:40

stefanek
Developer

Re: Angedacht: CommentsAnywhere

grindbatzn wrote:

Eher Sorgen macht mir momentan, dass die "kaskadierenden Settings" die Leute überfordern, dass sie sich verirren.

General-Settings

   diese sind im Admin-Tool vorzunehmen


Modul-Settings

   sind in der modify.php des Moduls vorzunehmen
   (über eine API erstellt man ganz einfach ein zusätzliches kleines Formular in der modify.php)


Item-Settings

   sind in der modify_item.php* des Moduls vorzunehmen
   (über eine API erstellt man ganz einfach ein zusätzliches kleines Formular in der modify_item.php)

   *modify_item.php, je nach Modul kann sie anders heißen. Im News wäre es eben modify_post.php


Wie könnte ein Aufruf der API aussehen? (Erschreckt nicht wegen der langen Var Namen, soll "sprechend" sein hier)

[== PHP ==]
$oCommentsConfigurator = new globalCommentsConfigurator(); //autoloader macht's dann

//settings
$oCommentsConfigurator->moduleName   = 'news';
$oCommentsConfigurator->itemsDbTable = '{TP}_mod_news';
$oCommentsConfigurator->itemDbField  = 'post_id';

// draw configurator form
$oCommentsConfigurator->drawConfigForm();

Viel mehr müßte dann nicht.
Das Objekt zeichnet das Formular und inkludiert alle nötigen Files und übernimmt auch das Speichern.

Gruß,
Chris

Last edited by stefanek (04.08.2016 12:57:27)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#35 04.08.2016 17:52:51

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Möglicherweise reden wir da etwas aneinander vorbei.. ;-)

Ich sehe das viel unkomplizierter:
Für mich ist das zunächst ein ganz normales Modul. Installieren, irgendwo einen Abschnitt anlegen. Dieser Abschnitt zeigt dir die 10 letzen Kommentare von irgendwo.

Es gibt keine Section_id, dh: jeder Abschnitte mit dem Modul ist gleich: Immer die 10 letzen Kommentare. In der Modify.php immer die Grundeinstellungen und Wartungskram.

Um es tatsächlich zu nutzen muss du Droplets anlegen. Irgendwo, wo kommentiert werden soll.

Abweichende Einstellungen werden dort gemacht, wo sie gelten. Direkt bei den Kommentaren, im Frontend.

#36 04.08.2016 18:46:24

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Also ich finde meins gar nicht so kompliziert.
smile

Ein Droplet würdest Du nur anlegen, um es im Frontend auszugeben.

Kaskadierende Einstellungen über Droplets kriegst Du aber nicht hin. Nicht weil Du es nicht kannst, sondern weil das Droplet-System es nicht hergibt.
Aber ich lasse mich gerne eines Besseren belehren.

Ansonsten ist die obige Methode wie ich es machen würde.
Kein Aneinandervorbeireden, eher einfach nur unterschiedliche Ansätze.

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#37 05.08.2016 11:13:47

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Momentan ist das eh noch nicht wichtig.
Ich kämpfe immer noch mit den "kaskadierenden Einstellungen", aber so langsam sehe ich Licht.

Das Problem ist einfach: Da gibt es viel einzustellen - und viel falsch zu machen ;-) Man verfranst sich leicht.

#38 05.08.2016 12:04:44

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Wenn ich Dich richtig verstehe, dann ist das Screenshot im FE?

Ja gut, so könnte es gehen.

Wegen der "kaskadierenden Einstellungen":
wie hast Du die Tabellen angelegt?
Ich meine, wie/wo speicherst Du die jeweiligen Einstellungen?

General-Settings
   diese könnten in einer Tabelle des Admin-Tools sein:
   `{TP}mod_global_comments_general_config`

Modul-Settings
   für Section basierte Überschreibungen
   `{TP}mod_global_comments_section_config`

Item-Settings
   für Item basierte Überschreibungen
   `{TP}mod_global_comments_items_config`

Wobei man könnte auch alles in einer Tabelle unterbringen:
  `{TP}mod_global_comments_config`

Die Reihe ohne `section_id` und `item_id` wäre dann einfach die General-Settings.

Ich müßte mich kurz hinsetzen um das durchzugehen.

Es dürfte recht einfach sein, WENN man von vornherein weiß, welche SETTINGS es insgesammt geben wird.

Gruß,
Chris

Last edited by stefanek (05.08.2016 12:05:02)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#39 05.08.2016 16:24:09

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Ich hab das an sich genauso wie hier beschrieben:
https://forum.wbce.org/viewtopic.php?pid=5977#p5977

Grundeinstellungen sind section -999999
Module stehen als negative addon_id drin.
das wird nach section - item geordnet geladen und damit der Reihe nach die Werte in einem Array überschrieben.

Die Kaskade ist also: Grundeinstellung -> Modul zu dem die section gehört -> Section und (wenn nicht 0) item

Ein "ulkiges" Phänomen hab ich noch; ich bin am Überlegen, ob es ein Bug oder ein Feature ist: ;-)
Man kann eine Eigenschaft nicht direkt von "Default" auf den (gleichen) Wert wie den Default-Wert stellen.
(Also "können" schon, aber beim Speichern wird es zurückgesetzt auf "Default")

Also: wenn Vorgabe "no" ist, kann man die Eigenschaft "emailrequired" NICHT ebenfalls auf 'no' stellen, sondern nur auf "Yes".
Hat sie aber den Wert "yes", kann man sie auf "no" stellen - das wird dann auch gespeichert. Speichert man wieder, ist es default.

Ähnliches ist auch, wenn ich eine vorgelagerte  Einstellung ändere: Dann werden die nachgelagerten - nun gleichen - Einstellungen beim Speichern dieser wieder auf default gesetzt.

An sich ist das logisch:
Ein Wert wird nur gespeichert, wenn er abweicht. Gleiche Werte werden wieder gelöscht und sind damit "default"
Für manchen Anwender kann das aber verwirrend sein.

Es dürfte recht einfach sein, WENN man von vornherein weiß, welche SETTINGS es insgesammt geben wird.

Von der DB-Struktur her kannst du reinhauen was du willst.
Aber:  Eine Eigenschaft muss ja auch irgendwo was bewirken. Und mit sinnvollen Werten einstellbar sein. (es müssen INT sein)

#40 05.08.2016 16:42:53

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Muss nicht alles INT sein.
Wenn Du z.B. für einen bestimmten Output ein anderes Theme verwenden willst, würde ich lieber den Themenamen (varchar string) nehmen als eine Zahl.

Wegen Default.
Da gibts verschiedene Möglichkeiten.

Sagen wir mal beim Wert "Email required"

1-yes
0-no

hast, und angenommen Wert 0-no ist bereits default (durch "höhere" Einstellung)
könnte man auch so ausgeben:

1-yes
0-no (default)

Beim Aufklappen des Drop-Down wüßtest Du immer welcher Wert "höher" voreingestellt ist, auch wenn er nicht grade ausgewählt ist.

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#41 05.08.2016 16:46:47

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Alternativ könnte man das so wie mit der Einstellung von "Template" in den Seiteneinstellungen machen.

Da kannst Du "default" auswählen. Aber auch den Wert der Default ist.


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#42 05.08.2016 17:50:00

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Muss nicht alles INT sein.

Doch - muss es - sogar TINYINT ;-)
Weil das Feld s_value eben so ist, sonst kann ich die Werte nicht vernünftig verarbeiten. Und du wirst sicher nie mehr als 127 optionen bei einem Feld haben.
Sogar die UserID dessen, der die Benachrichtigungen bekommt, wird zu 99.99% nicht über 127 sein. OK man kann INT machen, trägt ja nicht so auf.

Die "Styles" beziehen sich auf: Wie wird das ausgegeben. Style 1 ist: gib den ganzen Krempel dort als HTML aus, wo das Droplet ist.
Style 2 ist vielleicht: Gib nur einen button aus und lade bei Klick die Kommentare nach.

#43 05.08.2016 18:07:10

webbird
Administrator

Re: Angedacht: CommentsAnywhere

Kennt Ihr keine ENUMs?


Ich habe eine Amazon-Wishlist. wink
Erfolgreich vom eigentlichen Problem ablenken kann auch eine Lösung sein.

Offline

#44 05.08.2016 18:44:12

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Was sind ENUMs?

#45 05.08.2016 19:17:33

stefanek
Developer

Re: Angedacht: CommentsAnywhere

grindbatzn wrote:

Muss nicht alles INT sein.

Doch - muss es - sogar TINYINT ;-)
Weil das Feld s_value eben so ist, sonst kann ich die Werte nicht vernünftig verarbeiten. Und du wirst sicher nie mehr als 127 optionen bei einem Feld haben.
Sogar die UserID dessen, der die Benachrichtigungen bekommt, wird zu 99.99% nicht über 127 sein. OK man kann INT machen, trägt ja nicht so auf.

Die "Styles" beziehen sich auf: Wie wird das ausgegeben. Style 1 ist: gib den ganzen Krempel dort als HTML aus, wo das Droplet ist.
Style 2 ist vielleicht: Gib nur einen button aus und lade bei Klick die Kommentare nach.

Ah, verstehe.
Ich dachte tatsächlich an richtige Themes.
Dann wäre ein String besser.


@Bianka, ENUM kenne ich. Klar. Ich habe sie früher öfter verwendet. Mittlerweile bin ich der Meinung, dass einfache INT Werte flexibler und oft einfacher zu händeln sind.


Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#46 05.08.2016 20:00:08

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Themes...
Das wird doch alles viel zu kompliziert. Für Nutzer, weil sie 30 Dinge zum Auswählen haben, für Entwickler, weil sie sich auf nichts mehr verlassen können.

Wenn es so ist, dass sich so ein Modul breiter durchsetzt, dann kann jeder Template Designer noch halbwegs Vorgaben machen - aber mit Themes?: vergiss es.
Wenn es Änderungen in jQuery-Teil gibt, musst du immer an die Themes denken.

Ein Kommentar ist einfach ein <blockquote> (oder worauf man sich eben einigt), darin h3, h4 und sonstige einfache Tags mit allen nötigen Klassen. Sonst wird man ja verrückt.

Genauso sehe ich es mit Modul-Templates. Was willst du denn da ändern? - tut ja auch kaum wer.
Es geht 10x leichter mit CSS, und wenn du kein Feld "Headline" haben willst, setze es einfach auf display:none;

OK, ich sperre mich da nicht dagegen, aber halten wir es für den Anfang mal einfach.

#47 05.08.2016 20:26:50

stefanek
Developer

Re: Angedacht: CommentsAnywhere

So kompliziert sehe ich es gar nicht.
Aber hey, ist Dein Modul. Ich habe nur einige Ideen eingeworfen, wie ich es machen würde.

smile

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#48 06.08.2016 20:11:29

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Langsam, langsam...

Ich hab mich für das selbe Grau wie bei der rFG entschieden. Wenns wahr ist, kann ich das schon demnächst in der Template-Suche einbauen. Da war eine Zeit lang das Gästebuch-Modul drin, wurde komplett zugespamt.

#49 06.08.2016 21:01:03

stefanek
Developer

Re: Angedacht: CommentsAnywhere

thumb_up


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#50 07.08.2016 19:54:14

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Puh!
Erste öffentliche Version:
http://wbce.at/tpls/search/new-templates.php

Sucht euch eins aus - es ist auf allen Templates, jeweils auf der Seite "THIS TEMPLATE".

Jetzt fängt der Feinschliff an: CSS finden, das auf allen Templates so halbwegs gut aussieht.
Und eMail-Benachrichtigung, die geht ja am Localhost nicht. Und: Spamfilter. Deswegen lass ich das Captcha mal weg.

Last edited by grindbatzn (07.08.2016 19:55:06)

Board footer

Powered by FluxBB

up