Wie manche schon wissen bin ich seit meinem Eintritt bei RauteMusik.FM Leiter im Projekt VereinsVerwaltung. Um nochmal eine kurze Übersicht zu geben will ich erstmal erklären worum es geht. Jeder Moderator, DJ, Techniker, Redakteur usw. bei RauteMusik.FM ist Mitglied im Verein RauteMusik e.V. - und dieser muss ja auch irgendwie verwaltet werden. Um dies zu vereinfachen wurde ein System entwickelt in dem die Verwaltung alle Mitglieder eintragen kann. Dort bestehen dann diverse Möglichkeiten, unter anderem auch eine Übersicht wer wann seinen Mitgliedsbeitrag gezahlt hat. Dies macht es dann bei Mitgliederversammlungen einfacher zu sehen wer abstimmen darf und wer nicht. Continue reading “Vereinsverwaltung – Ein Rewrite”
Nov 24 2009
Galerie | Auf den letzten drücker …
Hallo liebe Leser und Leserinnen,
ich hoffe ihr habt euch von der CLUBATTACK am Wochenende erholt. Wir das #Musik.Technik Team waren leider nur sehr sperrlich auf der Party vertreten. Ihr kennt das sicher, während die anderen Feiern sind wir Entwickler fleißig gewesen.
Denn damit die Partybesucher, sich wieder ins Gedächnis rufen können, was sie von dem Abend nicht mehr wissen, war eine Bildergalerie geplant. Leider hat sich das sehr kurzfristig ergeben, um ehrlich zu sein hatten wir knapp 2 Wochen um eine komplette Galerie auf die Beine zu stellen.
Doch nichts desto trotz haben wir ein sehr schönes System auf die Beine gestellt. Es beinhaltet ein Upload Formular für die Partyshooter, ein Resizer für das Bilder Pageing und alles was man von einer Bildergalerie so erwartet. Und das ganze System haben wir “hacksch”, einem unseren neuen Trails zu verdanken. Das war echt eine Spitzenleistung, vielen Dank mein Lieber!
Für die kommenden Wochen und Partys planen wir noch eine Kommentarfunktion und das auslesen der EXIF-Daten aus den Bildern. Aber eins nach dem anderen.
So long…
Nov 14 2009
Ein Verein und die Verwaltung
Vereinsverwaltung leicht gemacht. Da RauteMusik ja ein Verein mit mehreren hundert Mitgliedern ist, muss dieser wie jeder andere auch verwaltet werden. Dazu entwickelt die Technik momentan ein Portal, welches es den zuständigen Personen leicht macht zu sehen wer noch seinen Mitgliedsbeitrag zahlen muss, oder auch wie lange er schon Mitglied ist.
Die Idee für solch ein System existiert schon länger, jedoch war bis jetzt leider keine Zeit für solch ein Projekt gewesen. Die Zeit für die Umsetzung kam, als mehrere neue Mitglieder der Technik beitraten und die Teamleitung wissen wollte was wir so können. Kurzerhand bekam ich die Anforderungen in die Hand und sollte dann mal loslegen. Dazu stand anfangs ein Entwickler zur Verfügung, welcher den Verein jedoch nach keiner Woche wieder verliess. Kurze Zeit später stiessen dann noch 2 andere Entwickler zu dem Team dazu, wobei sich auch hiervon einer wieder ausgetreten ist.
Aktuell ist das Projekt dem Release schon recht nahe, es fehlen lediglich noch ein paar Module. Dies wären z.B. ein Massenemailer, jedoch auch eine der Hauptfunktionen, nämlich das Anlegen und Löschen von Mitgliedern.
Das System basiert auf einem eigenen Framework, welches dem MVC-Prinzip (Model – View – Controller) folgt. Hier einmal das Interface, welches jedes Modul benötigt:
-
Interface Modul_Interface
-
{
-
public function init($args);
-
public function getSubPages();
-
public function hasDasboardModuls();
-
}
Als Template Engine wird Smarty 3 verwendet. Dies ist ein kompletter Rewrite von Smarty, welcher durch seine Performance und Funktionalität überzeugt.
Damit das ganze auch sicher ist, wurde beim Login nicht nur das typische “User->Passwort” System verwendet, sondern im Hintergrund laufen dabei auch noch andere Aktionen ab. Zusätzlich wurde das übernehmen von einer Session durch verschiedene Abläufe unterbunden. Die Datensätze werden ausserdem nur verschlüsselt gespeichert.
Jeder User des Systems ist unabhängig von den Vereinsmitgliedern und hat seine eigenen Rechte. So ist es Person “X” z.B. möglich neue Mitglieder hinzuzufügen, Person “Y” darf jedoch nur sagen, wer den Mitgliedsbeitrag bezahlt hat.
Ich hoffe, dass dieser kleine Einblick etwas mehr aus dem Leben eines Entwicklers bei RauteMusik zeigt, und vor allem auch dass wir uns in Richtung OOP bewegen.
Nov 01 2009
Neue Aufgabe für Bewerber
Hallo liebe Blog Freunde.
Viele von Euch verfolgen die Entwicklung von #Musik schon seit längerem und wer hat nicht daran gedacht ein Teil davon zu werden?! Wie es nunmal so ist müssen wir aber unsere Bewerber auch testen. Dafür haben wir nun eine neue Bewerberaufgabe erstellt. Über die Aufgabenstellung an sich werde ich euch nicht viel verraten, es soll ja noch eine Herausforderung bleiben
. Dennoch möchte ich euch einen kleinen Vorgeschmackt darauf geben was Euch erwarten wird.
Ihr sollt für uns keine Schnittstelle oder eine komplexe Anwendung programmieren. Es geht uns einfach um die Basics, die Ihr mitbringen solltet.
Ohne zuviel zu verraten…. Es geht bei der Aufgabe darum einen individuellen Text nach unseren Vorstellungen auszuwerden, zubearbeiten und wieder darzustellen. Im ersten Moment wird Euch die Aufgabe als sehr leicht erscheinen, aber sie hat es doch in sich. Lest Euch die Aufgabe sorgfälltig durch und macht euch vorher Gedanken darüber wie Ihr die verschiedenen Probleme angeht.
Eure Lösung sollte auf jedem aktuellen Apache/PHP System in der Standardkonfiguration und ohne zusätzliche Module lauffähig sein. Bei der Verarbeitung der Daten solltet Ihr auch auf die Sicherheit bedacht sein.
Also habt keine Hemmungen und bewerbt euch bei uns!
Viele Grüße
Hacksch
Psssst… kleiner Tip am Rande, übersichtlicher Code und Kommentare werden bei uns gerne gesehen
Okt 23 2009
RM-Toolbar finished
Hallo liebe Leser,
endlich ist es soweit und wir können mit voller Freude die neue Toolbar-Seite präsentieren.
In enger Zusammenarbeit mit dem RauteMusik Team, haben wir es endlich geschafft, die
Toolbar nach langer Entwicklungszeit zu Releasen. Besten Dank an nesQuick für seine Unterstützung.
Zu den Kernfeatures der Seite zählen:
- “Tell-a-Friend” Funktion
- Großansicht der Toolbar über nen schickes Ajax-Modal Window
- Absicherung der “Tell-a-Friend” Funktion über eine ReCaptcha „Wrapper“ Klasse
- Validierung der Post-Parameter über das Request/Response Pattern, sowie eine eigens geschriebene „Filter-Klasse“. Hoch Lebe OOP
Die ReCaptcha Wrapper-Klasse baut auf dem Source-Code von http://www.recaptcha.net/ auf. Die Funktionalitäten des ReCaptchas wurden hier in eine Klasse gekapselt um die Wiederverwendbarkeit und Erweiterbarkeit sicher zu stellen. Die beiden wichtigsten Methoden der Klasse sind „handleRequest“ welche die POST-Parameter auswertet, sowie die „getCaptcha“ welche wahlweise den Captcha-HTML-Code zurück oder per echo ausgibt. Der Konstruktor der Klasse benötigt zwei Parameter. Zum einen den Public-Key und zum anderen den Private- Key. Beide erhält man, wenn man sich auf http://www.recaptcha.net/ anmeldet und dort seine Domain registriert. Das Ganze ist natürlich Kostenfrei
Wie es so üblich ist im guten OOP-Stil werden natürlich entsprechend Exceptions von der Klasse geworfen, wenn etwas nicht stimmt.
Juuuu. Lange Rede, kurzer Sinn. Hier kommt die Schnittstellenbeschreibung der ReCaptcha-Wrapper Klasse
-
<?php
-
-
final class ReCaptcha {
-
-
private $publicKey = NULL;
-
private $privateKey = NULL;
-
-
private $captchaResponse = NULL;
-
private $captchaError = NULL;
-
private $captchaReady = false;
-
-
public function __construct($publicKey, $privateKey) {}
-
-
private function shutDown() {}
-
-
public function getError() {}
-
-
public function getPublicKey() {}
-
-
public function getPrivateKey() {}
-
-
public function handleRequest() {}
-
-
public function getCaptcha($return = false) {}
-
-
public function __destruct() {}
-
-
};
-
-
?>
