MyBB 2.0 Entwicklung #2

Veröffentlicht am 14.04.2015 von StefanT in MyBB

Es ist an der Zeit für einen neuen Artikel über die Entwicklung von MyBB 2.0. Die Version 2.0 ist die lang erwartete, bevorstehende Hauptaktualisierung der Open-Source Forensoftware MyBB, die sich derzeit in einem frühen Entwicklungsstadium befindet. Wir werden regelmäßig (versprochen!) Aktualisierungen zur Entwicklung veröffentlichen um euch auf dem neuesten Stand zu halten. Das Entwickler-Team hat seit dem letzten Artikel viel Zeit in das Hinzufügen von neuen Funktionen und das Aufpolieren der vorhandenen Features investiert. Dieser zweite Blog-Eintrag soll einige dieser neuen Funktionen beleuchten und das Entwicklungskonzept des neuen Systems vorstellen.

Einige Hintergrundinformationen


Wie im letzten Eintrag angekündigt wird MyBB 2.0 mit dem Framework Laravel 5 entwickelt und verwendet den Template-Engine Twig. Dieses Mal wollen wir näher auf die Entwicklungs-Standards und -Techniken eingehen um Drittentwickler vorzubereiten. Mit MyBB 2.0 folgen wir dem PSR-2 Programmierstil; die bisherigen Regeln der 1.x-Serie werden aufgegeben. Dies bedeutet, dass nun ein verbreiteten Standard bei MyBB 2.0 angewendet wird, dem auch viele andere moderne PHP-Anwendungen folgen, sodass der Wechsel zwischen verschiedenen Plattformen einfacher fällt. Außerdem folgt MyBB 2.0 dem PSR-4 Autoloading Standard und verwendet Composer um externe Bibliotheken und Abhängigkeiten zu verwalten. Beides sind weit verbreitete Standards und Werkzeuge, die für die Entwicklung moderner PHP-Anwendungen benutzt werden, und einen noch einfacheren Zugang zum Erstellen von Erweiterungen und Modifikationen für MyBB eröffnen.
Bei der Entwicklung wurden einige Kernkomponenten des MyBB in separate Pakete unterteilt. Damit ist es möglich diese Kernkomponenten, die bisher eng an den MyBB-Code gekoppelt waren, einfach in anderen Projekten zu nutzen. Bisher wurden ein eigenständiges Paket für das Parsen von BBCode zu HTML (und die Filterung des erstellten HTML-Codes) sowie für das Verwalten der Einstellungen erstellt. Im weiteren Verlauf werden weitere Kernkomponenten in wiederverwendbare Pakete gekapselt und öffentlich zur Verfügung gestellt. All diese Pakete werden Unit-Tests und eine Dokumentation erhalten und innerhalb jedes auf Composer basierenden Projekts installiert werden können. Dies bedeutet, dass auf dem MyBB aufbauende Projekte gründlich getestete Kernkomponenten für ihre Foren-Plattform verwenden können, die wir als solide Basis zur Verfügung stellen. In zukünftige Artikel werden wird genauer auf diese Pakete eingehen und die Paket-Struktur und die Funktionen, die sie bereitstellen, näher erläutern. Nächsten Monat werden wir mit einem Blick auf das Einstellungs-Paket starten, das sowohl globale Foreneinstellung als auch benutzerspezifische Einstellungen bereitstellt.

Nun ein schneller Blick auf einige neue Funktionen


Für alle, die es bis hierhin geschafft haben, kommt nun das, auf was ihr bestimmt am meisten gespannt seid — Screenshots! In diesem Absatz werden wir auf einige der am häufigsten gewünschten Funktionen, die mit MyBB 2.0 umgesetzt werden, und das neue Aussehen bekannter Funktionen schauen.

„Gefällt mir“
Die Möglichkeit Inhalte, die einem gefallen, zu markieren, ist eine lang erwartete Funktion des MyBBs; was sich nicht nur durch die große Anzahl an Plugins zu diesem Zweck zeigt. Wir freuen uns diese Funktionalität mit MyBB 2.0 bieten zu können. Bei der Aktualisierung von MyBB 1.x werden vorhandene Bewertungs-Punkte für Beiträge in „Likes“ umgewandelt.

Gefällt mir

Für Entwickler ist es sehr einfach die Möglichkeit Inhalte zu „liken“ im eigenen Code zu nutzen. Das bedeutet, dass auch in Systemen von Drittanbietern wie Bilder-Galerien mit nur wenige Code-Zeilen Inhalte mit „gefällt mir“ markiert werden können:
<?php

namespace MyBB\Core\Database\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use MyBB\Core\Likes\Traits\LikeableTrait;

class Post extends Model implements HasPresenter
{
use LikeableTrait;

// The rest of your database model implementation code goes here...
}
Dadurch wird diese Funktion auch in Drittanwendungen und Erweiterungen sehr beliebt sein. Dieser Ansatz für einfache Erweiter- und Anpassbarkeit wird im gesamten MyBB umgesetzt und soll für die gesamte Lebenszeit von MyBB 2.0 bestehen bleiben.

Mitgliederliste
Wie das gesamte Design von MyBB 2.0 wurde auch die alte Mitgliederliste überarbeitet. Anstatt der tabellarischen Liste, die nur wenige Details zeigte, werden Mitglieder mit Avatar und persönlichen Informationen übersichtlich dargestellt:

Mitgliederliste von MyBB 2.0


Forenanzeige
Was ist eine Foren-System ohne Foren? Mit MyBB 2.0 hat die Forenansicht eine leichte Überarbeitung erfahren und häufig vorgeschlagene Funktionen wie die Anzeige des Avatars des letzten Posters eines Themas wurden integriert. Das Konzept bietet einen minimalistischen Ansatz um den Inhalte in den Vordergrund zu stellen. Dies ist auch der Grund, warum nur wenige Informationen vorhanden sind - wir wollen nur das zeigen, was die Aufmerksamkeit des Benutzers auf sich lenken soll.

Forenanzeige von MyBB 2.0

Zum Abschluss


Dies war der monatliche Bericht zur Entwicklung von MyBB 2.0. Wie ihr hoffentlich sehen könnt, hat das Team hart gearbeitet und auf eure Kommentare und Anmerkungen reagiert. Natürlich gibt es noch viel mehr anzukündigen und zu zeigen; haltet hier also nach neuen Artikeln Ausschau.

Quelle: 2.0 dev post #2 von Euan T.