Ich hatte bereits im Februar angekündigt, dass ich hier ein paar Artikel über SpringRoo schreiben würde, und nutze nun das Erscheinen des neuen Meilensteins um damit zu beginnen.
Die Idee
Vor ein paar Tagen ist endlich SpringRoo 1.2.0.M1 erschienen, welches der erste sog. Milestone der nächsten Version von SpringRoo ist. Das Besondere hieran ist die Unterstützung des Repository- oder auch DAO-Models, welches im Gegensatz zu dem sog. ActiveRecord-Model steht. Bisher verwendete SpringRoo zwingend das ActiveRecord-Model. Dank dieser Neuerung kann SpringRoo nun endlich in Kombination mit Spring Data JPA genutzt werden, was viele Vorteile und einige neue Möglichkeiten gerade im Bereich der Finder eröffnet.
pass::[more]
Mein Ziel ist anhand einer Beispiel-Anwendung/ Demo-App die Möglichkeiten von SpringRoo zu demonstrieren und Workarounds für bekannte Unschönheiten aufzuzeigen.
Auf Grund persönlicher Präferenzen wird die Demo-App eine serverbasierte Fotoverwaltung, die sowohl von mobilen Endgeräten als auch von Desktop-PCs genutzt werden kann. Als Feature sollen die mobilen Endgeräte Fotos und Videos an die Anwendung übermitteln können, so dass diese direkt für andere Nutzer verfügbar sind.
Anforderungen
Hier die bisherigen Anforderungen:
- Die Anwendung muss Fotos aus einem Dateisystemordner importieren können
- Die Anwendung muss während des Imports Minibilder/ Thumbnails der Originale erstellen, die eine maximale Kantenlänge von 250px haben
- Die Anwendung muss während des Imports Vorschaubilder/ Previews der Originale erstellen, die eine maximale Kantenlänge von 1280px haben
- Ein Foto hat folgende Eigenschaften
- Titel
- Beschreibung
- Thumbnail-Datei (Fotodatei)
- Vorschau-Datei (Fotodatei)
- Original-Datei (Fotodatei)
- Importdatum
- Erstellungsdatum
- Eine Fotodatei hat folgende Eigenschaften
- Dateisystemordner
- dateiname
- Breite
- Höhe
- Die Anwendung soll die EXIF-Daten eines Fotos anzeigen können
- Ein Foto muss keinem oder beliebig vielen Stichwörtern zugeordnet werden können
- Ein Foto muss keiner oder beliebig vielen Personen zugeordnet werden können, die auf dem Photo zu sehen sind
- Ein Foto muss keinem oder beliebig vielen Events zugeordnet werden können
- Ein Event hat folgende Eigenschaften
- Name
- Von-Datum
- Bis-Datum
- Fotos müssen anhand von folgenden UND-verknüpften Filterkriterien gesucht werden können
- Stichwörter (Suchfeld mit Vorschlagswerten)
- Personen (Suchfeld mit Vorschlagswerten)
- Events (Suchfeld mit Vorschlagswerten)
- Name des Dateisystemordners
- Titel des Fotos
- Erstellungsdatum in gewähltem Zeitraum
- Suchergebnislisten müssen eine eindeutige, wiederverwendbare URL haben
- Die Anwendung sollte einen Präsentations-/ Slideshow-Modus für Suchergebnislisten unterstützen, welcher die Vorschaubilder der Listeneinträge für jeweils 3 Sekunden anzeigt
Diese Anforderungen werde ich in folgende Schritte (und Blog-Posts) aufteilen:
- SpringRoo: Entity-Klassen und JPA-Repositories mit SpringRoo erstellen
- SpringRoo: Howto translate Java exceptions to user-friendly error messages (English)
- SpringRoo: Spring JS/ Dojo durch jQuery ersetzen
- SpringRoo: Standard-Auswahllisten in Textfelder mit dynamischen Vorschlagswerten umbauen
- SpringRoo: Excel-Download für alle Listen-Seiten mit minimalem Aufwand
- SpringRoo: Dynamische Finder mit Hilfe der JPA Criteria API
- SpringRoo: Standardwebseiten auf smartphone-kompatibles HTML5 aktualisieren
Weitere Ideen und Vorschläge können gerne als Kommentar gestellt werden.
Die Demo-App ist bei Github unter der Adresse https://github.com/aheusingfeld/photooapp verfügbar.
UPDATE 24.09.2011 23:00h:
- Anforderungen in Deutsch übersetzt
- Liste der geplanten Blogposts/ weiteren Schritte erstellt
Vielen Dank für Euer Feedback und Euer Interesse.
meine Frage wäre jetzt eher: Wie müssen die Eingabemasken angepasst werden, damit die Photo-Upload Möglichkeit per Web realisiert werden kann.? Wie sieht es mit User-Authentifizierung aus (Stichwort: Spring Security) ?