Beiträge von Recon


    Guten Abend (oder Morgen, wie man's sieht :P ),

    seit einiger Zeit versuche ich mich an einem eigenen CMS und da ich mir dachte, dass ich es sowieso wahrscheinlich releasen werde,
    könnte ich auch schon mal einen Development-Thread anlegen. Zusätzlich erhoffe ich mir vielleicht einige Ideen/Anregungen, die man immer mal braucht.
    Kurz angesprochen: Falls ihr positiv zum Projekt beitragen möchtet, dann bitte ich euch diesen Thread vollständig zu lesen und Kritikpunkte auch "wiederverwertbar" zu äußern!
    Kommen wir zunächst zum Design.

    Design
    Das Design habe ich versucht möglichst schlicht zu halten, aber trotzdem an die "originale" Homepage von Sulake anzulehnen.
    Was da herausgekommen ist? Ein so ziemlich leicht abgespecktes Design im Vergleich zu der von Sulake ("flat" möchte ich es nicht nennen,
    da es noch nicht ganz stimmig ist). Ich bin immer noch dabei größere; gewohnte Designelemente in mein Design zu integrieren.
    Kurz möchte ich noch erwähnen, bevor die Designrichtlinien-Sektenmitglieder auf mich fliegen, dass ich mit Webdesign noch nie
    viel zu tun hatte und mich größtenteils auf die Programmierung konzentriere, daher ist das Design vielleicht nicht ganz so interessant.
    Verbesserungsvorschläge sind immer willkommen!


    Coding
    Zum Coding möchte ich vorab sagen, dass ich sehr auf Ordnung achte und somit das komplette CMS vom CSS/JS-Code bis hin zu der Ordnerstruktur (Screenshot unten)
    und dem Inhalt der PHP-Dateien aufs kleinste Detail organisiert ist. Wenn ich CM-Systeme sehe, die bereits im Rootordner 500 Unterordner haben,
    wird mir unwohl zu mute. An vielen (fast allen) Stellen des CMS' wende ich OOP an, aber nicht in der strengsten Form, so dass es trotzdem
    für absolut jeden übersichtlich ist - man soll als Entwickler ja auch wissen und direkt nachvollziehen können, was sich wo befindet.
    Codesnippets könnte ich gerne bereitstellen, doch viel besonderes gibt es nicht wirklich zu sehen. Standardzeugs wie eine User-/Config-/etc-Klasse
    ist natürlich vorhanden - in den Page-Dateien werden keine Querys "directly" ausgeführt und auch keine Daten "directly" per Query angefordert, dafür
    sind 2 Klassen da (jeweils Datenbankein- und Ausgang), wo auch direkt der Userinput selbstverständlicher Weise gefiltert wird.

    Größtenteils war es das über den Code bis auf zwei erwähnenswerte Dinge: Das CMS wurde/wird von mir "from scratch" entwickelt,
    d. h., dass absolut jede Datei und jede Zeile von mir stammt (bis auf jQuery, welches ich an einigen Stellen anwende und das 960 Grid-System, wird jedoch
    noch ausgetauscht). Der zweite Punkt wäre dann die Geschwindigkeit. Niemand möchte lange Wartezeiten haben. Eine Website sollte (meiner Vorstellung nach)
    sofort den Inhalt liefern, den man anfordert. Das führte dazu, dass ich mich sehr lange mit Caching-Methoden, korrekte CSS/JS/IMG-Einbindung, Headern und der Gleichen
    beschäftigt habe, was dann auch vieles in die Programmierung beigetragen hat. Zum Beispiel: Für die meisten Bilder/Icons habe ich ein sog. "Sprite" angelegt, wo viele
    kleine Bilddateien in Eines zusammengepackt wurde, damit nur ein Bild anstatt von 15 heruntergeladen und gecached werden muss. AJAX findet selbstverständlich
    in einer geschwindigkeitsoptimierten Anwendung auch Platz, doch zurzeit wird es nur an wenigen Stellen angewandt. Vieles lasse ich auch in der Anwendung selbst cachen,
    was die Anzahl der Querys insgesamt stark reduziert. Inline-CSS/JS existiert nicht, alles hat seine Datei (zur Geschwindigkeitsoptimierung jeweils 1 Datei für JS sowie CSS).

    "Features"
    Die so genannten "Features" gehören natürlich zu einem, mehr oder weniger, anständigen CMS dazu. Da ich leider noch am Vervollständigen des essentiellen
    Funktionsumfanges bin, habe ich noch kaum bzw. keine Zusatzfunktionen integrieren können (ein Forum sowie News-Kommentare + Voting und eine
    abgespeckte Topliste ist natürlich schon vorhanden). Ich bin für jegliche Ideen und Anregungen was diesen Bereich anlangt offen!

    Was noch ganz praktisch ist (oder auch nicht?):
    Es läuft nebenbei ein "Check", ob der User im Client eingeloggt ist oder nicht. Ansonsten wird der User automatisch (ohne Seitenreload)
    nach 5 Minuten ausgeloggt. Dann wird auch der Zugriff auf den Client selbst mit "geklautem" SSO-Ticket gesperrt (wurde in Zusammenhang mit dem Emulator programmiert).

    Getestet wird das CMS von einigen ehemaligen Mitarbeitern des Hotels Babbo.LA und wird auch auf dessen Domain gehostet.
    Nun bin ich zunächst zum Ende des Threads angelangt und erhoffe mir von euch konstruktive (!!) Kritik! :love:
    Screenshots sind im Spoiler angehängt.

    GIFs (teilweise zur AJAX-Demonstration (es wird die Seite nicht extra neu geladen, um einfache Dinge dynamisch darzustellen)):
    ANMERKUNG ZU DEN FORUM-SCREENS: Das Forum befindet sich design-technisch noch komplett im Aufbau!

    Spoiler anzeigen

    Was es sich mit dem "schwarzen Strich" in der News-Box auf sich hat:

    Spoiler anzeigen

    Orderstruktur:

    Da ich das Projekt schon seit Anfang an mitverfolge und auch selbst den Uploadclient besitze und verwende,
    kann ich sagen, dass es wirklich top ist! Der Upload wird sehr schnell abgewickelt und der Client ist sehr übersichtlich
    aufgebaut und nicht mit Funktionen überfüllt, die man sonst nicht unbedingt braucht.

    Wenn es zum finalen Release kommt, kann ichs allen nur empfehlen! :thumbup:

    Mal was ganz Tolles :D
    Seltsamerweise kann ich seit heute nicht mehr in den Client einchecken, da mir mein Antivirus-Programm den Zugriff komplett sperrt und nicht nur als Phishing-Seite meldet (was üblich bei Retros ist),
    sondern direkt als infiziert (und ja ich weiß, die Meldung kann man umgehen :P ). Die Fehlerquote ist jedoch bei Kaspersky ziemlich gering..
    Wird eventuell Werbung im Client eingebunden? Das würde dann die Meldung direkt erklären. :/

    Ansonsten gefällt mir das Hotel, bis auf einige Dinge, recht gut. Verbesserungen wären trotzdem noch angebracht.
    Einen Besuch ist es jedenfalls wert! :thumbup:

    Spoiler anzeigen

    Es sollte zu einer bestimmten Seite weiterleiten und dort darf diese Abfrage nicht drin sein (z.B. auf der Login-Seite).
    Ansonsten wird jedes mal erneut überprüft, ob $_SESSION['User'] existiert, was jedes mal nicht der Fall ist -> unendlicher loop.

    Arbeitet ihr mit einem MVC System?


    Wir wenden die OOP im Front- sowie im Backend an, für die Verwendung des MVC-Systems haben wir uns jedoch gegen entschieden.
    Das ganze soll als eine Art "Service" funktionieren und wird deswegen explizit so entwickelt, dass Hotelinhaber kaum etwas tun müssen,
    um diese Anwendung mit ihrem Retro verwenden zu können. Als Hotelinhaber wird man ebenfalls Zugriff auf ein individuelles
    Backend haben können, wo man vollen Zugriff auf den Service innerhalb des eigenen Hotels hat.


    So wie ich das Projekt jetzt verstanden habe, wird der Chat nur (wie unten, siehe Screenshot) übertragen, und man kann durch die App nicht den Client betreten, wie bspw. durch die Habbo-App. In diesem Sinne auch: total sinnlos, denn es gibtgenügend andere Social Media Plattformen, welche den Kontakt beibehalten. Ich kenne keine Person, die sich diese Appfreiwillig runterladen würde.


    Diese Web-Applikation befindet sich noch in den Kinderschuhen der Entwicklung.
    Wir forschen bereits nach weiteren Möglichkeiten den Client weites gehend auf das Handy zu bringen!

    Ich finde es wirklich schade, dass ich nicht einmal in das Hotel einchecken kann, ohne direkt gebannt zu werden.
    Dazu muss ich ja sagen, dass der Bann von einem Account begründet war - die anderen 10 aber nicht.
    Professionell finde ich es nicht gerade, dass man mich nur aufgrund dessen bannt, dass man mich im Hotel nicht haben will (Gruß an Actin),
    obwohl ich mich an das Regelwerk halte.

    Ansonsten finde ich die Extras wirklich interessant und das Team hat sich mit der Zeit ins positive entwickelt! :)

    Da es User gab, die vor einiger Zeit Probleme mit dem neuen Clientloader hatten, wurde dieser
    nun code-technisch überarbeitet und wieder eingeführt. Wer weiterhin Probleme mit dem Clientloader haben
    sollte (unwahrscheinlich), den würde ich dann bitten sich über das Support-Tool zu melden.

    Es gibt aber selbstverständlich auch eine Option unter den Profileinstellungen, um diesen neuen
    Clientloader abzuschalten.

    Es wurde auch die Onlineanzeige wieder eingeführt, diesmal wird die Onlinezahl über Sockets und
    nicht so wie früher über die Datenbank geladen, da das (so selten es auch auftrat) zu einem kompletten Client-Freeze geführt hatte.

    Fehlerbehebungen

    Schon mal vorweg: Ich bin immer froh, wenn mir Fehler mitgeteilt werden.
    Also wenn ihr irgendwelche Fehler findet, dann meldet sie mir, damit ich sie dann beheben kann! :)

    Ich habe mich an einige Fehler im Client gesetzt, um diese endgültig zu beheben.
    Neben kleineren Änderungen möchte ich hier die wichtigsten Fehlerbehebungen aufzählen.

    Client - "Quickiepoll":
    Einige Nutzer konnten bei der hotelweiten Umfrage nicht mitvoten - sie bekamen fälschlicherweise eine
    Fehlermeldung angezeigt, die eigentlich "Trickser" von der Möglichkeit die Umfrage zu verfälschen abhalten
    sollte (Fehler siehe Screen). Nun müsste die Hotelumfrage wie gewollt fehlerfrei funktionieren.

    Spoiler anzeigen



    Wurde nun behoben:

    Spoiler anzeigen

    Client - "Youtube- & LivestreamTV":
    Aufgrund eines Design-Fehlers wurden die Youtube- & LivestreamTVs nicht richtig dargestellt.
    Zusätzlich funktionierten auch leider die Streams im LivestreamTV nicht mehr.

    Spoiler anzeigen


    Wurde nun behoben:

    Spoiler anzeigen


    Client - "Individueller Filter":
    Durch einen Programmierfehler wurde seit einer Woche beim individuellen Raumfilter
    die eigens-eingetragenen Wörter nicht mehr angezeigt.

    Spoiler anzeigen


    Wurde nun behoben:

    Spoiler anzeigen

    Client - "Raumumfrage":
    Durch noch einen Programmierfehler konnte man bei den Umfragen in den Minus-Bereich
    gelangen, obwohl das eigentlich im Voraus schon im Code geprüft wurde. Nichtsdestotrotz
    wurde dieser Fehler behoben.

    Spoiler anzeigen


    Wurde nun behoben:

    Spoiler anzeigen

    Client - "Wired SFX":
    Durch einen Fehler im Webserver wurden die Geräusche durch unsere Wired SFX Möbel
    nicht abgespielt. Dies wurde nun behoben.

    Client - Verbindungsfehler:
    Bei einigen Möbelstücken wie den Stapelfelder oder bei Tools wie dem Umfragetool
    gab es die letzten Tage Fehlermeldungen, da eine bestimmte Verbindung zum Server
    nicht hergestellt werden konnte. Dies wurde ebenfalls behoben und alles funktioniert
    wieder reibungslos.

    _______________________________________________________________________________________________________________________________________

    Es werden noch weitere Fehlerbehebungen geplant und gleichzeitig arbeiten wir auch
    weiterhin an neuen Updates sowie Features!

    Erklärung? :) (Kommt mir jetzt nicht mit 0815 Virenscanner etc .. )


    Das ist eine völlig schwachsinnige Fehlermeldung. Ich kann dir versichern, dass unsere
    Seite vollkommen Virenfrei ist - wir binden nicht einmal Werbung ein, um die Privatsphäre
    unserer Nutzer zu schützen.

    Außerdem kommt es oft vor, dass Retros in solche Malware-Listen eingetragen werden!

    MfG,

    Ab sofort haben alle User die Möglichkeit für nur 3 Diamanten eine Umfrage in eigenen Räumen zu starten!
    Sobald man einen eigenen Raum betritt, erscheint ein Button oben rechts mit der Aufschrift "Umfrage er-
    stellen" - geht man in einen Raum dessen Besitzer man nicht ist, verschwindet dieser Button wieder.
    Durch Betätigen des Buttons öffnet sich, wer hätte es gedacht, ein kleines Fenster im Client, wo man dann
    die Möglichkeit hat eine Umfrage zu erstellen.

    Um ein wenig von dem "alltäglichen Design" wegzukommen, werden jetzt verschiedene
    Bereiche im Client redesigned. Folglich haben wir mit der MOTD-Nachricht angefangen.

    Diese überarbeitende Bereiche werden "seamless" angebracht, in dem sie über den
    Emulator (wie gewohnt ohne Verzögerung) gesteuert abgesendet werden und größtenteils
    originale Ressourcen aus dem Client hinein bezogen werden - das sorgt für eine,
    unserer Ansicht nach, angenehmen User-Experience, die sich nicht von den standardmäßigen
    Bereichen unterscheidet! :)

    Außerdem gibt es bald interessante Neuigkeiten in Sachen Homepage, aber darauf müsst
    ihr euch noch ein wenig gedulden. :P

    Ab sofort sind für alle User die Stapelfelder in den Katalog eingetroffen. Die Funktionen eines Stapelfelds müsste eigentlich jedem bekannt sein, doch aber kurz erklärt:
    Du kannst das Stapelfeld auf jedes beliebige Möbelstück platzieren. Solange das Stapelfeld auf einer Fliese bleibt (egal in welcher Position/Höhe) kannst du weitere
    Möbel einfach darauf stapeln, hierbei ist ebenfalls jedes Möbelstück möglich! Zusätzlich bekommst Du auch die Möglichkeit die Höhe des Stapelfelds anzupassen.
    Kaufen kann man das Stapelfeld je nach Größe für einige Diamanten.

    Das wars für erste.. aber das nächste Update steht auch schon in den Startlöchern! :thumbup:

    Kleiner - Punkt der Gute Recon Nutzt in meinen Augen seine Rechte aus und das Nervt mich Persönlich doch sehr

    Ehrlich gesagt finde ich das auch erst gar nicht dramatisch. Ich denke, dass die Professionalität um fast 2 Uhr Nachts und wenn man unter sich ist (5 Personen, die das gar nicht gestört hat - im Gegenteil)
    auch nachlassen kann.. Außerdem hast du mir gesagt, dass du dich davon genervt fühlst und daraufhin folgend habe ich das natürlich unterlassen. Ganz nebenbei: Gewisse Professionalität darf ja
    in einem Spiel gegeben sein, aber irgendwann wirkt das nur noch lächerlich - ein wenig Spaß muss schon sein und ich persönlich achte auch darauf, dass die Situation nicht unpassend ist.

    Zitat

    Könnte man das nicht mit sinnvolleren Sachen austauschen? Damit meine ich, dass es doch egal ist wie viele Verbannungen oder Tickets das jeweilige Teammitglied hat. Da gibt es bestimmt interessanteres.


    Wenn dir etwas Interessanteres einfallen würde, immer her damit. Wir sind stets offen für neue Ideen, Anregungen und der gleichen! :)

    Mit Freude darf ich euch ein kleines, aber feines Feature vorstellen.
    Jedem ist sicherlich das User-Fenster bekannt, welches sich öffnet, wenn man einen User anklickt.
    Genau da haben wir 3 neue "Kurzinfos" eingefügt: die Lobe, die Onlinestunden und der aktuelle Beziehungsstatus.
    Die Anzahl der Lobe und die der Onlinestunden aktualisieren sich automatisch - für den Beziehungsstatus wird
    noch eine Eingabemöglichkeit auf der Homepage in den nächsten Tagen folgen.

    Diese neuen "Kurzinfos" werden im Laufe diesen Tages in den regulären Hotelbetrieb eingefügt.

    #Update: wurde nun eingefügt
    Anmerkung: man braucht nicht den Raum oder gar das Hotel neu zu laden, damit
    die "Kurzinfos" aktualisiert werden. Man kann selbst das kleine Profilfenster offen haben
    und der Text updatet sich direkt vor den Augen.