vBulletin Development Update: vBulletin 3.5.0
Hatten Sie auch das Gefühl, dass es um die weitere Entwicklung von vBulletin sehr still geworden ist? Das lag einfach daran, dass unsere Entwickler hart daran gearbeitet haben, vBulletin 3.5.0 mit all seinen neuen Features zu bestücken.
Ja, Sie haben richtig gelesen! Wir haben uns entschieden, diese Version '3.5.0' zu nennen und nicht '3.1.0', wie vielleicht zu erwarten gewesen wäre. Gründe dafür sind die fundamentalen Änderungen im Code, die die im Folgenden teils beschriebenen Features erst möglich machen.
Hooks und Plugins
Uns ist bewusst, dass für viele Kunden ein ausschlaggebender Faktor für die Entscheidung für vBulletin, die große Anzahl an Code-Modifikationen (Hacks) ist. Nachteil dieser Code-Modifikationen ist, dass durch den Einbau der Supportanspruch verloren geht, da wir Support nur für ein unverändertes vBulletin anbieten können.
Mit diesem Dilemma im Hinterkopf wurde ein Plugin-System entwickelt, dass es ermöglicht, Code-Modifikationen für vBulletin zu programmieren, ohne die PHP-Dateien von vBulletin ändern zu müssen. Somit kann weiterhin unser Support in Anspruch genommen werden und nach einem Upgrade von vBulletin ist es nicht mehr notwendig, Code-Modifikationen erneut einbauen zu müssen.
Zum jetzigen Zeitpunkt kann an über 400 Stellen im vBulletin-Code beliebiger Plugin-Code ausgeführt werden. Im Verlauf des Betatests hoffen wir, genügend Feedback von Hack-Autoren zu erhalten, um weitere Stellen im vBulletin-Code plugin-fähig zu machen. Ziel ist es, dass möglichst alle Hacks für vBulletin 3.5.0 umgeschrieben werden können.
Inline-Moderation
Ein Wunsch vieler vBulletin-Benutzer ist, dass die Verwaltung und Bearbeitung von Themen und Beiträgen komfortabler sein sollte. Daher wird mit vBulletin 3.5.0 ein neues Inline-Moderationssystem eingeführt.
Administratoren und Moderatoren können nun mit Themen und Beiträgen arbeiten, wo sie auch angezeigt werden. Das gilt sogar für Suchergebnisse!
Diese Aktionen können ausgeführt werden: Oben festhalten/Lösen, Öffnen/Schließen, Löschen/Wiederherstellen, Verschieben und Vereinen von Themen bzw. Beiträgen.

Wie oben erwähnt, kann direkt in der Themenansicht mit einzelnen Beiträgen gearbeitet werden. Einer oder mehrere Beiträge können entweder in ein anderes Thema verschoben werden, oder es kann mit ihnen ein neues Thema erstellt werden. Es können auch mehrere Beiträge zu einem Beitrag vereint werden und das Freischalten von zu moderierenden Beiträgen kann jetzt direkt in der Themenansicht geschehen.

Vereinfacht wird die Arbeit dadurch, dass all diese Funktionen auch über mehrere Seiten hinweg benutzbar sind. Werden also Beiträge auf einer Seite markiert und danach noch auf einer weiteren, können später alle markierten Beiträge z.B. gelöscht werden.
AJAX-Integration
Mit AJAX (Asynchronous Javascript and XML) ist es nicht nur möglich, blitzeblank zu putzen, nein, es können auch Daten vom und zum Webserver geschickt werden, ohne dass die aktuelle Seite neu geladen werden muss. Mit dieser Technologie können Entwickler interaktive Webanwendungen erstellen, die sich fast so verhalten, wie man es von Desktopprogrammen gewohnt ist.
Zwei Beispiele: In vBulletin 3.5.0 können Moderatoren in der Forenansicht einfach auf das Symbol vor einem Thema klicken, um das Thema zu schließen oder zu öffnen. Der Titel eines Themas kann z.B. geändert werden, indem Sie einfach doppelt auf die Tabellenzelle des Themas in der Forenansicht klicken. Denken Sie daran, dass bei keiner dieser Aktionen die Seite neu geladen oder eine andere Seite aufgerufen werden muss.
Floris (Moderator bei vBulletin.com) hat ein kurzes Video erstellt, das die Funktionsweise mit AJAX demonstriert:
http://files.vbulletin.com/3.5/ajax.html
Glücklicherweise ist es nicht allzu kompliziert, diese AJAX-Features in Ihren veränderten Templates verfügbar zu machen. In den meisten Fällen muss nur ein ID-Attribut zu wenigen Elementen in einem Template hinzugefügt werden. Zusammen mit der Veröffentlichung von vBulletin 3.5.0 werden wir Details nennen, was wo zu ändern ist. Bei unveränderten Templates werden die neuen Funktionen nach dem Upgrade natürlich gleich verfügbar sein.
Da neue AJAX-Features recht leicht und schnell zu entwickeln sind, werden wir sie in Zukunft an diversen weiteren Stellen in vBulletin hinzufügen, um die Bedienung noch komfortabler zu machen.
Daten-APIs (Daten-Manager)
Daten-Manager machen es Ihnen einfacher, Softwareprodukte von Drittanbietern mit vBulletin zu integrieren.
Es gibt jetzt zentrale Objekte, die als Interface benutzt werden können, wenn verschiedenste Daten in vBulletin gespeichert werden sollen. Die Behandlung von Fehlern und denormalisierten Tabellen erledigt das Daten-Manager-System automatisch.
Wenn Sie z.B. ein neues Thema oder einen neuen Beitrag speichern möchten, übergeben Sie die benötigten Daten einfach dem Daten-Manager. Dieser überprüft dann, ob alle Daten gültig sind (nicht zu lang/kurz, nicht zu viele Grafiken, etc.). Sollten Daten nicht gültig sein, versucht der Daten-Manager sein Bestes, einen gültigen Zustand zu erreichen.
Liegen alle benötigten Daten vor, werden sie vom Daten-Manager in der Datenbank gespeichert. Gleichzeitig werden die angezeigten Informationen (letzter Beitrag) aktualisiert, um den neuen Eintrag sichtbar zu machen.
Plugins können zusammen mit Daten-Managern benutzt werden, so dass vor oder nach dem Speichern weiterer Code ausgeführt werden kann.
Templatehistorie und -vergleich
Viele Kunden haben sich gewünscht, Templates zu bestimmten Zeitpunkten separat sichern zu können, damit es später möglich ist, veschiedene Versionen miteinander zu vergleichen.

Sie können allerdings die Templates nicht nur separat speichern, sondern sich auch einen Zeile-für-Zeile-Vergleich der Standard-Templates, Ihres geänderten oder früher gespeicherten Templates anzeigen lassen. Wenn Sie schonmal ein Dateivergleichs-Werkzeug benutzt haben oder durch ein CVS-Repository gebrowst sind, kommt Ihnen die Anzeige sicherlich bekannt vor. Falls nicht, sollte das nächste Bild die Funktionsweise veranschaulichen.

Datenbankbasiertes Markieren von gelesenen Themen und Foren
Endlich! Anstelle von Cookies und gespeicherten Zeitstempeln können Sie jetzt wahlweise in der Datenbank speichern lassen, welche Themen ein Benutzer schon gelesen hat und welche noch nicht.
Einzelne Themen werden erst dann als gelesen markiert, wenn der Benutzer sie auch wirklich gelesen hat. Zusätzlich ändert sich die Gelesen-/Ungelesen-Anzeige eines Forums sofort, wenn alle Themen gelesen sind.
Sollten Sie sich jedoch an das aktuelle System gewöhnt haben, müssen Sie die neue Variante nicht benutzen. Sie haben die Wahl.
MySQL-Volltextsuche
In den letzten Versionen von vBulletin 3.0.x war die MySQL-Volltextsuche nur als nicht unterstützte Technologievorschau verfügbar. Mit vBulletin 3.5.0 wird sie erstmals als ein neues Feature eingeführt.
vBulletin 3.5.0 unterstützt beide Suchtypen, die MySQL 4 anbietet: "Natürliche Sprache"- und Boolesche-Suche
Die Boolesche-Suche funktioniert sehr ähnlich der aktuellen Suche. Es werden Beiträge gesucht, die bestimmte Wörter (nicht) enthalten. Die "Natürliche Sprache"-Suche liefert nur möglichst relevante Treffer bezüglich den Suchworten zurück. Diese Art der Suche belastet den Server weniger, könnte aber nicht immer die gewünschten Ergebnisse liefern.
Sie können festlegen, welche Benutzer auf welchen Suchtyp zugreifen dürfen.
Zusätzliche Methoden zum Speichern von Datastore-Daten
Wenn Sie ein sehr großes Forum betreiben und eventuell verschiedene Web- und Datenbankserver einsetzen, kann die Verwendung dieses Features sehr hilfreich sein, um die Performance zu verbessern.
Bestimmte häufig genutzte Datastore-Daten (forumcache, stylecache, bbcodecache) können jetzt als Datei auf dem Server oder im Hauptspeicher abgelegt werden.
Dies ist eine gute Methode, um den Overhead beim Auslesen der Daten aus der Datenbank zu verkleinern, besonders, wenn der Datenbank- und Webserver physikalisch voneinander getrennt sind.
E-Mail-Versand über SMTP
Mit vBulletin 3.5.0 sind Sie nicht länger auf die mail()-Funktion von PHP beschränkt. Sie können jetzt zum Versenden von E-Mails einen eigenen SMTP-Server mit Benutzername und Kennwort angeben.
MySQLi-Unterstützung
Die Datenbankklasse von vBulletin 3.5.0 enthält nun auch eine Möglichkeit, die Verbesserte MySQL Erweiterung zu benutzen, wenn Sie das möchten.
Sourcecode PHPDoc-kompatibel dokumentiert
Noch nicht vollständig abgeschlossen ist die Aufgabe, alle Klassen und Funktionen von vBulletin mit PHPDoc-Kommentaren zu versehen.
Durch dieses bestimmte Kommentarformat können wir technische Dokumentationen sehr viel besser und vor allem automatisch erstellen lassen. Aber auch ohne erstellte Dokumentation, ist aufgrund der PHPDoc-Kommentare vor einer Klasse oder Funktion der Sourcecode sehr viel verständlicher, da immer beschrieben ist, welchen Sinn eine Klasse/Funktion hat und welche Ein- und Ausgabewerte existieren.
Beispiel:
Code:
/**
* Fetches an array containing info for the specified user, or false if user is not found
*
* Values for Option parameter:
* 1 - Join the reputationlevel table to get the user's reputation description
* 2 - Get avatar
* 4 - Process user's online location
* 8 - Join the customprofilpic table to get the userid just to check if we have a picture
* 16 - Join the administrator table to get various admin options
* Therefore: Option = 6 means 'Get avatar' and 'Process online location'
* See fetch_userinfo() in the do=getinfo section of member.php if you are still confused
*
* @param integer (ref) User ID
* @param integer Bitfield Option (see description)
*
* @return array The information for the requested user
*/
Weitere Änderungen
[list][*]Die Einträge im Moderator-Log werden in der Sprache des Benutzers angezeigt, der sich das Log ansieht. Das gilt nur für Einträge, die nach dem Upgrade erstellt wurden. Frühere Einträge bleiben in der Sprache des erstellenden Moderators.[*]Im Kontaktformular kann für Gäste eine grafische Sicherheitsüberprüfung erforderlich sein.[*]Die Anzeige der Forum-Mitarbeiter ist deaktivierbar. Getrennt davon ist die Anzeige der Moderatoren deaktivierbar.[*]Webkit-Unterstützung für die Farbauswahl unter "Styles verwalten".[*]ImageMagick 6 wird unterstützt. Diese Unterstützung ist noch in einer experimentellen Phase. Für die grafische Sicherheitsüberprüfung muss ImageMagick mit Freetype-Unterstützung kompiliert werden. Ghostscript ist unter Unix ebenfalls erforderlich (vermutlich).[*]Benutzer können Start- und Endzeit von Terminen festlegen.[*]Eigene Benutzer- und Profilbilder werden automatisch auf die maximale Größe reduziert (wenn möglich). Wenn Sie ImageMagick benutzen, können die Bilder auch von .BMP, .PSD und .TIFF konvertiert werden.[*]Statistiken können nach der Anzahl der Ergebnisse sortiert werden. Tage/Wochen/Monate ohne Einträge können ausgeblendet werden.[*]Profilbilder können ebenfalls im Dateisystem gespeichert werden. Wenn Sie Benutzerbilder im Dateisystem speichern, müssen Sie diese zurück in die Datenbank und dann wieder in das Dateisystem verschieben. Möchten Sie das nicht tun, müssen Ihre Benutzer die Profilbilder neu hochladen.[*]Für jeden Anhangstyp kann eingestellt werden, ob Miniaturansichten erstellt werden sollen.[*]Für jeden Anhangstyp kann eingestellt werden, ob der Anhang in einem neuen Fenster geöffnet wird.[*]Der NOSHUTDOWNFUNC Schalter kann jetzt über eine Einstellung unter "Servereinstellungen und Optimierungen" gesetzt werden.[*]Freizuschaltende Themen/Beiträge erhöhen nicht mehr die Beitragszahl der Benutzer, solange sie noch nicht freigeschaltet sind. Im Umkehrschluss wird die Beitragszahl reduziert, wenn ein Thema/Beitrag wieder freigeschaltet werden muss, um erneut sichtbar zu sein. Handelt es sich um ein Thema, werden alle Beitragszähler der teilnehmenden Benutzer in diesem Thema reduziert.[*]Sprachauswahl per Auswahlmenü unten auf jeder Seite (wie bei der Styleauswahl)[*]Das vB Code Tag [attach] kann benutzt werden, um direkt auf einen existierenden Anhang zu verweisen. Benutzung: [ attach ]attachmentid[ /attach ][*]Das vB Code Tag [noparse] kann benutzt werden, um zu verhindern, dass in einem bestimmten Textteil vB Code umgewandelt wird.[*]Umbrüche bei sehr langen Wörtern werden nicht mehr innerhalb von code/php/html vB Code Tags erzwungen.[*]Der vB Code Parser behebt automatisch eine schlechte Verschachtelung von vB Code Tags.[*]Beiträge von "Mein Freund Harvey"-Benutzern werden nun nicht mehr für alle Benutzer in der Spalte "Letzter Beitrag" angezeigt.[*]Native Unterstützung der MySQLi Erweiterung (für MySQL 4.1 und höher)[*]Anzeige von Suchmaschinen in "Wer ist online" kann über eine .xml Datei konfiguriert werden. Das erlaubt größere Freiheiten bei der Konfiguration.[*]Erinnerungen an Termine funktionieren inzwischen. Sie geben an, wie lange vor einem Termin Sie eine Erinnerung erhalten möchten und erhalten dann eine E-Mail, die Sie an den Termin erinnert.[*]Neue Einstellung für Benutzergruppen unter Foren-Rechte: Kann Themeninhalte sehen. Sie können Ihren Benutzern erlauben, die Thementitel zu sehen, aber nicht den eigentlich Inhalt der Themen.[/list]
[b]Das alles ist ja schön und gut...[/b]
...aber wann können Sie selbst die vielen neuen Features und Verbesserungen nutzen?
Unsere aktuelle Planung sieht vor, dass wir [b]nur die englische Beta-Version[/b] von vBulletin 3.5.0 zum Download anbieten werden. Dies wird vermutlich im Juni der Fall sein. Später reichen wir die übersetzten XML-Dateien nach. Die deutsche vBulletin 3.5.0 Version wird es allerdings erst als Gold-Version geben.
Wir hoffen, dass Sie nach dem Lesen dieses Updates genauso gespannt sind auf vBulletin 3.5.0, wie wir.
Anregungen und Anmerkungen können Sie uns [url=http://www.vbulletin-germany.com/forum/showthread.php?t=17132]in diesem Thema[/url] mitteilen.
Lesezeichen