Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigenes CMS

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eigenes CMS

    Hallo,

    Ich programmiere grade ein eigenes CMS.
    Zuerst einmal was das CMS am Ende können soll:
    - Rechteverwaltung
    - Nutzerprofile
    - WoW-Charakter Verwaltung, sowie Raidplaner
    - Forum
    - Von Usern verfassbare Artikel
    - Verschiedene Seitenlayouts mit einstellbarer Belegung der freien Panele(neu)

    Dabei sind mir ein paar Fragen aufgekommen:
    Lohnt es sich Frontend und Backend zu trennen oder sollte ich beides auf die selbe Seite packen?
    Wie würdet ihr die Ordnerstruktur auf dem Server machen?
    Aktuell sieht meine so aus:
    Code:
    core - hier liegt die framework.php, die das System managed
    -> ckeditor - Ein HTML Editor
    -> classes - Verschiedene Klassen zu Datenverwaltung auf dem MySQL
    -> filemanager - Ein Dateimanager
    -> includes - In einer php-Datei die Daten für den MySQL Server
    -> sites - Hier liegt jede Seite mit dynamischen Inhalten als PHP Dokument
    style - CSS-Dateien
    -> img - Bilder wie banner und background
    upload - Diverse Uploads
    -> profile - Profilbilder
    Die Artikel der Nutzer werden momentan nicht richtig formatiert.
    Meiner Einschätzung nach durch den folgenden Eintrag in der CSS-Datei:
    Code:
    html, body, div, span, br, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td,
    article, aside, canvas, details, embed,
    figure, figcaption, footer, header, hgroup,
    menu, nav, output, ruby, section, summary,
    time, mark, audio, video {
        font: 12px/1.3 Arial;
        color: #8F857B;
    }
    Beim Registrieren gibt es Probleme mit dem Firefox, da dieser das Element <input type="date" /> nicht zu unterstützen scheint.
    Gibt es hierfür eine einfach Lösung oder muss ich wirklich beim Abfragen die Usereingaben filtern?

    Beim Rechtesystem bin ich momentan am Überlegen, was besser ist:
    Entweder ich mache es so wie bisher, dass der Wert eines Rechtes entweder false oder true ist und ich so Gruppen, sowie einzelnen Nutzern Rechte geben kann, oder ich mache es ähnlich TeamSpeak(für die die es kennen) und vergebe eine bestimmte "Power" etwas zu tun.

    Momentan stelle ich mit meine index.php ein rohes HTML Konstrukt dar und include an entsprechender Stelle die zu ladende Seite.
    Das Problem dabei ist, dass ich bei den Profilen nicht dauernd "Theus - Profil" im Tab stehen haben möchte, sondern später dann auch den Nutzernamen..

    Hatte mir das mit den Templates und den Themes bisher so gedacht:
    index.php ruft Funktionen aus der framework.php auf
    -> Das Theme wird geladen und auf bestimmte Textbausteine gecheckt
    -> Wenn ein Baustein gefunden wird wird eine entsprechende Funktion aufgerufen, deren Ausgabe den Baustein ersetzt

    -> Es wird das anzuzeigende Template aus der Datenbank gelesen
    -> Das Template wird als php Datei gefunden und geladen
    -> Alle Templates sind abgeleitete Klassen eines "Master-Templates"
    -> Im Profil-Template steht dann z.B. wie der Seitentitel generiert werden soll etc.
    -> Es wird gecheckt, ob eine Seite zum Editieren oder sontigem aufgerufen werden soll
    -> Wenn ja wird eine Funktion im Template aufggerufen, ansonsten wird die normale Seite aufgerufen
    -> Sofern das Template es nicht anders verlangt werden die in der Datenbank für die Seite festgelegten Module der Reihe nach in das Template geladen

    Ein paar Definitionen:
    -> Jedes Modul, sowie das Template selbst hat eine eigene CSS-Datei, welche das Aussehen beeinflusst und evtl. dynamisch ist
    -> Jedes Template und auch die Module haben eine eigene Seite mit Einstellungen

    Was haltet ihr von dem Aufbau?

    Meine letzte Frage:
    Das hier ist die momentane Seite.
    Was würdet ihr hier vom Design her ändern oder anders machen?
    Was gefällt euch, was nicht?

    Falls das Thema im falschen Forum ist bitte ich das zu entschuldigen.

    Mit freundlichen Grüßen
    Asgard

  • #2
    Zitat von Asgard Beitrag anzeigen
    Ich programmiere grade ein eigenes CMS.
    Noch ein neues CMS?

    Zitat von Asgard Beitrag anzeigen
    Zuerst einmal was das CMS am Ende können soll:
    - Rechteverwaltung
    - Nutzerprofile
    - WoW-Charakter Verwaltung, sowie Raidplaner
    - Forum
    - Von Usern verfassbare Artikel
    - Verschiedene Seitenlayouts mit einstellbarer Belegung der freien Panele(neu)
    Diese Funktionen können andere CMS's sicherlich auch! Wozu dann ein neues?

    Zitat von Asgard Beitrag anzeigen
    Dabei sind mir ein paar Fragen aufgekommen:
    Lohnt es sich Frontend und Backend zu trennen oder sollte ich beides auf die selbe Seite packen?
    Wie würdet ihr die Ordnerstruktur auf dem Server machen?
    Die Ordnerstruktur ist vollkommen egal. Schau dir einfach bestehende PHP Frameworks an - diese sind meistens alle nach der gleichen Struktur aufgebaut.

    Zitat von Asgard Beitrag anzeigen
    Beim Registrieren gibt es Probleme mit dem Firefox, da dieser das Element <input type="date" /> nicht zu unterstützen scheint.
    Gibt es hierfür eine einfach Lösung oder muss ich wirklich beim Abfragen die Usereingaben filtern?
    "Not all browsers support all the new input types. However, you can already start using them; If they are not supported, they will behave as regular text fields." http://www.w3schools.com/html/html5_...nput_types.asp

    Usereingaben müssen immer gefiltert werden!

    Zu den restlichen Fragen:
    Schau Dir doch ein PHP Framework an. Diese haben die meisten Features bereits implementiert und können von dir gentutzt werden.

    Zitat von Asgard Beitrag anzeigen
    Meine letzte Frage:
    Das hier ist die momentane Seite.
    Was würdet ihr hier vom Design her ändern oder anders machen?
    Was gefällt euch, was nicht?
    Das fragst du besser in einem Webdesign-Forum.

    Kommentar


    • #3
      Werf die Grundidee nicht über Bord, aber die Idee alles von Grund auf selber zu schreiben. Schau dir mal OctoberCMS an und setz das was du umsetzen willst darauf auf.
      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

      Kommentar


      • #4
        also ich finde es toll dass du ein 5 MB grosses PNG bild drin hast, dann hat man immer so eine spannung und ein uberaschungseffekt wenn dann der hintergrund paar sekunden spaeter aufploppt (stell dir vor, jemand wuerde auf die unwahrscheinliche idee kommen, von einem Mobilen geraet, deine seite zu besuchen)
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #5
          5MB? Das mag Opera besonders. Behält es ungern im Speicher sondern lädt es bei jeder Gelegenheit neu...

          Du solltest einen public Ordner wie ckeditor nicht in einen eigentlich privaten Ordner wie core platzieren.

          Zitat von tr0y Beitrag anzeigen
          Werf die Grundidee nicht über Bord, aber die Idee alles von Grund auf selber zu schreiben. Schau dir mal OctoberCMS an und setz das was du umsetzen willst darauf auf.
          Yeah October! Aber das ist noch nicht mal eine Alpha soweit ich weiss, oder sind sie inzwischen so weit?

          Kommentar


          • #6
            Zitat von monolith Beitrag anzeigen
            Yeah October! Aber das ist noch nicht mal eine Alpha soweit ich weiss, oder sind sie inzwischen so weit?
            Seit dem 15. Mai sind die in der Beta Phase!

            Kommentar


            • #7
              Oh...! Gut dass ich das auch mal erfahre.

              Kommentar


              • #8
                Das Bild hatten sich die Member gewünscht und bei mir Cached Opera das seit etwa 2 Wochen und ich muss es nicht neu laden..
                Zu mobilen Geräten: Ähnlich dem Internetexplorer können hier manche den Farbverlauf hinter dem Bild nicht anzeigen und zeigen deshalb einfach einen weißen Hintergrund. Kann der mobile Browser das trotzdem laden lässt er, zumindenst bei Chrome, Firefox und Dolphin, das Hintergrundbild aus und zeigt nur den Farbverlauf an..

                Punkto andere CMS gibt es ja schon:
                Ja, ist mir auch bekannt
                Aber Joomla, Typo3, Wordpress usw. keiner von denen bietet ein Raidplaner und die von mir bzw. der Gilde/Clan gewünschten Funktionen, sei es direkt oder per Addon, an.
                Das einzige CMS, dass in Frage kommen würde nennt sich EQDKP und enthält schon im Namen ein Element, welches wir auf gar keinen Fall haben möchten, nähmlich ein sogenanntes DKP-System...
                Dieses nicht zu nutzen ist eine große Ressourcen und auch Platzverschwendung. Und es umzuprogrammieren und zu entfernen kommt auch nicht in Frage, da es sich um praktisch das Grundsystem des CMS handelt.
                Eine weiter Option wäre eine Seite bei z.B. wowgilden.net gewesen, welche dann aber nur Grundfunktionen gehabt hätte und unsere eigene Domain dann keinen wirklichen Sinn mehr macht...
                Außerdem wären wir hier wieder bei dem alten Problem, dass es nicht annähernd die Funktionen hat, die wir brauchen.

                October klingt interessant. Installiere es grade schon auf meinem Testserver und melde mich dann wieder.

                Kommentar


                • #9
                  Zitat von Asgard Beitrag anzeigen
                  Aber Joomla, Typo3, Wordpress usw. keiner von denen bietet ein Raidplaner und die von mir bzw. der Gilde/Clan gewünschten Funktionen, sei es direkt oder per Addon, an.
                  ist ja auch ein Spezielles feature, wenigstens bieten die CMS aber eine plugin schnittstelle.

                  Sieh es mal so. Wenn du dich in dein Vorhandenes CMS einarbeitest, haetteste mehr chancen an ein Job spaeter zu gelangen(auch wenn CMS plugins auf auftragsarbeit zu entwickeln das langweiligste ist was es gibt)

                  Wenn jemand dich bei dem projekt unterstuetzen will, brauchst du keine Dokumentation etc zu schreiben, kannst direkt auf die doku des CMS verweisen.

                  Wenn bei einem bekannten CMS eine sicherheitsluecke entdeckt wird, kann es dich auch mal erwischen
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                  Kommentar


                  • #10
                    Also, weil es ein gewisses Plugin nicht für ein bereits etabliertes CMS nicht gibt, schreibst du gleich direkt ein eigenes... CMS? Wie wär's, wenn du stattdessen ein eigenes Plugin schreibst? Ich weiß aus Erfahrung, dass das in Joomla und Wordpress ziemlich einfach ist.
                    Crashkurs zum Thema Rechtschreibung: [COLOR="Green"]normalerweise[/COLOR] ([COLOR="Red"]normaler weise[/COLOR] oder [COLOR="Red"]normaler weiße[/COLOR]), [COLOR="DarkGreen"]Standard[/COLOR] ([COLOR="Red"]Standart[/COLOR]), [COLOR="DarkGreen"]eben[/COLOR] ([COLOR="Red"]ebend[/COLOR])

                    Kommentar


                    • #11
                      Ein Raidplaner ist im Endeffekt nur ein Kalender. Das hat jedes CMS.
                      [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                      Kommentar


                      • #12
                        Zitat von Asterixus Beitrag anzeigen
                        Ich weiß aus Erfahrung, dass das in Joomla und Wordpress ziemlich einfach ist.
                        Ich habe selbst gerade erst ein Plugin in Wordpress geschrieben. Codetechnisch ist Wordpress zwar != gut aber es ist einfach ein eigenes Plugin zu programmieren.

                        Außerdem würdest du damit der Nachwelt auch einen gefallen tun!

                        Kommentar


                        • #13
                          Codetechnisch ist Wordpress zwar != gut
                          Das ist aber nur ganz leicht untertrieben.
                          [COLOR="#F5F5FF"]--[/COLOR]
                          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                          [COLOR="#F5F5FF"]
                          --[/COLOR]

                          Kommentar


                          • #14
                            Zitat von ApoY2k Beitrag anzeigen
                            Ein Raidplaner ist im Endeffekt nur ein Kalender. Das hat jedes CMS.
                            Ich nehme an, dass du 1. noch nie WoW gespielt hast und 2. ich mich evtl in diesem Punkt nicht klar genug geäußert habe.

                            Der Raidplaner muss für jeden Raid folgende Daten speichern:
                            - Raidname
                            - Raidtyp
                            - Lead (nur User mit dem Rang Raidlead)
                            - Co-Lead
                            - Invite
                            - Beginn
                            - Dauer
                            - Charaktere, die
                            a) eingeladen sind
                            b) eine Beitrittsanfrage geschickt haben
                            c) im Raid sind
                            d) auf der Ersatzbank sind
                            e) sich abgemeldet haben(inklusive Grund)
                            - Anzeige der zugehörigen Spieler für den Raidlead
                            - Anzeige des Raidverlaufes, der per LUA-Addon direkt nach Raidende automatisch exportiert wird und als xml datei zur verfügung steht
                            - Anzeige der xportierten Recount-Daten(auch ein WoW-Addon)
                            - Bewertungssystem der einzelnen Teilnehmer
                            - Notizen zu den Teilnehmern

                            Das ganze sollte direkt mit einem Benachrichtigungssystem verknüpft sein, dass den Usern vor, während und nach dem Raid wichtige Infos geben kann.

                            Die User benötigen dann noch:
                            - Profil inkl. Profilbild, Infos etc.
                            - Für Gildenleitung eine Detailansicht mit graphischer Darstellung der Raidaktivität, TS-Aktivität, Ingame-Aktivität, Durchschnittsaktivität
                            - Auszeichnungssystem mit Punktevergabe nach bestimmten Schema
                            - Graphischer Verlauf der Punktevergabe insgesamt, nach Bereich und für einzelne Auszeichnungen
                            - Charakterverwaltungssystem
                            - Gildenvergangenheit opt.

                            Zu den Charakteren benötigen diese dann noch:
                            - Standardbild oder eigenes
                            - Charaktername
                            - Rasse, Klasse
                            - Spezialisierung 1 & 2, sowie den jeweiligen GearScore zu beiden
                            - Beruf des Charakters
                            - Beitritt in die Gilde bzw ansonsten die aktuelle Gilde

                            Das ist jetzt nicht einmal der komplette Umfang.
                            Bisher fand ich das ganze prima als eigenes CMS umzusetzen.
                            Ich habe noch nie ein Plugin für Joomla o.ä. geschrieben und weiß deshalb auch nicht wie umfangreich es dort wäre, könnte mir aber vorstellen, dass es dort einige Probleme geben würde.


                            Zu October:
                            Ich hab es grade mal auf den Server geladne und bei der Installation musste ich feststellen, dass PHP nicht auf 5.4 min ist und MCrypt nicht installiert ist.
                            Wird mich ein wenig Zeit kosten das zu machen..

                            Kommentar


                            • #15
                              Das habe ich auch nicht geleugnet
                              Crashkurs zum Thema Rechtschreibung: [COLOR="Green"]normalerweise[/COLOR] ([COLOR="Red"]normaler weise[/COLOR] oder [COLOR="Red"]normaler weiße[/COLOR]), [COLOR="DarkGreen"]Standard[/COLOR] ([COLOR="Red"]Standart[/COLOR]), [COLOR="DarkGreen"]eben[/COLOR] ([COLOR="Red"]ebend[/COLOR])

                              Kommentar

                              Lädt...
                              X