Lösung bzw. IT-Dienstleistung zur Erstellung eines Medien-Portals gesucht

Suche / Ausschreibung von: IT-Dienstleister (sucht für einen Kunden)Projekt Nr. 19/1699: beendet
IT-Dienstleister gesucht?

Wir sind ein süddeutscher IT-Dienstleister der zurzeit und auch in absehbarer Zeit keine Kapazitäten frei hat, um dieses Projekt selbst zu realisieren. Von unserem Know-how und Leistungsportfolio her wäre dies für uns aber generell möglich. Deshalb, aus diesem Grund suchen wir für einen Kunden nach einem geeigneten IT-Dienstleister zur Erstellung bzw. Entwicklung eines Medien-Portals zum Verwalten von Bild-, Audio- und Videodateien.

Folgende Anforderungen sollte das zu entwickelnde Medien-Portal erfüllen:

Das System muss mandantenfähig sein.

Wir benötigen für einen Kunden ein MediaPortal, um Bild-, Audio-, und Videodateien verwalten zu können. Das System muss auf Basis von Microsoft .NET webbasiert sein (ASP.NET). Verfügbare OpenSource-Lösungen sind nicht vorhanden oder kostenpflichtige Lösungen zu teuer für den Einsatz. Aus diesem Grund hat man sich dazu entschieden eine eigenständige Lösung zu entwickeln.

Da das System sich hauptsächlich mit hochwertigen Medien unterschiedlicher Art beschäftigt, muss auf eine entsprechende optische Umsetzung geachtet werden. Die Qualität der Optik muss einem gängigen Video-/ MediaPortal entsprechen.

Es muss auf eine entsprechende responsive Umsetzung geachtet werden (Tablet und Smartphone), da das System auch auf mobilen Endgeräten nutzbar sein muss.

Von der (Neu-)Konzeption erwartet sich der Kunde im wesentlichen folgende, positive Effekte:

  • Plattformunabhängig
    Das Portal soll von allen gängigen Endgeräten und Betriebssystemen genutzt werden können.
  • Verwaltung von Media-Dateien
    Das System soll standortunabhängig die Möglichkeit schaffen, Media-Dateien wie Bilder, Videos und Audio-Dateien zu verwalten.
  • Große Datenmengen
    Es werden große Datenmengen verwaltet (ca. 15 TB)

Der Technische Aufbau des Portals umfasst folgende Komponenten:

1. Microsoft Dot Net Framework 4.7 (.NET)
Hierbei handelt es sich um die MS Windowsseitige Implementierung aller für MS Windows und ASP.NET basierte Anwendungen, benötigten Funktionen und Schnittstellen. Dieses ist derzeit in der Version 4.7.2 sehr ausgreift und beinhaltet leistungsfähige Komponenten für die Applikationen. Darunter zählen z.B. Datenbankzugriffsmechanismen, Zugriffe auf Windowskomponenten und Zugriffsmechanismen auf Dateien und andere Ressourcen.

2. MySQL-Datenbank / Maria DB (MS Windows)
Als Datenbank-Engine soll die Open Source Lösung MySQL bzw. Maria DB in einer aktuellen Version zum Einsatz kommen. Die Datenbank wird auf einem MS Windows-Server betrieben.

3. Webbasierte Anwendung (ASP.NET, JavaScript, Bootstrap 4.x)
Jede Anwendung benötigt eine Schnittstelle zwischen Benutzer und Computer. Hier kommt das Benutzerinterface ins Spiel. Hier gibt es viele verschiedene Möglichkeiten und Ansätze. Im Bereich der Windowsanwendungen kommen hauptsächlich Anwendungen auf Basis von Microsoft WinForms oder webbasierte Anwendungen zum Einsatz. Für die hier angedachte Lösung haben wir eine rein webbasierte Variante festgelegt, da die Zugriffe auf das System externe Benutzer aus dem Internet erfolgt. Als Basis dazu dient das weit verbreitete Bootstrap Template in der Version 4.x. Dieses zeichnet sich durch moderne und zukunftsweisende Darstellungsmöglichkeiten aus und ist zudem auch für den Einsatz auf mobilen Endgeräten optimiert. Das Bootstrap Template besteht im wesentlichen aus einer CSS Datei (Cascading Style Sheets) und zwei JavaScript-Dateien. Auf Serverseite kommt ASP.NET zum Einsatz.

Webbasierte Anwendungen: Microsoft ASP.NET in Verbindung mit JavaScript, Plattformunabhängig und auf allen Betriebssystemen mit Internetzugang und grafischen Internetbrowser lauffähig (Linux, Mac, Smartphones und Tablets).

4. Benutzerinterface
Das Benutzerinterface teilt sich auf in Navigation, Funktionsbereich, Statusbereich und Inhaltsbereich auf. Die Anordnung der einzelnen Bereiche sehen Sie in der Abbildung gem. Lastenheft.

  • Navigation
    Im Bereich der Navigation befinden sich die einzelne Datenkomponenten der Anwendung. Dieses ist in einer hierarchischen Struktur aufgebaut und gruppiert logisch zusammenhängende Elemente miteinander.
  • Funktionsbereich
    Im Funktionsbereich befinden sich alle Funktionen der Anwendung. Darunter fallen z.B. alle Aktivitäten die mit dem Speichern, Löschen, Drucken oder Verändern von Daten zu tun haben. Zudem befindet sich in diesem Bereich ein Feld zur Suche im aktuell angezeigten Element.
  • Inhaltsbereich
    Im Inhaltsbereich werden die unterschiedlichen Datentypen und Ansichten dargestellt. Man unterscheidet immer zwischen Listen-Ansichten und Detail-Ansichten.
    Die Anwendung unterstützt das Arbeiten in mehreren Browsertabs und Fenstern.
  • Listenansichten
    In den Listenansichten wird immer eine Liste von Datensätzen angezeigt. Die Listenansichten beinhalten zahlreiche Funktionen zum Sortieren, Gruppieren, Suchen und Ordnen der angezeigten Daten. Zudem kann man sich über die Spaltenauswahl nicht benötigte Spalten ausblenden, bzw. einblenden. Damit lässt sich die Ansicht immer den persönlichen Erfordernissen des Benutzers zielgerichtet einstellen. Die Einstellungen werden Benutzerbezogen gespeichert.
  • Sortieren
    Durch einen Klick in die Spaltenüberschrift lässt sich nach dem Inhalt der Spalte in absteigender oder aufsteigender Sortierung sortieren.
  • Gruppieren
    Mit der Gruppierfunktion lässt sich die Listenansicht und logische Gruppen einteilen. Die Gruppierung kann mit einer oder mehreren beliebigen Spalten erfolgen. Dies fördert die Übersichtlichkeit und lässt bereits einige individuelle Auswertungen zu.
  • Suchen
    Wie zu Beginn des Kapitels bereits angedeutet, gibt es eine globale Suchfunktion. Dazu befindet sich im Funktionsbereich ein Textfeld, in welches man einen Suchbegriff eingeben kann. Die Suche bezieht sich bei den Listenansichten immer auf den Datentyp, der gerade dargestellt wird. Die Suche findet immer in den gerade sichtbaren Spalten der Listenansicht statt. Zudem lässt sich auf Spaltenebene eine Filterzeile einblenden. Mit dieser ist es möglich eine Suche in einer bestimmten Spalte durchzuführen. Über das Spaltenmenü kann man, wie man es von MS Excel gewohnt ist, zusätzlich eine Suche bzw. Filterung der Daten vornehmen aufgrund der in der Spalte vorkommenden Einträge.
  • Exportieren
    Jede Listenansicht kann in verschiedene Dateiformate exportiert werden. Darunter zählen v.a. MS Excel, .csv- und .txt-Verbindung mit MS Excel ergeben sich dabei zahlreiche weitere Möglichkeiten Daten zu extrahieren, aufzubereiten und auszuwerten.
  • Detailansicht
    Durch einen Klick auf einen Datensatz kann der Datensatz in der Detailansicht zum Betrachten oder Bearbeiten angezeigt werden. In der Detailansicht wird immer ein Datensatz angezeigt. In der Detailansicht werden die Informationen in logischen Gruppen mit Rahmen oder Tabs dargestellt. Jede Detailansicht beinhaltet Funktionen zum speichern, aktualisieren, löschen und bearbeiten von Daten. In einzelnen Fällen gibt es zusätzliche Funktionen, die speziell für den Datentyp erstellt wurden. Untergeordnete Datensätze zu einer Detailansicht werden in sogenannten Reitern unterhalb der Detailansicht dargestellt.

5. Businessobjekte

Die einzelnen Datenobjekte werde als Businessobjekte bezeichnet. Jedes Businessobjekt beinhaltet eine Datenstruktur bestehend aus einer Tabelle und Feldern in der Tabelle. Zudem werden Regeln und Einschränkungen (Foreign key constraint) definiert die angeben wie Datenobjekte untereinander verknüpft sind. Jedes Businessobjekt besteht im Client i.d.R. immer aus einer Listenansicht und einer Detailansicht. Zudem können zu den Businessobjekten Funktionen definiert und hinzugefügt werden.

Diese Funktionen sind dann abhängig von Ihrer Funktion in der Listen- und Detailansicht im Funktionsbereich verfügbar. Berichte bzw. Ausdrucke haben meist immer einen Bezug zu einem Businessobjekt und lassen sich dann über das jeweilige Objekt ansteuern. Auf die Berichte und Funktionen und evtl. vorhandene Besonderheiten wird in den einzelnen Businessobjekten einzeln eingegangen, wenn notwendig bzw. vorhanden. Jedes Businessobjekt verfügt über ein Set an Standardfunktionen die in allen Objekten vorhanden sind.

Dazu zählen folgende Funktionen:

  • Speichern
    speichert den aktuellen Datensatz
  • Speichern und Schließen
    speichert den aktuellen Datensatz und schließt die Detailansicht
  • Speichern und Neu
    speichert den aktuellen Datensatz und erstellt einen neuen Datensatz
  • Aktualisieren
    aktualisiert die aktuelle Detailansicht
  • Abbrechen
    Veränderungen im Datensatz werden verworfen
  • Vorheriger und nächster Datensatz
    navigiert zum vorherigen oder nächsten Datensatz
  • Volltextsuche
    führt eine Volltextsuche in der Listenansicht durch und zeigt alle Datensätze, die auf den Suchbegriff passen


a) Stammdaten
Unter Stammdaten versteht man Daten, die in den verschiedenen Bereichen der Anwendung benötigt werden. Dazu zählen z.B. Anreden, Länder, Bezirke usw.
Stammdaten haben in der Regel eine einfache Datenstruktur, keine Berichte und auch keine Funktionen.

Die Strukturvorgaben und Relationen für die Anrede, Media, Kategorien, Mandanten, Tags und Geschlechter sind bitte aus dem Lastenheft zu entnehmen.

b) Konstanten
Unter Konstanten versteht man feststehende Begrifflichkeiten die in der Anwendung nicht geändert werden können. Diese Art von Daten wird i.d.R. dann verwendet, wenn eine Erweiterung der Daten nicht notwendig ist, und/oder der Wert eine Konstante für Funktionen und Prozesse von elementarem Bestandteil ist. Bei einer Konstante handelt es sich immer um eine Paarung aus ID und Bezeichnung. Die ID ist eine eindeutige Ganzzahl welche in der Datenbank gespeichert wird. Die Bezeichnung der Konstante wird im Benutzerinterface ausgegeben und dient zum besseren Verständnis. Technisch werden die Konstanten als Enumerationen in der Anwendung hinterlegt.

c) Administration
Im Bereich der Administration sind alle Objekte, Funktionen und Informationen enthalten die ausschließlich einem Administrator zur Verfügung stehen.

d) Benutzer
In diesem Datenobjekt werden die Benutzer für das Portal gespeichert. Nähere Angaben entnehmen Sie bitte aus dem Lastenheft.

e) Mediatypen
Jedes Media wird einem bestimmten Medientyp zugeordnet. Damit soll später das Darstellungsverhalten in der Ansicht gesteuert werden. So sind Videos oder Audiodateien anders zu behandeln als Bilddateien. Gleichzeitig soll der Upload von Dateien anhand der Dateien gesteuert werden. Nicht vorhandene Dateiendungen dürfen nicht hochgeladen werden können. Nähere Angaben entnehmen Sie bitte aus dem Lastenheft.

6. Views
In der Regel gibt es für jedes Businessobjekt eine Listenansicht und eine Detailansicht mit den Standardfunktionen, die wir eingangs beschrieben haben. Abweichungen oder zusätzliche Views werden in diesem Abschnitt eingehend beschrieben.

  • Site1.Master (Template)
    Das ist ein globales Template, dass bei den meisten Seiten verwendet werden soll. In das Template soll das Bootstrap 4 in einer aktuellen Version in der Masterdatei integriert werden. Zusätzlich werden die FontAweSome Font verwendet und müssen integriert werden. Wir verwenden hier nur die kostenfreie Version. Der Aufbau der Masterdatei bitte aus dem Lastenheft entnehmen.
  • Login.aspx (ASP.NET Webform, ohne MasterPage)
    Hierbei handelt es sich um die Login-Seite zu dem Portal. Das Mastertemplate wird dazu nicht benötigt. Die Seite soll die Funktion sich am Portal anmelden zu können bereitstellen. Erfolgreiche und nicht erfolgreiche Anmeldungen sollen mit log4net in eine Textdatei protokolliert werden. Den Aufbau der Loginseite bitte dem Lastenheft entnehmen.
  • LostPassword.aspx (ASP.NET Webform, ohne MasterPage)
    Wenn ein Benutzer seine Zugangsdaten vergessen hat, so kann er sich auf dieser Seite neue Zugangsdaten durch Angabe seiner E-Mail Adresse anfordern. Die Zugangsdaten werden dann via Mail an die im System hinterlegte E-Mail Adresse gesendet. Näheres bitte aus dem Lastenheft entnehmen.
  • Logoff.ashx (generic handler)
    Das Abmelden wird über einen Generischen Handler gelöscht. Beim Betätigen des Abmelde-Buttons wird in der Session das Item Benutzer geleert und es erfolgt ein Redirect auf die Login-Seite.
  • Default.aspx (Site1.Master)
    Hierbei handelt es sich um die Startseite. Diese darf nur mit erfolgtem Login erreichbar sein. Dazu ist das Session Item "Benutzer" abzufragen. Ist das Item nicht vorhanden oder leer, erfolgt ein Redirect auf die Loginseite. Der Content Bereich wird in zwei Bereiche aufgeteilt. Näheres entnehmen Sie bitte dem Lastenheft.
  • Media_DetailView.aspx (Site1.Master)
    In der Detailansicht soll die Mediendatei in einer Detailansicht geöffnet werden. Je nach Media Typ ist ein entsprechender Medienplayer zu verwenden. Im rechten Bereich werden Informationen zu der Datei angezeigt. Diese Seite darf nur mit erfolgtem Login sichtbar sein. Näheres entnehmen Sie bitte dem Lastenheft.
  • AddMedia.aspx (Site1.Master)
    Mit dieser Seite soll es dem angemeldeten Benutzer ermöglicht werden eine neue Datei hinzuzufügen. Wir benötigen dazu ein FileUpload Control das einen Dateibrowser und den Upload auf den Server zur Verfügung stellt. Zudem soll man noch die Beschreibung, Tags und Kategorien hinterlegen können. Alle anderen Felder (Dateiname, Größe etc.) werden automatisch anhand der Datei gefüllt. Diese Seite darf nur mit erfolgtem Login sichtbar sein. Diese Seite ist über das Header Menü global erreichbar (siehe globale Funktionen), oder aus einer beliebigen Kategorie. Wird die Seite aus einer Kategorie heraus aufgerufen ist die Kategorie mit einem Parameter zu übergeben und die Auswahl muss bereits in der Seite hinterlegt sein.
  • ChangePassword.aspx (Site1.Master)
    Hier soll der Benutzer die Möglichkeit erhalten sein Kennwort zu ändern. Das Kennwort ist zweimal anzugeben und auf Übereinstimmung zu prüfen. Stimmen die Kennwörter nicht überein muss eine Meldung an den Benutzer ergehen. Stimmen die Kennwörter überein wird das neue Kennwort in der Datenbank (SHA-2) gespeichert. Zudem wird das Feld letzte Kennwortänderung mit dem aktuellen Datum/Zeit gefüllt.
  • Embeed.aspx
    Die Medieninhalte können auf anderen Systemen (z.B. Websites, Moodle Plattformen) verwendet werden. Um den Benutzern die Einbindung zu erleichtern wird aus der Detailansicht ein Embeed HTML Code zur Verfügung gestellt. Der Code muss HTML5 konform sein. Der Link in dem Code verweist auf die Embeed.aspx gefolgt von einem Parameter der die ID der Datei beinhaltet. Die Ansicht dieser Seite orientiert sich an der Media_DetailView.aspx orientieren, allerdings ohne dem Mastertemplate. Näheres entnehmen Sie bitte dem Lastenheft.

7. Globale Funktionen
Bei den globalen Funktionen handelt es sich um Funktionen die global zur Verfügung gestellt werden und keinen Bezug zu einem Businessobjekt haben.

a) Suche nach einer Mediendatei
Global soll eine Suchfunktion über die Medien ermöglicht werden. Die Suche darf sich dabei nur auf die Medien beziehen die zum Mandanten des Benutzers gehören. Ist der Benutzer keinem Mandanten zugeordnet, erfolgt die Suche mandantenübergreifend. Grundsätzlich erfolgt die Suche im Dateinamen und in den Tags. Die Suche ist im Bootstrap Navigationsmenü zu implementieren.

b) Media hinzufügen
Hier soll es dem Benutzer ermöglicht werden eine neue Mediendatei hinzuzufügen und upzuloaden. Eine Kategorie wird in diesem Fall nicht übergeben und muss vom Benutzer gewählt werden. Aufrufbar über das Mainmenü im Headerbereich. Link auf die /AddMedia.aspx.

Es werden mehrere Firmen und Organisationen (6-10) zeitgleich das Medien-Portal nutzen. Die Anzahl der Arbeitsplätze der angedachten Mandanten steht derzeit noch nicht fest und kann vorerst nicht eingegrenzt werden. Allerdings sollen die Benutzer des einen Mandanten nicht die Daten des anderen sehen können. Ausschließlich einem Admin bleibt dies vorbehalten.

Das Medien-Portal soll letztendlich branchenunabhängig einsetzbar, nutzbar sein. Es soll von uns aus am süddeutschen Hauptstandort zentral verwaltet werden.

Alle weiteren Angaben und Begriffserklärungen entnehmen Sie bitte dem Lastenheft. Es kann gegebenenfalls bei SoftGuide angefordert werden.

Aufgrund der spezifischen Anforderungen kommen folgende Lösungen in Frage:

AdmiralCloud - Digital Asset Management
Panvision GmbH
S&D Software nach Maß GmbH
Explicatis
SSA SoftSolutions GmbH
DEVWARE GmbH
Software Lösungen gefunden
SoftGuide Rechercheteam hat die Arbeit an der Ausschreibung beendet.

Kontakt zum ausschreibenden Unternehmen aufnehmen:

Die Ausschreibung ist bereits beendet.

Fragen zu Ausschreibungen beantworten wir gerne unter Tel. 05363 / 8094-0 oder per E-Mail an info@softguide.de