
Wir freuen uns, Ihnen mitteilen zu können, dass wir einen weiteren Schritt zur Verbesserung des Anwendungssystems unternommen haben. Diesmal berührten die Änderungen die Benutzeroberfläche. Wir haben AdminLTE komplett verlassen, das so viele Beschwerden über Bootstrap 3 und seine Ähnlichkeit mit anderen Produkten hatte. Eine Reihe von Fehlern wurde ebenfalls behoben und neue Funktionen hinzugefügt.
Fortsetzung, bereits eine Reihe von Artikeln,
Wir möchten unsere Geschichte über die Erstellung einer neuen Version des Webanwendungssystems teilen. In der Tat haben wir während der gesamten Zeit der Produktentwicklung zunächst die gesamte Systemschnittstelle geändert.
Alle Änderungen können in mehrere Hauptänderungen unterteilt werden:
Schnittstelle
Dank der Umstellung auf die neue Benutzeroberfläche konnten wir auch alle verwendeten Front-End-Module umgestalten und gleichzeitig auf die neuesten stabilen Versionen aktualisieren. Es gab nicht viele Module, nicht wenige: ungefähr 80. Hier sind einige davon:
Liste der js-ModuleAnimieren-CSS, Autosize, Block-UI, Blueimp-Galerie, Bootbox, Bootstrap-Datepicker, Bootstrap-Daterangepicker, Bootstrap-Duallistbox, Bootstrap-Iconpicker, Bootstrap-Markdown, Bootstrap-Material-DatetimePicker, Bootstrap-MaxLänge, Bootstrap-Menü Bootstrap-Multiselect, Bootstrap-Bewertung, Bootstrap-Auswahl, Bootstrap-Slider, Bootstrap-Sortierbarkeit, Bootstrap-Sweetalert, Bootstrap-Tabelle, Bootstrap-Tags-Eingabe, c3, Chartist, Chartjs, Zwischenablage, Cropper, D3, Datentabellen, Dragula, Dropzone, Vorabend, Fancybox, Flatpickr, Flot, Flow-Js, Fontawesome-Iconpicker, Vollkalender, Gmaps, Knurren, Idletimer, JQuery, Jstree, Jszip, Knopf, Ladda, Mapael, Markdown, Mauerwerk, Minicolors, Moment, Morris, Nestable, Nouislider, Ziffer, Perfect-Scrollbar, Photowipe, Plyr, Popper, Pwstrength-Bootstrap, Feder, Raphael, Select2, Shepherd, Smartwizard, Socket.io, Sortablejs, Sparkline, Spin, Spinkit, Sweetalert2, Swiper, Tableexport, Timepicker, Toastr, Typeahead- js, validieren, Vanille-Text-Maske, Vegas
Und auch ihre Versionierung:
"@ claviska / jquery-minicolors": "~ 2.3.2",
"animate.css": "~ 3.7.0",
"blueimp-gallery": "~ 2.33.0",
"bootstrap": "~ 4.3.1",
"bootstrap-duallistbox": "~ 3.0.6",
"Bootstrap-Markdown": "~ 2.10.0",
"Bootstrap-Multiselect": "~ 0.9.13-1",
"Bootstrap-Bewertung": "0.0.1",
"bootstrap-select": "~ 1.13.1",
"Bootstrap-Slider": "~ 10.6.1",
"Bootstrap-Tabelle": "~ 1.14.2",
"Chartist": "~ 0.11.0",
"cropper": "~ 4.0.0-beta",
"cross-env": "~ 5.2.0",
"datatables.net-bs4": "~ 1.10.16",
"dotenv": "^ 7.0.0",
"Dragula": "~ 3.7.2",
"express": "^ 4.16.4",
"ioredis": "^ 4.9.0",
"jquery.growl": "~ 1.3.5",
"jstree": "~ 3.3.5",
"ladda": "~ 2.0.0",
"Laravel-Mix": "~ 4.0.15",
"Perfect-Scrollbar": "~ 1.4.0",
"photoswipe": "~ 4.1.2",
"plyr": "~ 2.0.18",
"resolve-url-loader": "2.3.1",
"sass": "^ 1.17.3",
"sass-loader": "7. *",
"select2": "~ 4.0.6-rc.1",
"socket.io": "^ 2.2.0",
"spinkit": "~ 1.2.5",
"sweetalert2": "~ 8.7.0",
"swiper": "~ 4.5.0",
"toastr": "~ 2.1.4",
"Vegas": "~ 2.4.0",
"vue-template-compiler": "^ 2.6.9",
"webpack-cli": "^ 3.3.5"
Es ist erwähnenswert, dass der Übergang dank der Verwendung der Blade-Template-Engine des Laravel-Frameworks selbst bequem war. Insgesamt wurden etwa 200 Blade-Schnittstellenvorlagen aktualisiert. Bei der Vorbereitung eines Projekts für die Produktionsfreigabe generieren wir alle Ressourcen mithilfe von Webpack-Mix in ihre minimierten Versionen von js und css. Entsprechend den Trends haben wir auch auf Bootstrap 4.3 umgestellt, was in Zukunft viel mehr Möglichkeiten zur Unterstützung und Entwicklung der Benutzeroberfläche bietet. Natürlich ist die gesamte Oberfläche perfekt für mobile Geräte geeignet.
Abschlag
Wir haben uns für den Markdown-Editor entschieden, weil er einfach, progressiv und schnell ist. Dies ist der wichtigste Teil der Schnittstelle im Anwendungserstellungssystem, da in diesem Bereich das Problem beschrieben wird, von dessen Darstellung in den meisten Fällen die Lösung abhängt. Daher wurde diesem speziellen Teil viel Aufmerksamkeit geschenkt.

Benutzer und Benutzerseite
Die Informationen zur Statistik der Benutzeranfragen, seiner Kontakte wurden erweitert. Die Benutzerseite selbst erleichtert die Suche nach Clients oder Benutzern des Systems anhand von Zugriffsrechten.
Gruppen
Hurra. Die Funktionalität der Gruppe wurde abgeschlossen. Wenn die Gruppe öffentlich ist - jeder kann ihr beitreten, sehen Sie sich die Gruppennachrichten und alle Anwendungen an, die an die Gruppe gerichtet sind. Sie können die Gruppe jederzeit verlassen. Wenn die Gruppe privat ist, kann der Benutzer sie nicht betreten / verlassen. Nur durch manuelles Hinzufügen auf der Gruppenverwaltungsseite. Denken Sie daran, dass Gruppen eine solche Struktur sind, in die Sie Benutzer oder Kunden einfügen können, und dass alle an die Gruppe adressierten Anwendungen angezeigt werden. Auch im Abschnitt "Dashboard" sehen alle Mitglieder der Gruppe wichtige Ankündigungen. Wenn das Kalendermodul aktiviert ist, können Gruppenmitglieder auch zu gemeinsamen Ereignissen gemacht werden.
Wissenszentrum
Die Benutzeroberfläche wurde komplett überarbeitet und verfügt über eine praktische Drag & Drop-Baumstruktur von Kategorien mit der Möglichkeit, Kategoriesymbole zu definieren.
Kalender
Der Kalender wird vollständig aktualisiert, zusätzliche Felder werden entfernt, Ereignisse können täglich gezogen und erweitert werden, und all dies kann an allgemeine Gruppen gesendet werden.
Berichte
Wir haben die bisherige Funktionalität von Benutzer- und Gruppenberichten aufgegeben. Jetzt ist ein allgemeiner informativer Bericht verfügbar, der jedoch auf den Filtern der Liste der Felder basiert, mit denen Berichte erstellt werden können. Jetzt ist es einfach riesig und das Ergebnis der Ausgabe der Berichte sieht wie folgt aus:


Nach wie vor liegt der Schwerpunkt der Berichte auf SLA-Plänen, mit denen wir den Erfolg der Anwendung bewerten können, indem wir:
- Antwortzeit der Anwendung
- Arbeitszeit
- Bewerbungsschluss
Verwaltung

Die Validierung aller eingegebenen Werte wurde hinzugefügt, um die Verwaltung des Systems zu vereinfachen und fehlerhafte Einstellungen zu vermeiden, die zu Fehlfunktionen des gesamten Systems führten.
Darüber hinaus wurde die Schnittstelle in Unterkategorien unterteilt, Schnittstellenelemente wurden optimiert, informativer und bequemer.
Benutzer aus LDAP importieren erneuert. OpenLDAP, AD, LDAP ist enthalten.
Upgrade und Lizenzierung
Das Update-System basiert nach wie vor auf git. Ein auf GitLab basierender Server ermöglicht es Benutzern, Probleme zu erstellen, Code und Entwicklungsphasen an derselben Stelle zu überwachen.
Mobile Apps
Derzeit wird eine neue Version der mobilen iOS-Anwendung entwickelt. Wenig später, Ende September, warten wir auf die Android-Version. Die Hauptfunktionalität der Anwendung:
- Offline-Speicherung der Anwendungsliste
- Möglichkeit zum Erstellen einer Anwendung
- Google Cloud Messaging
Beschreibung der Systembetriebsoptionen in der Organisation
Dies ist ein sehr flexibles Anwendungssystem, da die grundlegenden Schlüsselkonzepte vorhanden sind: Benutzer, Gruppen und Antragsformular.
Um das richtige Anwendungssystem zu erstellen, müssen Sie diese Abschnitte kennen.
Benutzer ist ein allgemeines Kontokonzept. Ein Benutzer kann eine andere Rolle haben: Client, Benutzer oder Administrator. Jeder Benutzer kann entweder ein eigenes Formular zur Anwendungserstellung oder ein Formular zur Erstellung einer Gruppenanwendung haben.
Ein Benutzer mit einer Client-Rolle - verfügt über eine eingeschränkte vereinfachte Oberfläche, in der nur eine Liste seiner Anwendungen, die Möglichkeit zum Erstellen einer Anwendung und auch ein Knowledge Center verfügbar sind.
Ein Benutzer mit einer Benutzerrolle ist eine Standardgrundschnittstelle, die häufig für alle Teilnehmer am System geeignet ist.
Ein Benutzer mit der Administratorrolle - dieselben Rechte wie der Benutzer, aber auch Zugriff auf den Abschnitt Administration.
Gruppen - Dies ist eine solche Struktur, in die Sie Benutzer oder Kunden hinzufügen können, die alle an die Gruppe adressierten Anwendungen sehen. Auch im Abschnitt "Dashboard" sehen alle Mitglieder der Gruppe wichtige Ankündigungen. Wenn das Kalendermodul aktiviert ist, können Gruppenmitglieder auch gemeinsame Ereignisse freigeben. Alle Gruppen haben die Eigenschaft: Antragsformular. Dies bedeutet, dass eine Gruppe ein Formular zur Anwendungserstellung erstellen kann. Gruppenmitglieder können verschiedene Rollen haben: Benutzer und Superuser.
Gruppenmitglieder mit der Rolle Benutzer - können alle Anwendungen anzeigen, die an die Gruppe gerichtet sind (jedoch nicht an bestimmte Gruppenmitglieder).
Mitglieder der Gruppe mit der Rolle "Super User" - können alle an die Gruppe gerichteten Anwendungen sowie bestimmte Mitglieder der Gruppe anzeigen.
Dank Benutzern und Gruppen ist die Möglichkeit zur Sichtbarkeit und zum Zugriff auf Anwendungen konfiguriert.
Lassen Sie uns nun näher auf das Formular zur Anwendungserstellung eingehen. Dies ist ein solches Subsystem, dank dessen eine Gruppe von Benutzern oder ein bestimmter Benutzer bestimmte Felder konfigurieren oder die Seite zur Anwendungserstellung anzeigen kann. Mit diesem Tool wird die Möglichkeit zum Erstellen von Anwendungen für Gruppen oder Gruppenbenutzer konfiguriert.
Betrachten Sie die gängigen Fälle des Systems.
Eine Organisation, die ihren Kunden Support-Services bietet.
In diesem Fall,
- Es werden eine Gruppe oder Benutzergruppen erstellt, die Supportdienste bereitstellen. Zum Beispiel Gruppen: Beratung, Support. Alle Benutzer, die die Dienste dieses Supports bereitstellen, werden in die Konsultations- und Supportgruppen mit der Rolle von Mitgliedern der Benutzergruppe aufgenommen. Die Benutzer, die alle Anwendungen aller Benutzer sehen können, werden Gruppen mit der Rolle "Superuser" zugewiesen.
- Für Kunden wird ein Anforderungserstellungsformular erstellt und die erforderlichen Felder werden konfiguriert, z. B. An (Beratung, Support-Gruppen).
- Die Gruppe "Clients" wird erstellt, und alle Clients werden in diese Gruppe aufgenommen. Das Formular zur Erstellung der Anwendung "Clients" wird der Gruppe zugewiesen.
- Alle Clients in den Einstellungen geben das Formular zum Erstellen einer Anwendung aus der Gruppe "Clients" an.
- Alle Benutzer, die technischen Support leisten, werden entweder mit einem bestimmten Formular zum Erstellen einer Anwendung oder bei Bedarf mit einer Gruppe angegeben.
Daher haben alle Clients eine gemeinsame Form zum Erstellen von Anwendungen, mit der Möglichkeit, Anwendungen für bestimmte Teilnehmer (Gruppen oder Benutzer) zu erstellen.
Alle Benutzer sehen Kundenanwendungen und können Anwendungen aus ihrem Antragsformular erstellen.
Eine Organisation, die ihren Kundenorganisationen Support-Services bietet.
In diesem Fall,
- Eine Gruppe oder Gruppen von Benutzern werden erstellt, um Supportdienste bereitzustellen. Zum Beispiel Gruppen: Beratung, Support. Alle Benutzer, die die Dienste dieses Supports bereitstellen, werden in die Konsultations- und Supportgruppen mit der Rolle von Mitgliedern der Benutzergruppe aufgenommen. Die Benutzer, die alle Anwendungen aller Benutzer sehen können, werden Gruppen mit der Rolle "Superuser" zugewiesen.
- Ein Formular / Formulare zum Erstellen einer Anwendung für Kunden wird erstellt und die erforderlichen Felder werden konfiguriert, z. B. An (Gruppen Beratung, Support)
- Für jede Client-Organisation wird eine Gruppe / Gruppen erstellt, und alle Clients werden in ihre Gruppe aufgenommen. Der Gruppe wird ein Anforderungserstellungsformular zugewiesen.
- Alle Clients in den Einstellungen geben das Formular zum Erstellen einer Anwendung aus ihrer Gruppe an.
Alle Benutzer, die technischen Support leisten, werden entweder mit einem bestimmten Formular zum Erstellen einer Anwendung oder bei Bedarf mit einer Gruppe angegeben. - Manchmal ist es erforderlich, dass unter den Kundenorganisationen eine verantwortliche Person vorhanden ist, die alle erstellten Anwendungen ihrer Kundenmitarbeiter sehen kann. Dazu muss ein solcher Client in der Clients-Gruppe „Super-User“ zugeordnet sein.
Infolgedessen haben alle Kundenunternehmen eine eigene Gruppe mit dem Formular zur Anwendungserstellung, mit der nur eine Anwendung für bestimmte Teilnehmer (Gruppen oder Benutzer) erstellt werden kann.
Alle Benutzer sehen Kundenanwendungen und können Anwendungen aus ihrem Antragsformular erstellen. Kunden-Unternehmen sehen keine allgemeinen Anwendungen und überschneiden sich nicht.
Mit diesem Ansatz können Sie gleichzeitig als Benutzer / Superuser in einer oder mehreren Gruppen gleichzeitig Mitglied des Systems sein.
Was ist los?
- Erhalten Sie Feedback von unseren Benutzern, denn für uns ist es sehr wichtig.
- Nodejs-basierte Interaktivität
- Benutzerfeldoptimierung
- CMDB-System für einige Inventar
- Entwicklung mobiler Anwendungen (GCM-Verbindung)
- Verbindung weiterer Dienste von Drittanbietern (SMS-Gateways und Telegramm-Bot zum Erstellen von Anwendungen)
- SaaS-Lösung