ilch Forum » Ilch CMS 2.x » Allgemein » Wo am besten (shared)-Libs platieren?

Geschlossen
  1. #1
    User Pic
    BadRandolph Mitglied
    Registriert seit
    31.05.2006
    Beiträge
    26
    Beitragswertungen
    8 Beitragspunkte
    Ahoi,

    vorweg: Vielen Dank für die viele Arbeit mit der Entwicklung von Ilch 2.0. Ich habe mir im Zuge der Neuentwicklung unserer Gildenhomepage einige CMS angesehen und war jedesmal erschreckt darüber, wie schlecht teilweise die Code-Qualität ist. Mit Ilch 2.0 wird in meinen Augen alles richtig gemacht (mit dem Code-Standard kann ich mich zwar nicht anfreunden, aber die OOP/MVC Verwendung ist super)!

    Nun zu meinem Anliegen:
    Ich entwickle gerade zwei Module, die mit der BattleNet API von Blizzard kommunizieren bzw. Daten über die selbige abrufen sollen (wenn alles sauber läuft werden die natürlich mit der Community geteilt :)). Nun weiß ich aber nicht, wo ich am besten Libraries platzieren soll? Ich schreibe eine Klasse, die die Kommunikation mit der BattleNet API ermöglicht.

    Die Default Modul Struktur besteht ja aus Controller, Models, Mapper... ich finde da keinen richtigen Platz.

    - Ich habe es schon im "libraries"-Ordner versucht, jedoch kann ich auf die dort platzierten Klassen (mit Namespaces abgegrenzt nach PSR Standard) nicht zugreifen bzw. der Autoloader (sofern vorhanden) findet sie nicht (hatte es in meinem Admin-Controller und im Admin-View versucht).

    - Im jeweiligen Modul-Verzeichnis wüsste ich nicht, wo ich die am besten hinstecken sollte sodass der mitgelieferte Autoloader sie findet.

    - Ich kann natürlich die Klassen irgendwo hinstecken und einen eigenen Autoloader mitliefern, würde jedoch gerne die vorhandene Infrastruktur nutzen falls möglich.

    Oder: Lassen sich über den "mitgelieferten" Autoloader weitere Namespaces registrieren (so wie beim PSR 4 beispiel Autolodaer)? Wenn ja, wie?

    Am besten wäre es, wenn es einen Ort gäbe, an dem ich meine Klassen einmal platziere und sie dann aus verschiedenen Modulen verwenden kann.

    Grüße,
    Tobi


    verwendete ilch Version: 2.0 (alpha)
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Pion Entwickler
    Registriert seit
    25.07.2007
    Beiträge
    872
    Beitragswertungen
    51 Beitragspunkte
    Hey,

    bin gerade mit Handy unterwegs :-D, aber ja der Lib-Ordner ist richtig da sollten externe Libaries rein.

    In der index.php kannst du auch einen Namespace mittels Loader Methode registrieren (sollten schon welche registriert sein).

    Generell scheinst du Ahnung zu haben, überleg dir mal ob du nicht etwas mitwirken willst zwinker
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    BadRandolph Mitglied
    Registriert seit
    31.05.2006
    Beiträge
    26
    Beitragswertungen
    8 Beitragspunkte
    Hallo Pion,

    vielen Dank für deine Antwort. Genau das war es, ich habe nun in der init-Methode des Admin-Controllers folgende Zeilen stehen:

    public function init() {
        $loader = new \Ilch\Loader();
        $loader->registNamespace('Hfm');
    }


    Nun werden meine Klassen die unter "application/libraries/Hfm" liegen zumindest schonmal geladen lächeln

    Zum Thema mitwirken:

    Dafür muss ich mich erstmal mit Github auseinandersetzen. Ich bin zwar hauptberuflich in dem Feld tätig, jedoch nicht in Teams wenn es um "Kern-Entwicklung" geht (hauptsächlich CMS Anwendungen), daher keine große VCS-Erfahrung.

    Kleinere Aufgaben könnte ich übernehmen sowie Tests und das eine oder andere Ticket schreiben (ich beabsichtige, Ilch 2.0 so früh wie möglich im Produktivbetrieb zu nutzen da es wie gesagt in meinen Augen sehr vielversprechend ist, sobald das Forum-Modul und mein Layout fertig ist werde ich unsere Seite live schalten), für mehr fehlt mir leider die Zeit traurig

    Ansonsten veröffentliche ich wie gesagt meine Module (hauptsächlich für World of Warcraft) wenn sie fertig sind, damit dürfte ich vielleicht wenigstens einen kleinen Teil zur Verbreitung von Ilch beitragen lächeln

    Grüße,
    Tobi
    3 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Sewomer Mitglied
    Registriert seit
    12.01.2007
    Beiträge
    410
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von BadRandolph
    Hallo Pion,

    vielen Dank für deine Antwort. Genau das war es, ich habe nun in der init-Methode des Admin-Controllers folgende Zeilen stehen:

    public function init() {
        $loader = new \Ilch\Loader();
        $loader->registNamespace('Hfm');
    }


    Nun werden meine Klassen die unter "application/libraries/Hfm" liegen zumindest schonmal geladen lächeln

    Zum Thema mitwirken:

    Dafür muss ich mich erstmal mit Github auseinandersetzen. Ich bin zwar hauptberuflich in dem Feld tätig, jedoch nicht in Teams wenn es um "Kern-Entwicklung" geht (hauptsächlich CMS Anwendungen), daher keine große VCS-Erfahrung.

    Kleinere Aufgaben könnte ich übernehmen sowie Tests und das eine oder andere Ticket schreiben (ich beabsichtige, Ilch 2.0 so früh wie möglich im Produktivbetrieb zu nutzen da es wie gesagt in meinen Augen sehr vielversprechend ist, sobald das Forum-Modul und mein Layout fertig ist werde ich unsere Seite live schalten), für mehr fehlt mir leider die Zeit traurig

    Ansonsten veröffentliche ich wie gesagt meine Module (hauptsächlich für World of Warcraft) wenn sie fertig sind, damit dürfte ich vielleicht wenigstens einen kleinen Teil zur Verbreitung von Ilch beitragen lächeln

    Grüße,
    Tobi



    Oh an WoW modulen wäre ich auch interessiert.... Meinst du schon welche für Ilch 2 oder für das erste Ilch?
    =====================================================
    EldaCraft.de | Reallife RPG Minecraft-Server
    =====================================================
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    BadRandolph Mitglied
    Registriert seit
    31.05.2006
    Beiträge
    26
    Beitragswertungen
    8 Beitragspunkte
    Hallo Sewomer,

    die Module sind für Ilch 2.0.

    Folgende sind geplant:

    - Anzeige der Gildenmitglieder ("Roster" bzw. "Memberliste")
    Da das Armory die Ränge nummerisch liefert (also 1-10) kann man im Backend eine Zuweisung vornehmen, wo man dann den Zahlen von Armory einen entsprechenden Titel zuordnen kann (1=Gildenmeister, 2=Offizier, 3=Member, 4=Twink usw)

    Das gibt es schon für Ilch 2 (Design sieht noch schlimm aus, aber die Funktion ist denke ich klar)





    -> Hier nochmal in schön, allerdings nicht für Ilch:


    - Evtl. Erweiterung: Statistische Auswertung nach Klassen, Rassen, Level, Rängen
    (wie viel % der Mitglieder sind Twinks, welche Klasse ist am häufigsten mit welchem Level vertreten usw). Das hilft, wenn man sich einen für die Gilde nützlichen Char erstellen will.

    - Automatischer Import von Gildenerfolgen
    Im Armory werden die Gildenerfolge regelmäßig ausgelesen und dann automatisch News in Ilch generiert

    - Begrüßung neuer Mitglieder
    Im Armory werden (wie oben) die Member ausgelesen und mit der letzten "Auslesung" verglichen. Wenn ein neuer hinzugekommen ist, gibt es eine Begrüßung in Form eines News-Artikels


    - Beglückwünschung zur Maximalstufe (100)
    Die Memberliste wird ausgelesen, wer die derzeitige Maximalstufe (über Backend konfigurierbar, vielleicht fällt mir noch ein leidlich intelligenter Algorithmus ein, mit dem das automatisch geht, z.B. über die Erfolge im Spiel) erreicht hat, bekommt eine automatische News spendiert

    Bei den automatischen News lässt sich der Text, die Überschrift und die Kategorie festlegen. Im Text und in der Überschrift lassen sich dann Variablen verwenden, z.B. mit Name, Klasse, Erfolgsname etc.


    Die beiden Funktionen habe ich schonmal für WordPress und unser altes Webspell realisiert:



    - Erweiterung für WYSIWYG-Editor:

    - BBCodes für Klassenfarben, Gegenstandsränge (selten, rar, episch), WoW Charakter, Gegenstände, Erfolge, Gilden, Serverstatus:

    [item=113642] wird dann z.B. zu

    Kristallgewobene Armschienen
    - Farbe: Lila (episch)
    - Link zu Armory (eu.battle.net/wow/de/item/113642/raid-heroic)
    - Tooltip: Das hängt aber von der Entwicklung von Darktip 2 ab (die aktuelle Version kann mit dem neuen Kontext (heroisch, mythisch, LFR, kriegsgeschmiedet etc.) nicht umgehen) (plus.google.com/109019720443407643481/posts)

    [character=lithia@eu.malfurion.wow]
    - Farbe: Weiß (Priester)
    - Link zu Armory
    - Tooltip (wie oben)

    oder
    [character name=lithia region=eu realm=malfurion]

    usw.

    - Box für Realmstatus
    - Box für Challenge Mode Leaderboard
    - Box für PvP

    Ich denke das ist selbsterklärend, mit PvP befasse ich mich nicht viel, mal sehen was die API hergibt

    - Box für Raidprogress
    Das lässt sich im Prinzip auch automatisieren. Leider kann der Raidprogress nicht per Gilde ausgelesen werden sondern nur per Charakter. Vielleicht geht es aber über die Gildenerfolge (muss aber immer für den aktuellen Content konfiguriert werden) oder komplett automatisch über die Charakter API: Wenn ein bestimmter Prozentsatz einen bestimmten Progress hat (z.B. 80% der Spieler mit Gildenrang 2 haben 3/10 down), wird das als Gildenprogress gewertet.

    Automatische Synchronisation Gildenrang -> Ilch Benutzergruppe
    Benutzer können ihre Chars im Profil festlegen. Der Admin (im besten Fall Gildenmeister oder Vertreter) kann die Zuordnung bestätigen. Fortan wird der höchste Gildenrang aller angegebenen Chars eines Benutzers automatisch der einer Ilch Benutzergruppe zugewiesen.
    Das bedeutet: Wenn im Spiel ein Spieler befördert wird erhält er automatisch mehr (Foren)Rechte auf der Homepage. Da muss ich aber die Entwicklung des Forums abwarten.

    Ursprünglich hätte das System sogar erkannt, wenn ein Char die Rasse oder den Namen ändert (das kommt bei uns recht häufig vor). Leider macht Blizzard mit den charakterübergreifenden Erfolgen mir da einen Strich durch die Rechnung (ich hätte eine Charakter ID, z.B. MD5 auf Basis der errungenen Erfolge bis zu einem bestimmten Datum generieren können, die für immer einmalig gewesen wäre). Damit ist es jedoch möglich, automatisch andere Charakter eines Spielers zu finden, mal sehen was sich da machen lässt.

    Denkbar: E-Mail oder PN, wenn ein Spieler die Gilde verlässt

    Was evtl. auch noch kommt: SKS
    Entwicklung eines SKS (Suicide Kings System), nachdem wir beabsichtigen, die Beute im Raid zu verteilen (Listensystem, kein DKP). Wir hatten schonmal SKS im Einsatz, dann jedoch eine längere Aktivitätspause. In der Zeit hat sich an der API vieles geändert, daher momentan nicht funktionsfähig.

    Nicht direkt WoW-bezogen

    - Automatische Twitch-Stream-Anzeige
    Wenn ein Twitch-Stream läuft (d.h. ein Benutzer streamt gerade auf einen Channel), wird ein Hinweis, wahlweise sogar direkt der Stream auf der Startseite angezeigt. Wenn gerade nichts läuft, ist davon nichts sichtbar.

    - Twitter Integration
    Wir benutzen Twitter zum informieren über Raidzeiten, Zeitänderungen, Fortschritte. Ich beabsichtige, Tweets automatisch zu News-Artikeln zu machen.

    Viele der o.g. Funktionen habe ich schon realisiert, allerdings noch für Wordpress bzw. eine Eigenentwicklung auf Basis eines Frameworks. Der Löwenanteil (=Forschungsarbeit) ist also schon erledigt.

    Trotz allem: Ich habe "nebenher" noch einen Job, eine Freundin und viele andere Dinge zu erledigen. Das oben geschriebene hört sich alles komplizierter an als es ist (aus Entwickler-Sicht), trotzdem muss es entwickelt und getestet werden. Ich kann weder sagen ob es jemals, noch wann es fertig wird.

    Was ich aber sagen kann: Ich halte Ilch 2 für die beste Plattform, um die Funktionen zu realisieren. Sauber strukturiert, MVC, Pluginfähigkeit. Ich habe mir einige andere CMS angeschaut (u.A. Wordpress, Webspell haben wir bisher verwendet), die alle durchgefallen sind. Wordpress vorallem wegen der andauernden Sicherheitslücken (die mir auch vom Job her bestens bekannt sind), Webspell vorallem wegen dem Spaghetti-Code-Ansatz (hatten Webspell lange im Einsatz, sehr viel Spam und aufgrund von Hack-Verdacht (Mail-Relay oder Spamserver) habe ich das offline genommen, wobei Wordpress beim Thema Spaghetti-Code auch ganz vorne mit dabei ist, vorallem bei den Themes).

    Daher warte ich jetzt gespannt auf den Fortschritt von Ilch 2. Forum-Funktion ist für uns essentiell (Planung Gildentreffen, Umfragen für Raids etc), daher kann ich unsere Seite leider nicht fertig machen, bevor nicht das Forum fertig ist (bitte nicht falsch verstehen: Das ist keine Drohung oder sonst was an die Ilch oder Forum-Entwickler. Ich mache das selbst alles in meiner Freizeit, ich weiß gut wie das ist so mit der Zeit) und bevor ich die Gildenmitglieder nicht auf die Module losgelassen habe möchte ich die auch nicht zum Download bereitstellen.

    Grüße,
    Tobi


    Zuletzt modifiziert von BadRandolph am 18.07.2015 - 11:43:23
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Fleyy Mitglied
    Registriert seit
    20.04.2015
    Beiträge
    54
    Beitragswertungen
    1 Beitragspunkte
    Sehr geiles Modul!
    Ich bin echt auf die fertige Version gespannt.
    Dies würde das Ilch 2.0 CMS sehr attraktiv für WoW-Gilden machen.


    Zuletzt modifiziert von Fleyy am 02.09.2015 - 01:51:11
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten