47
Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Embed Size (px)

Citation preview

Page 1: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Eine Projektarbeit von: Thorsten Stücke,Carsten Kammann,Frank Wellhausen

Page 2: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

- Aufgabenstellung- Zielsetzung: Was muss unser Programm enthalten- Die Bildergalerie

- Hauptbildansicht- Vorschaubilder- Steuerung- Kommentare

- Die Galerieverwaltung und Uploadfunktion- Galerien erstellen- Kommentare bearbeiten- Galerien entfernen

- Aspekt Sicherheit- nicht angemeldete Benutzer abweisen- angemeldete Benutzer auf Berechtigung prüfen- Abspann

- bekannte Fehler, Probleme- Lösungsansätze

- Verbesserungsvorschläge

- Tipps / Hinweise / Ratschläge

Page 3: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

- Das Erstellen einer Bildergalerie für das Projekt „Java News & Music“

- Die einzige Vorgabe:

- Größe des Darstellungsbereichs

- Offen gelassen wurde:

- Das Layout der Galerie

- Die Art der Programmierung (Servlet, Applet, JSP)

- Bestandteile der Galerie

Page 4: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Bildergalerie sollte unserer Vorstellung nach enthalten:

- Eine Großansicht des Bildes

- Eine Vorschauansicht von fünf Bildern- Ein Kommentar zu jedem Bild

- Eine Steuerung mit...

- Bild vor- und zurück Funktion

- Eine Direktauswahl

- der Möglichkeit per Klick auf die Voransicht das Vollbild zu bekommen- der Auswahl zwischen verschiedenen Galerien

- Eine Verwaltung für die Galerien

- einer nahezu von der Auflösung unabhängige Darstellung

Page 5: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Galerieverwaltung sollte folgende Funktionen beinhalten:

- Neue Galerien erstellen

- Kommentare bearbeiten

- Galerien löschen

Das alles ohne Verwendung von Windows Programmenwie Explorer oder Editor usw.

Page 6: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Kommentare

GrossbildansichtSteuerungsleisteVorschauansicht

Der Aufbau der Bildergalerie

Zu jedem Bild wird ein Kommentar angezeigt

Page 7: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Kommentare

GrossbildansichtSteuerungsleisteVorschauansicht

Der Aufbau der Bildergalerie

Das Bild wird in realer Größe dargestellt

Page 8: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Kommentare

GrossbildansichtSteuerungsleisteVorschauansicht

Der Aufbau der Bildergalerie

Der Benutzer kann zwischen Galerien und Bildern navigieren

Page 9: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Kommentare

GrossbildansichtSteuerungsleisteVorschauansicht

Der Aufbau der Bildergalerie

Fünf Bilder werden im Kleinformat als Vorschau dargestellt

Page 10: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Kommentare

- sind einzeilig

- wurden auf 50 Zeichen begrenzt

- werden in ...info.dat Dateien gespeichert[weitere Informationen dazu später]

Page 11: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Grossbildansicht

- Die Bilddimensionen werden ermittelt- Prüfung auf Hoch- oder Querformat- Anpassung ans Layout

- zu große Bilder werden verkleinert- passende Bilder werden in

Realgröße dargestellt

Page 12: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Steuerungsleiste

Galerieauswahl

Bildnummerauswahl

Bildvorschau

Grossbildansicht

Hier kann zwischen verschiedenen Galerien gewechselt werden

Page 13: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Steuerungsleiste

Galerieauswahl

Bildnummerauswahl

Bildvorschau

Grossbildansicht

Hier kann ein Bild nach seiner Nummer ausgewählt werden

Page 14: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Steuerungsleiste

Galerieauswahl

Bildnummerauswahl

Bildvorschau

Grossbildansicht

Dieser Button lässt die Vorschauansicht fünf Bilder weiter springen

Page 15: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Steuerungsleiste

Galerieauswahl

Bildnummerauswahl

Bildvorschau

Grossbildansicht

Dieser Button lässt die Grossbildansicht ein Bild weiter springen

Page 16: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Vorschauansicht

- Es werden fünf Bilder angezeigt- pro Bild steht ein Bereich von 80x80 Pixel zur Verfügung- Unterschieden wird zwischen Hoch-, Querformat und quadratischen Bildern- Hochformat:

- Höhe 78 Pixel, Breite 56 Pixel

- Querformat: - Höhe 56 Pixel, Breite 78 Pixel

- quadratische Bilder: - Höhe 78 Pixel, Breite 78 Pixel

Page 17: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Wozu diese Seite ?Die „galeryindex.jsp“ dient der Initialisierung der Seite „gallery.jsp“in Bezug auf :

- Ermittlung einer Startgalerie

- Ermittlung der browserspezifischen Anzeigebereiche in Bezug auf das Hauptframe. (in dem die Galerieseiten angezeigt werden.)

- Automatisch unter Verwendung von JavaScript- Elementen

- unter Verwendung von Formularen, falls JavaScript nicht aktiv sein sollte.

Page 18: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Das JavaScript:

Masse für Internet-Explorer:

Masse für nicht Internet-Explorer:

automatische Übermittlung

Page 19: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Schematischer Initialisierungsablauf:

initTyp

Seitenaufruf

“initialize“

else Defaultgalerieermitteln

JavaScript

Script:Masse ermitteln

Fromular:Masse auswählen

Masse alsParameter ?

nein

SubmitÜbergabe Masse

als Parameter

Masse der Sessionhinzufügen

Redirect gallery.jsp

Page 20: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Der technische Aufbau Browser: Opera

Ermittlung der min. Abmessungen, mitdem Browser von Opera da hier derAnzeigebereich am kleinsten ist.

492x472B x H:

Das Layout wird zum Teilneu errechnet:

30 20 25 86

feste Höhen:

errechnete Höhen:305

feste Positionen (links,oben):(1,1) (1,32) (1,53)

errechnete Positionen :(1,359)(1,385)

Alle Angaben in Pixel !

horizontaler, vertikaler Abstand: 1

Page 21: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Durchsuchen der Ordner nach Galerien- Grundordner aller Galerien ist „Galleries“

- Jede Galerie hat einen eigenen Ordner Beispiel: Bilder zur Galerie „Amerika“ liegen im Ordner „Galleries/Amerika“, d.h: Ordnername = Galeriename

- Bei jedem Aufruf der Site wird Ordner „Galleries“ nach vorhandenen Galerien durchsucht.

Page 22: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Durchsuchen der Galerien nach Bildern

- Wenn in einer Galerie Bilder gefunden werden, werden diese durchgezählt und fortlaufend durchnummeriert und in ein Array geschrieben

- Danach wird dann der Name des Bildes mit der zughörigen Galerie an die Klasse FileSeeker übergeben

Page 23: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Klasse FileSeeker- Das Bild wird über ein AWT Toolkit vollständig in den MediaTracker geladen- Danach können dann Höhe und Breite bestimmt werden

Page 24: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Bildimensionen erfassen

Bilddimensionsarray nimmt dieWerte:

- Breite, Höhe

und als Zusatzparameter- eine Prüfziffer für das Bildformat

ermitteln, ob es sich um ein - Hochformatbild - Querformatbild - quadratisches Bildhandelt

ob das Bild in realer Größedargestellt werden kannbzw. angepasst werden muß

Page 25: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Das Hauptbild

<head>

</head>

<body>

</body>

Zur Darstellung der Hauptbildes werden dieBildabmessungen im HTML-Kopf definiert.

Im Anschluß erfolgt die erste Anwendung der Prüfziffer:

Der Ausdruck: (dimens[p-1][2]-(dimens[p-1][2]%4)) ergibt für Werte >= 4 das Ergebnis 4 , sonst das Ergebnis 0

Page 26: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Navigationsleiste:

- ist auf eine maximale Breite von 500 Pixeln und

wurde auf eine minimale Breite von 200 Pixeln begrenzt.- ist über 5 festgesetzte Stufen „variabel“, nicht nötige Elemente werden entfernt.

bis 450 Pixel

bis 400 Pixel

Framebreite: Darstellung:

bis 350 Pixel

bis 300 Pixel

200 bis 250 Pixel

Die Steuerung erfolgt über Formulare, teilweise in Verbindung mit JavaScript

Das Formular ruft die Seite „Galerie.jsp“ selbst auf, die gewünschte Bildnummer und (oder) der Galerienamen werden als Parameter übergeben.

Page 27: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Select-Felder der Navigationsleiste

Rückblick : Durchsuchen von Ordnern !

Erneuter Zugriff auf das „ordner“- Array

Sollte das Array min. einen Eintrag enthalten, wird das „Selectfeld“ um die auszuwählenden Namen der Galerien ergänzt.

JavaScript:- onChange-Event Für den Fall das ein Element einen geänderten Wert erhalten hat- this.options[this.selectedIndex].value: Das aktuelle Formular, den Wert der aktuellen „Option“ ...

...an die Seite „gallery.jsp“ als Parameter Gallery übermitteln.

Page 28: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die VorschaubilderEs werden immer 5 „Bilder“ angezeigt.

Reicht die Anzahl der Bilder nicht aus um (weitere) 5 Bilder anzuzeigen,wird je fehlendes Bild ein „Dummi.gif“ als Platzhalter eingefügt.

Ein kleiner grafischer Effekt: - das aktuell angezeigte Hauptbild wird in der Vorschauleiste blau, die restlichen grau markiert

Page 29: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Berechnung: Navigationsvariablen

Es werden vier Basisvariablen zur Steuerung berechnet.

Die Berechnung erfolgt aufgrund desaktuell anzuzeigenden Bildes.

Berechnet werden Bildnummern für das- das nächste, vorherige Bild- das erste, letzte Vorschaubild

(Auszug)

Andere Bildnummern die zur Steuerungbenötigt werden können abgeleitet werden.

Zusätzlich behandelt werden müssen Grenzfälle wie:- erstes und letztes Bild der Galerie- erstes und letztes Bild der Vorschaubilder

Page 30: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Generierung der Vorschauleiste<head>

</head><body>

</body>

Page 31: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Allgemeines zur Galerieverwaltung

- Zur Galerieverwaltung kommt man über den Button „Edit“- Button „Edit“ erscheint nur, wenn Administrator angemeldet ist

- Nur Administrator hat Zugriff auf Galerieverwaltung-Der Admin hat die Optionen:

- Galerien erstellen - Galerien löschen

- Bilder hinzufügen - Kommentare

ändern

Page 32: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Erstellen einer neuen Galerie

- Das Hinzufügen einer neuen Galerie ist in Assistent Form gestaltet. - Assistent wird über Button „Hinzufügen“ aufgerufen

Page 33: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Bilderupload

- Bilder werden schrittweise hochgeladen.

- Upload erfolgt durch UploadBean ins Verzeichnis „UploadFiles“

- Bereits hochgeladene Bilder werden angezeigt, indem der Ordnerinhalt von „UploadFiles“ aufgelistet wird.

Das UploadBean wurde der Vollständigkeit halber insProgramm eingefügt. Genauere Informationen zum

Quellcode gibt es im Ordner „UploadDoku“

Page 34: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Bilderupload

- Letztendliche Sicherung im eigentlichen Galerieordner erfolgt nach Eingabe eines Galerienamens.- Wählt man einen schon bestehenden Galerienamen, wird das Bild der bestehenden Galerie hinzugefügt.- Wird der Assistent zwischendurch abgebrochen, bleiben bereits hochgeladene Bilder in der Liste erhalten. Ordner „UploadFiles“ wird erst nach vollständiger Fertigstellung des Assistenten geleert.

Page 35: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Galerieordner erstellen und Bilder kopieren- Ordner mit gleichem Namen wie Galerie wird

erstellt.- Bilder werden von „UploadFiles“ in neuen Ordner kopiert.

Page 36: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Kommentare bearbeiten

- Kommentare werden in einer Datei gespeichert.- der Name setzt sich zusammen aus:

- dem Namen der Galerie und - dem Textzusatz “info.dat“

Beispiel: Galeriename: Amerika Dateiname: Amerikainfo.dat

- Info.dat wird erst angelegt, sobald Kommentare zu Bildern geschrieben werden.

Page 37: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

- Kommentarbearbeitung erfolgt über Tabelle. Bildname Kommentar

- Der Kommentar ist einzeilig und kann maximal 50 Zeichen lang sein.

Kommentare bearbeiten

In Galerie enthalteneBilddateien

Kommentare der zugehörigen ...info.dat(wenn vorhanden)

Page 38: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Wenn keine Info.dat vorhanden...

- Kommentarzeile zeigt Meldung „Keine Info.dat vorhanden“

- folglich: Kommentare sind zum Betrieb der Galerie nicht zwingend erforderlich.

Page 39: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Geänderte Kommentare sichern

- Klick auf Button „sichern“ speichert Kommentare.- Info.dat wird jedesmal neu überschrieben.

- Dies geschieht durch FileWriter

Page 40: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Das Entfernen von Galerien

- Es können nur ganze Galerien gelöscht werden

- Löschung erfolgt in drei Schritten:

1. Löschen aller Bilddateien in dem Galerieordner 2. Löschen des Galerieordners

3. Löschen der Info.dat

Page 41: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Administration via Internet: Ja Sicherheit ?Spätestens an dieser Stelle muß man sich die Frage stellen,welchen Personen (Usern) ein Zugriff via Internet

- auf den Bereich der Galerieverwaltung - auf alle, spezielle Projektseiten

gewährt wird.

- Registrierte User haben Zugriff auf die Bildergalerie.

- Administratoren haben Zugriff auf das gesamte Projekt.- nicht registrierte bzw. nicht “angemeldete“ User werden mit Fehlerhinweis zur Anmeldeseite verwiesen.

Page 42: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Startseite ohne Login(

http://novix.ee.fh-lippe.de:8080/jnews/html/jnm_start.jsp)

Fehlerparameter: [Typ], [Ursprung]

Verweis auf index.jsp (Startseite des ges. Projektes)

Page 43: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Realisierung der Sicherheitsabfragen

- Loginname wird aus der Session ausgelesen

- Prüfung auf Loginname und Loginname = “Admin“

- Weiterleitung zur Seite “ErrorSwitch.jsp“ erfolgt, wenn kein Benutzer bzw. kein Admin angemeldet ist.

- ein Scriptlet auf unseren Projektseiten

Page 44: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Die Seite: ErrorSwitch.jsp

- dient als Fehlerverzweigung - kann leicht verändert bzw. ergänzt werden in Bezug auf:

- auszulösender Aktion

- Fehlertyp- Fehlerursprung

Page 45: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Probleme und bekannte Fehler

I. Die Acht:

Zum Ende der Projektphase fielen uns noch einige Fehler auf:

Acht Einträge im Ordner Galleries ... Keinen Kommentar

II. Galerien: beim Löschen einer (Default-) Galerie bei Anwesenheit v. Besuchern

Lsg. Vors.: noch keiner, Fehler trat zu kurzfristig auf

Lsg. Vors.: Folie 21, Ordner durchsuchen bzw. Ordnernamen ermitteln. Die Namen der aktuellen (Default-) Galerie sind bekannt.

Vergleich dieser Namen mit den ermittelten Ordnernamen ... Initialisierung ausführen ...

III. JavaScript:Die Ermittlung des Darstellungsbereiches bereitet unterInternet Explorer V6.0 Probleme. (nicht unter V5.0; V5.5)Fehlerbehebung derzeit: auf Fehlerwerte prüfen, geg. Ersetzen.

Lsg. Vors.: Darstellungsgröße bei Anmeldung ermitteln.

IV. CSS-V 2.0.: Wird in speziellen Fällen (Browser u. Anwendung) nicht ordentlich interpretiert. Lsg. Vors.: getrennte CSS- Dateien, je nach Browser-Typ (- Version), setzt eine Browserkennung voraus ...

Page 46: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Verbesserungsvorschläge:

I. Layout ist „Geschmackssache“: Wer will kann einen „Pagekonfigurator“ erstellen, in dem der Benutzer die Anordnung der 5 Galerieteilbereiche flexibel einstellen kann, in Bezug auf z.B. - die Reihenfolge der Galerieteilbereiche - die Ausrichtung dieser Teilbereiche (vertikal/ horizontal) - ... ...

II. einzelne Bilddateien löschen ...

V. Wir möchten betonen, das die Punkte I./II. mit den in diesem Projekt vorgestellten Technologien umgesetzt werden können !! Ausführliche Informationen finden sich in der Dokumentation, bzw. alternativ in den nahezu vollständig kommentierten Quelltexten.

III. „Zentrale“ CSS-Dateien, Browserspezifisch angepasst.

IV. „Zentrale“ JS-Dateien, Browserspezifisch angepasst.

Page 47: Eine Projektarbeit von: Thorsten Stücke, Carsten Kammann, Frank Wellhausen

Outro

Wir bedanken uns bei:

- den Projektleitern, welche uns jederzeit mit Rat zur Verfügung standen

- der Layoutgruppe für die Umsetzung einiger Wünsche hinsichtlich - Button‘s - Admin- Information in Session

Ihnen für die Aufmerksamkeit !