WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 15.08.2016 20:21:27

grindbatzn
Gast

GlobalComments

GlobalComment – Status

Ich habe mich vorerst auf die Kernfunktionalität konzentriert, das war momentan schon genug zu tun.

Wers  nicht selbst installieren will, kann es hier live antesten. Ab jetzt lasse ich die Kommentare stehen, wenn nicht gerade asdsdafasg drin steht.
Die Testkommentare lösche ich wieder..

http://wbce.at/tpls/unterseiten/diverse … mments.php
http://wbce.at/tpls/unterseiten/respons … st-rfg.php

Oder bei allen "This Template" - Seiten, wie ben hier: http://wbce.at/tpls/template-daflagga.html


Installation:
Man braucht beide Module. Einen Abschnitt braucht man aber nur von EasyComments.
http://wbce.at/downloads/globalcomments-0.5.zip
http://wbce.at/downloads/easycomments-0.5.zip
Mit easycomments kann man sofort kommentieren.

Oder eben ein Droplet, um direkt aus Modulen drauf hinzugreifen,
Man kann alles und jedes Ding kommentierbar machen, sogar Bilder in Bildergalerien, da gibt es mehrere Möglichkeiten. es ist nicht schwer.

Name: globcom
use [[globcom?sid=100&iid=103]]  iid optional

[== PHP ==]
global $database;
if (file_exists(WB_PATH.'/modules/globalcomments/showcomments.php') ) {
	include(WB_PATH.'/modules/globalcomments/showcomments.php');
} else {
	$alloutput = '<p>GlobalComments not found</p>';
}
return $alloutput;


In der ToDo-Liste stehen nur mehr kleinere Randfragen:

Leere Felder hervorheben, Fehler besser zeigen:
Jaja. Kommt noch.

Einstellungen → MaxComments
Hab ich wieder rausgenommen, es klemmt mit dem ganzen AJAX-Gepfriemel und vor allem mit den Antworten: Ich muss sicher stellen, dass auch die „Beantworteten“ mitgeladen werden, sonst bleiben die Antworten auf der Strecke. 
Nicht dass es grundsätzlich unmöglich ist, aber ich wolle mich noch nicht näher damit befassen.
Wenn der erste 100 Kommentare auf einer Seite und hat, und der Server deswegen in die Knie geht, denke ich wieder dran ;-)

Mehrere Kommentarabschnitte auf einer Seite.
Geht grundsätzlich, allerdings meckert ASP - zurecht - wenn man hintereinander in beide kommentiert. Das würde mit KEINEM Modul anders sein.

Voting/Rating
Ist noch unbenutzt.

Sprache:
Derzeit gibt es nur Pidgin-English, wenn mal mehr fix ist, übersetze ich auf Bayrisch.

Noch offene Fragen / Antworten:
Kann man GlobalComments auf „privaten“ Seiten verwenden, etwa als „MiniForum“?

Kommentare sind automatisch auf „aktiv – diese Seite“ gestellt, wenn die Seite privat oder „registriert“ ist. Wenn die Seite „public“ oder „hidden“ ist, werden sie auf „aktiv – Global“ gestellt. Nur letztere tauchen als neueste Kommentare auf.
Man kann das bei jedem Kommentar einzeln einstellen.
Tatsächlich sind alle aktiven Kommentare ein bisschen „public“ - man kann über Tricks drauf zugreifen. Da lässt sich noch ein wenig verbessern, aber ob Kommentare je ganz „geheim“ sein können, kann ich nicht versprechen.

Falls das jemandem zu kompliziert vorkommt: Naja, bei Snippets wie "AnyComments" wäre das gleiche Thema gewesen, aber da hat niemand danach gefragt. Ich sags ja nur. ;-)

Warum ist soviel Javascript und jQuery?
Da bin ich auf: Ganz oder gar nicht. Wenn jemand (zb ein Bot) Javascript ausgeschaltet hat, sieht er nur die Kommentare. Selbst die Formularbox kommt erst über jQuery rein – mit etwas Verzögerung.
Es braucht kein ganz neues jQuery und auch keine besonderen Funktionen, aber natürlich: Wenn in einem Template oder Modul schwere JS-Fehler passieren, funktioniert auch das Kommentieren nicht.
Vorhandene Kommentare stehen natürlich trotzdem Google-lesbar im Quellcode.

Ich gehe jetzt mal auf ein Bier.

Beitrag geändert von grindbatzn (15.08.2016 20:22:19)

#2 18.08.2016 12:23:37

stefanek
Developer

Re: GlobalComments

Sieht schon mal sehr cool aus.

Du schreibst: "GlobalComments mehrfach auf einer Seite.
Ist zwar möglich, aber wenn bei beiden Abschnitten kommentiert wird, greift beim 2. mal ASP ein."

Vielleicht kannst Du es so machen, dass wenn mehr als einmal in Verwendung, nach dem Speichern des Kommentars die Seite neu geladen wird (mit jQuery.window.reload):

http://stackoverflow.com/questions/5404 … ith-jquery

Gruß,
Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 19.08.2016 11:40:47

grindmobil
Gast

Re: GlobalComments

Hmm, ja
Es klemmt auch mit dem Captcha. Nur neuladen hilft da auch nix.
Es sind ja auch Funktionen drin zum Neuladen einzelner Kommentare, des ganzen Blocks, der Kommentarbox.
Bei letzterer muss ich ansetzen; die darf nur einmal geladen werden und muss nach jedem Kommentar überall nachgeladen werden.

Andererseits will ich natürlich ASP nicht aushebeln und somit "Dauerfeuer" ermöglichen.
Schon gar nicht, wenn wohl kaum jemand 2 Kommentarboxen auf einer Seite haben wird - sieht man auch sonst im Web nirgends und ist auch bei anderen Modulen nicht möglich.

Die Kommentarboxen können ja auch verschiedenen Einstellungen haben, und da wirds dann wirklich haarig.

Ist also nicht unbedingt auf meiner Next-ToDo Liste ;-)
Vielleicht wenn mir beim Duschen was einfällt..

lg
chio aus dem Urlaub

#4 23.09.2016 11:43:24

florian
Administrator

Re: GlobalComments

Gerade mal getestet. Sehr schön geworden.
Anbei die deutsche Übersetzung für die Texte der Eingabefelder usw.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#5 23.09.2016 13:06:48

grindbatzn
Gast

Re: GlobalComments

Danke!
Vielleicht erbarmt sich auch jemand der EN.php ;-)

#6 23.09.2016 13:10:01

florian
Administrator

Re: GlobalComments

That found I in order.  cool


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#7 08.10.2016 18:31:14

grindbatzn
Gast

Re: GlobalComments

Jo, der Herbst ist bei mir geschäftlich immer ziemlich dicht..

Trotzdem habe ich heute wieder mal geschraubt.
http://www.site-check.cc/

Nahezu alle Seiten sind Topics, und es gibt ziemlich viel Kommentare (mit unveröffentlichten) fast 600

Also habe ich ein Script gemacht, das alle Topics-Kommentare in GlobalComments einspielt. Funzt ganz gut - wer will, kann schon mal haben (PM).
Und dann die Comments bei Topics ausgeschaltet und durch GlobalComments (per Droplet in den Topics-Settings) ersetzt.

Probleme, noch zu lösen:
Man bekommt ein Mail + Link, mit dem man neue Kommentare freischalten kann. Das funktioniert nicht, weil der Link auf die Übersicht zeigt - auf der GC ja nicht vorhanden ist. LInks zum Topic selbst sind mir aber zu heikel, die müssen nicht immer stimmen. Da muss ich nochmal in mich gehen.

Die Anzeige schon in der Übersicht, wie viele Kommentare ein Topic hat, ist nicht so ganz trivial einzubauen.

#8 09.10.2016 01:37:34

stefanek
Developer

Re: GlobalComments

grindbatzn schrieb:

LInks zum Topic selbst sind mir aber zu heikel, die müssen nicht immer stimmen. Da muss ich nochmal in mich gehen.

Wenn ich richtig verstehe, du meinst, die "müssen nicht immer stimmen", da sie im Laufe der Zeit eine andere URL bekommen?

In diesem Falle könntest Du eine einfache Funktion schreiben, die eine SQL query enthält und anhand der topic_id (oder post_id etc.) nach der URL greift und sie zur Laufzeit generiert. Also dann, wenn die Mail rausgeschickt wird (statt direkt aus der DB-Tabelle).

Diese Funktion könnte auch gleich mit abfangen, falls man sein Modul so eingestellt hat, dass keine URLs und keine physischen Dateien generiert werden, sondern mit parametern gearbeitet wird.
In diesem Falle müßte die Funktion dann eben abfragen können, ob es so eingestellt ist.

Just some thoughts from the top of my head ;-)

Chris


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#9 09.10.2016 13:41:34

grindbatzn
Gast

Re: GlobalComments

IN GC wird nicht gespeichert, zu welchem Modul ein Kommentar gehört. Gespeichert wird die section_id - über die sich relativ umständlich natürlich das Modul feststellen lässt.
Aber es ist an sich nicht der Sinn der Sache, Anpassungen für einzelne Module zu machen.

Dass die Links nicht immer stimmen  müssen, liegt daran, dass sie per JS/AJAX übergeben werden - und da könnte man reinfummeln.
Man könnte den Link so manipulieren, dass man den Freischaltcode (uniq_id) erfährt und sich dann seinen eigenen Kommentar freischalten kann.
(Was zunächst unsinnig klingt, weil er mit dem Link ja ohnehin freigeschaltet werden soll)
Zur Info dazu: Mit dem Link kann man Kommentare freischalten, ohne angemeldet zu sein.

Es würde aber wohl reichen, wenn ich überprüfe, ob der Link mit WB_URL beginnt.
EDIT: Habs gerade nachgesehen: Das wird eh überprüft. Sonst könnte ja jeder seine Website reinschreiben.

==========================

Andere Sache: Kannst du mir verraten wie man installierbare Droplets erstellt?

Beitrag geändert von grindbatzn (09.10.2016 13:58:24)

#10 09.10.2016 17:40:24

stefanek
Developer

Re: GlobalComments

grindbatzn schrieb:

IN GC wird nicht gespeichert, zu welchem Modul ein Kommentar gehört. Gespeichert wird die section_id - über die sich relativ umständlich natürlich das Modul feststellen lässt.

So schwer ist es nicht.

$module_name = $database->get_one("SELECT module from {TABLE_PREFIX}sections WHERE section_id = 7");
grindbatzn schrieb:

Andere Sache: Kannst du mir verraten wie man installierbare Droplets erstellt?

Wenn Du magst, kannst Du nachschauen, wie ich es im GlobalStrings Manager gemacht habe.

Wenn das nicht hilft, musst Du etwas mehr ausführen, was Du mit installierbaren Droplets meinst. :-)

Chris

Beitrag geändert von stefanek (10.10.2016 00:07:25)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Fußzeile des Forums

up