ict-sh.ch
IPA Summaries
IPA Summaries Archiv 2016 – Informatik

Gehring Benjamin

Neuentwicklung internes Pflegetool für Artikel/Katalog Daten IVF Hartmann AG

Durchführung: 01.02.2016 bis 24.03.2016

Umfeld
Für die Artikel im Webshop der IVF Hartmann wird ein eigens programmiertes Pflegetool eingesetzt, welches es erlaubt Name, Beschreibungstext, Bild, etc. zu bearbeiten und im Webshop darstellen zu lassen. Mit der Umstellung des Onlineshops Ende 2014 hat sich die Darstellung der Artikelinformationen geändert. Das Pflegetool wurde bisher nicht den neuen Gegebenheiten angepasst und soll im Rahmen der IPA neu implementiert werden. Entsprechend muss auch die technische Basis den neuen Standards in der IVF gerecht werden. Das Tool kann die Texte in den Sprachen Deutsch, Französisch und Italienisch bearbeiten.

Ziel
Ziel dieser Arbeit ist es, das Pflegetool neu zu entwickeln und dem Onlineshop anzupassen. Die GUI soll benutzerfreundlicher und die technische Basis modernisiert werden.

Struktur & Funktionen
Die Artikel im Webshop unterliegen zwei speziellen Strukturmöglichkeiten, welche im Pflegetool beibehalten werden müssen:

Produktgruppen => Subgruppen => Produkte => Artikel
Produktgruppen => Subgruppen => Produkte => Artikelgruppen => Artikel


Es gilt demnach folgende Funktionalitäten zu implementieren:
- Login mit AD Authentifizierung
- Pflege Produktgruppen
- Pflege Subgruppen
- Pflege Produkte
- Pflege Artikelgruppen
- Pflege Artikel
- Sortierfunktion
- Suchfunktion

Umsetzung
Als technische Basis fungiert das MVC Framework Symfony. Dies erlaubt eine einfache Schichtentrennung in Model View und Controller. In den Views wird die Darstellung des Projektes implementiert, während die Controller für die Programmlogik verantwortlich sind. Im Model wird das Datenmodell abgebildet und funktioniert als Schnittstelle zwischen Applikation und Datenbank. Das MVC erlaubt auch eine einfache modulare Aufbauweise, in welcher die einzelnen Teilbereiche zusammen das Tool ergeben sollen. Symfony wird verwendet, da dieses Framework bereits bekannt ist und damit schon mehrfach gearbeitet wurde.

Das Design wurde Layout technisch und farblich dem Onlineshop angepasst. Zur Bedienbarkeit gilt der Grundsatz je einfacher, desto besser. Dementsprechend sind auch alle Strukturebenen ähnlich aufgebaut.
Für das Bearbeiten der Einträge wurde ein Pop-up erstellt, welches die geforderten Textfelder anzeigt. Beim Anlegen eines neuen Eintrags wird dasselbe Pop-up verwendet, allerdings mit leeren Feldern. Die Speicherfunktion ist über Repositorys realisiert, welche die SQL-Abfragen beinhalten. Die meisten Daten liegen in Textform vor und müssen nur in die Tabellen der Datenbank eingefügt werden.
Eine Herausforderung stellte allerdings das Einfügen von einem bzw. zwei Bildern dar sowie die Zuweisung der Gruppen und Artikel. Falls z.B. ein Produkt bereits eine Artikelgruppe besitzt, darf diesem kein Artikel mehr zugewiesen werden. Im Pflegetool werden dazu die Primärschlüssel zusammen verglichen und falls eine Artikelgruppe denselben Schlüssel eines Produktes bereits besitzt, welchem ein Artikel zugewiesen werden sollte, erscheint eine Fehlermeldung.
Beim Bild muss in der Programmlogik ein Pfad generiert werden, der es erlaubt das Bild nachher auf der Website korrekt darstellen zu lassen. Dieser wird aus der MMS Nummer erstellt, welche der Benutzer eingeben muss. Bei den Produkten und Artikelgruppen ist es möglich zwei Bilder auszuwählen. Das zweite Bild wurde mit den Flag 'PICTO' versehen und kann dadurch identifiziert werden.

Für die Löschfunktion ist ein ähnlicher Vorgang implementiert wie bei der Zuweisung. Es dürfen keine Gruppen gelöscht werden, die noch Untergruppen besitzen. Dementsprechend werden die Fremdschlüssel der Untergruppen mit den Primärschlüsseln der übergeordneten Einträge verglichen und falls eine Übereinstimmigkeit gefunden wird, erscheint eine Fehlermeldung.

Bei der Suche wurde wiederum eine Abfrage innerhalb einer Repository erstellt, welche die Suchbegriffe (Artikelnummer, Beschreibung, EAN, Produkt, Artikelgruppe) abfragt. Die gefundenen Artikel sind mit Links hinterlegt, die den Benutzer mit Klick auf einen gefundenen Eintrag direkt zur entsprechenden Artikelseite weiterleitet. Falls keine oder falsche Informationen in die Suchfelder eingetragen werden, erscheint eine Meldung, die den User darauf hinweist.

Ergebnis
Das Tool wurde durch diverse Tests geprüft und läuft soweit fehlerfrei und stabil. Alle gewünschten Funktionen sind implementiert, mit Ausnahme der Sortierfunktion, welche aus Zeitgründen nicht mehr realisierbar war.

Ein WordPress-Plugin der Ivaris AG