WBCE CMS – Way Better Content Editing.
You are not logged in.
Bezüglich der Sortierung und der damit verbundenen XSS-Lücke: Ich weiß grad nicht so genau, was da sortiert wurde, aber eigentlich könnte man das doch mit JavaScript erledigen, statt über die Datenbank. Oder übersehe ich was? Ich hab nicht sonderlich viel mit der DLG gearbeitet...
Die Sortierung ist die im Frontend (siehe Anhang mit funktionierender Sortierung und DLG in Funktion <klicksu Balken> :-)), die in der aktuellen Version im Moment nicht funktioniert, was niemand bemerkt, weil oftmals keiner mehr weiß, wie's mal war -eben wie auch die Ergänzungsmöglickeit der Dateitypen "verschwand", jetzt aber im Zuge der Anpassungen wieder funktioniert. Dafür geht jetzt die Sortierung nicht. (genauer: xss-patch entfernt, dann gehts, aber im wbce, im Gegensatz zu wb nur eingeschränkt. Also noch mehrere Baustellen)
Ausschlaggebend für meine Arbeit am Modul war der Sicherheitsreport, wo eine Lösung für das XSS-Problem gesucht wurde und dann zwangsläufig auch ein paar Anpassungen für neueres php fällig wurden. "Coden" war nicht angesagt, wie auch
Also könnte man empfehlen, die Frontend-Sortierung tatsächlich auf dem Client auszuführen, wenn man sich sicher ist, daß alle Clients dazu auch in der Lage sind. Eine serverseitige ist m.E. in der Ausgabe verläßlicher (z.B. keine Konflikte mit Js). Man hat die Qual der Wahl.
MfG. Evaki
Last edited by evaki (08.02.2016 11:14:01)
Kann ich prinzipiell machen, aber es ist etwas schwierig, eine Hilfeseite ohne Kenntnis des aktuellen Moduls zu überarbeiten...
Stimmt irgendwie. Ich bin aber bald so weit, daß Ihr schon mal testen könnt.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Also ich bleib dabei: Ich streiche die serverseitige Sortierung erst mal, und wenn später hinreichend großer Bedarf besteht - soll heißen > 1 Person braucht das unbedingt und kann es entsprechend begründen -, kann man es immer noch wieder einbauen. Da heutzutage immer weniger Seiten ohne JavaScript auskommen, werden auch immer weniger Leute mit deaktiviertem JavaScript unterwegs sein. Und die können dann halt nicht sortieren - so furchtbar ist das auch wieder nicht.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
So, was fangen wir denn mit der unsäglichen Einstellungen-Seite an? Ich glaube Florian plädierte für die Streichung der Loops, das gehört in Templates. Sehe ich auch so, aber ich bin auch nicht so oberflächenabhängig wie manch anderer. (Was keine Wertung sein soll, es heißt einfach nur, daß es mir nichts ausmacht, in Dateien rumzufummeln, ich mich da aber auch nicht als Maßstab sehe.)
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Die Anzeige der kompletten Reihe, also aller Attribute, abgesehen von einer Notwendigkeit, ist soweit ich sehe, auf einem Mobile eine Katastrophe. Hierauf wäre es sinnvoll, in Abhängigkeit von Größe u. Auflösung des anzeigenden Geräts, einzelne Attribute auszublenden. Beispielsweise würden Bezeichnung und Dateigröße ausreichen.
Reduziert man die Anzeige (abspecken) auf diese beiden generell, kann man sich das Geraffel ganz sparen, und machts simpel responsive. Ursprünglich waren es auch weniger Attribute. Aber es galt den Desktop zu füllen
Wenn schon zusätzliche Attribute, wäre es aus meiner Sicht (auch wegen modern oder so) sinnvoll, ein aussagekraftiges Bild zur jeweiligen Downloaddatei einbinden zu können.
MfG. Evaki
Last edited by evaki (08.02.2016 13:31:13)
Redest Du jetzt von der Liste, oder von der Einstellungen-Seite?
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Das WBCE-Backend ist allgemein noch genau gar nicht responsive (leider).
Im Frontend ist das das Problem, wenn mit Tabellen gearbeitet wird. Wer also Wert darauf legt, dass sein Downloadverzeichnis auch auf mobilen Endgeräten nutzbar und ansehnlich ist (was ja nicht zwangsläufig so sein muss), sollte sowieso lieber mit <ul><li> oder <dl><dt> arbeiten.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Redest Du jetzt von der Liste, oder von der Einstellungen-Seite?
Ich meine die Liste (FE). Wenn über BE auch mobil gearbeitet werden soll, dann dort sowieso.
Im Frontend ist das das Problem, wenn mit Tabellen gearbeitet wird. Wer also Wert darauf legt, dass ... sollte sowieso lieber mit <ul><li> oder <dl><dt> arbeiten.
Wie auch immer, mein Eindruck -hab mal getestet- war, daß mit jedem zusätzlichen Attribut, die Ansicht "bescheidener" aussah (im Verhältnis zur Länge der Liste). Vielleicht müssen das ein paar Leute erst sehen, bevor eine endgültige Entscheidung gefällt wird.
MfG. Evaki
Last edited by evaki (08.02.2016 15:46:55)
Schick wäre es, wie bei Members, Topics, anynews und Miniform ein paar vorgefertigte Darstellungsvarianten zu haben - Tabelle mit allen Details, Bulletpoint-Liste, Definition List, Fließtext mit Absätzen. Das ist auch ein guter Einstieg, um sich mit der Darstellungslogik vertraut zu machen und diese individuell anzupassen. Diese Varianten könnten ja auch erst einmal nur als Zusatzinfos in der info.php oder einer readme.txt mit ausgeliefert werden.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Leider kann WBCE noch keine Templatevarianten wie BC, aber ich kann trotzdem mal zwei Varianten bauen und die über das DLG-Backend wählbar machen. Ist dann halt eine Modullösung, keine Produktlösung. Aber wenn Ihr's schnell haben wollst, geht's halt jetzt nur so.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Achso, ich nehme gerne einen fertigen Layoutvorschlag fürs Frontend, sagte ich ja schon.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
So, mal zurück auf die Einstellungen-Seite: Ich nehme dann jetzt den kompletten Layout-Block raus und verlagere ihn in Templates. Okay?
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
okay
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
So sieht's jetzt aus:
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
So sieht's jetzt erst mal im Frontend aus (offensichtlich ! noch nicht fertig) - altes Tabellendesign:
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Sieht doch nett aus.
Die Sortierung in JS wird sehr wahrscheinlich einen Sicherheitdingsda überflüssig machen.
MfG. Evaki
p.s. Bei mir rödelt immer noch die "alte" DLG2, und trägt möglicherweise zur Lösung anderer Probleme (im CMS) bei. Wahrscheinlich gibt's dafür noch ein Update, und dann war's das auch mit der alten Dame. -Ja, is klar: Wenn alte Scheunen brennen -oder so... (Karneval)
Last edited by evaki (09.02.2016 06:37:25)
Hat das einen Grund, dass das hier
https://github.com/WBCE/Download-Gallery-WBCE
einen etwas unvollständigen Eindruck erweckt?
Bei den Styles fürs Frontend würde ich mich echt auf das absolute Minimum beschränken. Keine Hintergrundfarben, keine Vordergrundfarben, keine Schriftarten. In 99 von 100 Fällen passen die Vorgaben sowieso nicht zum Design der Seite.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Hat das einen Grund, dass das hier
https://github.com/WBCE/Download-Gallery-WBCE
einen etwas unvollständigen Eindruck erweckt?
Ich stecke meine Energie lieber in die Entwicklung als in die Aktualisierung des Repo. Ist IMHO auch besser, wenn es sichtlich unvollständig ist, als wenn ich den ganzen lokalen Bruch rein schiebe (der zeitweise wirklich überhaupt nicht mehr funktioniert) und irgendeiner auf die Idee kommt, den zu installieren. Dann muß ich mich nämlich wiederum Stunden damit befassen, den Leuten zu erklären, daß ich _weiß_, das dies oder jenes noch nicht funktioniert, oder nicht so bleibt, oder was auch immer...
Aber wenn's Dich beruhigt, aktualisiere ich das Repo jetzt mal.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Aber wenn's Dich beruhigt, aktualisiere ich das Repo jetzt mal.
Das war keine Aufforderung.
Ich hatte mich nur gewundert und hätte sonst u.U. schon die frontend.css bearbeiten können.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
So, eine letzte optische Überarbeitung des Backends. Bis auf die Sortierung (Drag&Drop) funktioniert da auch wieder alles.
Gibt's eigentlich einen geregelten Weg, jQuery/UI zu aktivieren? (Hab ich das nicht schon mal gefragt...?)
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Eine Frage zur Suche: Hat die immer nur (wie der Text suggeriert) in den schon _angezeigten_ Dateien gesucht, oder in allen? Hintergrund: Man kann ja die Anzahl der Dateien pro Seite angeben, wenn man also etwa nur 15 anzeigt, es aber 150 sind - sucht(e) die Suche dann in allen?
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
So, wunschgemäß habe ich die Layout-Einstellungen für das Frontend weitestgehend entfernt. Ist jetzt nicht mehr hübsch, aber das ist dann ja nicht mehr mein Problem.
Um zumindest die mobile Ansicht zu verbessern und es dem Anwender leicht zu machen, in der Tabellenansicht Spalten auszublenden, habe ich folgendes CSS belassen bzw. eingebaut:
[== CSS ==]
div.mod_downloadgallery {}
@media screen and (max-width: 768px) {
div.mod_downloadgallery .hide_on_mobile { display: none; }
}
div.mod_downloadgallery table{width:100%}
/* if you wish to hide specific table columns, insert 'display:none' between {} */
div.mod_downloadgallery table td.item_name,div.mod_downloadgallery table th.th_name{}
div.mod_downloadgallery table td.item_modified,div.mod_downloadgallery table th.th_modified{display:none}
div.mod_downloadgallery table td.item_released,div.mod_downloadgallery table th.th_released{display:none}
div.mod_downloadgallery table td.item_size,div.mod_downloadgallery table th.th_size{display:none}
div.mod_downloadgallery table td.item_dlcount,div.mod_downloadgallery table th.th_dlcount{}
div.mod_downloadgallery table td.item_description,div.mod_downloadgallery table th.th_description{}
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
Tja, und ich kann etwas neues zur alten Dame DLG2 sagen. Es lag vermutlich an einer wbce-"master-version", daß DLG2 dort Eigenheiten zeigte. In v1.1.3 funktionierts mit dem noch in Arbeit befindlichen Update, eben wie schon vorher -wenn auch mit deaktiviertem Sorter. Hatte es nur nicht gesehen, da ich nur noch mit dem master arbeitete. Das nennt man hausgemacht. Somit werde ich wohl bald einen zufriedenstellenden Abschluß -für mich und die Anwender- machen können.
Mit DLG3 gehts dann frisch und hurtig in die Moderne.
MfG. Evaki
Last edited by evaki (09.02.2016 20:51:33)
Ich schreibe jetzt eine eigene Filterfunktion, die direkt per Javascript - ohne Abhängigkeiten von jQuery - im Frontend alles ausfiltert, was nicht dem angegebenen Suchstring entspricht. Das funktioniert dann selbstverständlich nur mit dem Inhalt der aktuellen Seite. Dafür sieht der Anwender schon beim Tippen, wie die Liste schrumpft.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
So etwas habe ich im mysql-Infotool drin, da kannstes Dir rausnehmen
Ach nee, war doch jQuery-abhängig
[== JavaScript ==]
<script type="text/javascript">
$("#searchInput").keyup(function () {
//split the current value of searchInput
var data = this.value.split(" ");
//create a jquery object of the rows
var jo = $("#fbody").find(".result");
if (this.value == "") {
jo.show();
return;
}
//hide all the rows
jo.hide();
//Recusively filter the jquery object to get results.
jo.filter(function (i, v) {
var $t = $(this);
for (var d = 0; d < data.length; ++d) {
if ($t.is(":contains('" + data[d] + "')")) {
return true;
}
}
return false;
})
//show the rows that match.
.show();
}).focus(function () {
this.value = "";
$(this).css({
"color": "black"
});
$(this).unbind('focus');
}).css({
"color": "#C0C0C0"
});
</script>
Last edited by florian (10.02.2016 14:48:34)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline