
Nos complace anunciar que hemos dado un paso más hacia la mejora del sistema de aplicaciones. Esta vez, los cambios tocaron la interfaz. Dejamos completamente AdminLTE, que tenía tantas quejas sobre Bootstrap 3 y su similitud con otros productos. También se corrigieron varios errores y se agregaron nuevas funciones.
Continuando, ya una serie de artículos,
Queremos compartir nuestra historia de crear una nueva versión del sistema de aplicación web. De hecho, durante todo el tiempo del desarrollo del producto, primero cambiamos toda la interfaz del sistema.
Todos los cambios se pueden dividir en varios principales:
Interfaz
Gracias a la transición a la nueva interfaz de usuario, también pudimos refactorizar todos los módulos front-end usados, al mismo tiempo actualizarlos a las últimas versiones estables. No había muchos módulos, no pocos: unos 80. Aquí hay algunos de ellos:
Lista de módulos jsanimate-css, autosize, block-ui, blueimp-gallery, bootbox, bootstrap-datepicker, bootstrap-daterangepicker, bootstrap-duallistbox, bootstrap-iconpicker, bootstrap-markdown, bootstrap-material-datetimepicker, bootstrap-maxlength, bootstrap-menu, bootstrap-multiselect, bootstrap-rating, bootstrap-select, bootstrap-slider, bootstrap-sortable, bootstrap-sweetalert, bootstrap-table, bootstrap-tagsinput, c3, chartist, chartjs, portapapeles, cropper, d3, tablas de datos, dragula, dropzone, eve, fancybox, flatpickr, flot, flow-js, fontawesome-iconpicker, fullcalendar, gmaps, growl, idletimer, jquery, jstree, jszip, knob, ladda, mapael, markdown, masonry, minicolors, moment, morris, nestable, nouislider, numeral, barra de desplazamiento perfecta, photoswipe, plyr, popper, pwstrength-bootstrap, quill, raphael, select2, shepherd, smartwizard, socket.io, sortablejs, sparkline, spin, spinkit, sweetalert2, swiper, tableexport, timepicker, toastr, typeahead- js, validar, vanilla-text-mask, vegas
Y también sus versiones:
"@ 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-rating": "0.0.1",
"bootstrap-select": "~ 1.13.1",
"bootstrap-slider": "~ 10.6.1",
"bootstrap-table": "~ 1.14.2",
"chartista": "~ 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",
"barra de desplazamiento perfecta": "~ 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"
Vale la pena señalar que la transición fue conveniente, gracias al uso del motor de plantilla de hoja del propio marco Laravel. En total, se actualizaron alrededor de 200 plantillas de interfaz blade. Al preparar un proyecto para el lanzamiento de producción, generamos todos los recursos usando webpack-mix en sus versiones minimizadas de js y css. Además, siguiendo las tendencias, cambiamos a Bootstrap 4.3, que brindará en el futuro muchas más oportunidades para apoyar y desarrollar la interfaz. Naturalmente, toda la interfaz está perfectamente adaptada para dispositivos móviles.
Markdown
Decidimos cambiar al editor Markdown, porque es simple, progresivo y rápido. Esta es la parte más importante de la interfaz en el sistema de creación de aplicaciones, ya que es en este campo donde se describe el problema, cuya presentación, en la mayoría de los casos, depende de la solución. Por lo tanto, se prestó mucha atención a esta parte en particular.

Usuarios y página de usuario
La información sobre las estadísticas de las solicitudes de los usuarios, sus contactos se amplió. La página de Usuarios en sí misma hace que sea más conveniente buscar clientes o usuarios del sistema en función de los derechos de acceso.
Grupos
¡Hurra! Se finalizó la funcionalidad del grupo. Si el grupo es público, cualquiera puede unirse a él, vea los mensajes del grupo y todas las aplicaciones dirigidas al grupo. Puedes abandonar el grupo en cualquier momento. Si el grupo es privado, el usuario no puede ingresarlo / dejarlo. Solo agregando manualmente en la página de administración del grupo. Recuerde que los grupos son una estructura en la que puede agregar usuarios o clientes y verán todas las aplicaciones dirigidas al grupo. También en la sección "Panel", todos los miembros del grupo verán anuncios importantes. Si el módulo de calendario está activado, los miembros del grupo también pueden convertirse en eventos comunes.
Centro de conocimiento
La interfaz ha sido completamente renovada, así como una conveniente estructura de árbol de categorías de arrastrar y soltar con la capacidad de definir iconos de categoría.
Calendario
El calendario se actualiza completamente, se eliminan los campos adicionales, los eventos se pueden arrastrar y expandir por día, y todo esto se puede enviar a grupos generales.
Informes
Abandonamos la funcionalidad pasada de informes de usuarios y grupos. Ahora está disponible un informe informativo general, pero basado en los filtros de la lista de campos por los cuales se pueden generar informes. Ahora es simplemente enorme, y el resultado del resultado de los informes se ve así:


Como antes, el foco principal de los informes está en los planes de SLA que nos permiten evaluar el éxito de la aplicación mediante:
- Tiempo de respuesta de la aplicación
- Tiempo de trabajo
- Plazo de solicitud
Administración

Se agregó la validación de todos los valores ingresados, para la conveniencia de administrar el sistema, así como para evitar configuraciones erróneas, lo que condujo al mal funcionamiento del sistema en su conjunto.
Además, la interfaz se diferenciaba en subcategorías, los elementos de la interfaz se optimizaban, se volvían más informativos y convenientes.
Importar usuarios desde LDAP rehechos. OpenLDAP, AD, LDAP está incluido.
Actualización y licencia
Como antes, el sistema de actualización se basa en git. Un servidor basado en GitLab permite a los usuarios crear Issue, monitorear el código y las etapas de desarrollo en el mismo lugar.
Aplicaciones móviles
Por el momento, se está desarrollando una nueva versión de la aplicación móvil iOS. Un poco más tarde, a fines de septiembre, estamos esperando la versión de Android. La funcionalidad principal que tendrá la aplicación:
- Almacenamiento sin conexión de la lista de aplicaciones
- Posibilidad de crear una aplicación.
- Mensajería en la nube de Google
Descripción de las opciones de operación del sistema en la organización.
Este es un sistema de aplicación muy flexible, debido a la presencia de los conceptos clave básicos: usuarios, grupos y formulario de solicitud.
Para construir el sistema de aplicación correcto, necesita saber cuáles son estas secciones.
Los usuarios son un concepto de cuenta general. Un usuario puede tener un rol diferente: cliente, usuario o administrador. Cada usuario puede tener su propio formulario de creación de aplicaciones o un formulario de creación de aplicaciones grupales.
Un usuario con un rol de cliente: tiene una interfaz simplificada limitada en la que solo está disponible una lista de sus aplicaciones, la capacidad de crear una aplicación y también un centro de conocimiento.
Un usuario con un rol de usuario es una interfaz básica estándar que a menudo es adecuada para todos los participantes en el sistema.
Un usuario con el rol de administrador: los mismos derechos que el usuario, pero también acceso a la sección Administración.
Grupos: esta es una estructura en la que puede agregar usuarios o clientes y verán todas las aplicaciones dirigidas al grupo. También en la sección "Panel", todos los miembros del grupo verán anuncios importantes. Si el módulo Calendario está activado, los miembros del grupo también pueden compartir eventos comunes. Todos los grupos tienen la propiedad: Formulario de solicitud. Esto significa que un grupo puede crear un formulario de creación de aplicaciones. Los miembros del grupo pueden tener diferentes roles: usuario y superusuario.
Miembros del grupo con la función Usuarios: pueden ver todas las aplicaciones dirigidas al grupo (pero no a miembros específicos del grupo)
Miembros del grupo con el rol de Superusuario: pueden ver todas las aplicaciones dirigidas al grupo, así como a miembros específicos del grupo.
Gracias a Usuarios y Grupos: se configura la capacidad de visibilidad y acceso a las aplicaciones.
Ahora analicemos con más detalle el Formulario de creación de solicitudes. Este es un subsistema de este tipo, gracias al cual un grupo de usuarios o un usuario específico puede configurar ciertos campos o mostrar la página de creación de la aplicación. Con esta herramienta, se configura la capacidad de crear aplicaciones para grupos o usuarios de grupos.
Considere los casos populares del sistema.
Una organización que brinda servicios de soporte a sus clientes.
En este caso
- Se crea un grupo o grupos de usuarios que proporcionarán servicios de soporte. Por ejemplo, grupos: Consulta, Apoyo. Todos los usuarios que proporcionarán los servicios de ese soporte están incluidos en los grupos de consulta y soporte con el rol de miembros del grupo de usuarios. Los usuarios que pueden ver todas las aplicaciones de todos los usuarios se asignan a grupos con el rol: Superusuario.
- Se crea un formulario de creación de solicitud para clientes y se configuran los campos necesarios, por ejemplo, Para (Consulta, Grupos de soporte)
- El grupo de Clientes se crea y todos los clientes se incluyen en este grupo y el formulario de creación de la aplicación "Clientes" se asigna al grupo.
- Todos los clientes en la configuración indican el formulario para crear una aplicación desde el grupo "Clientes".
- Todos los usuarios que brindan soporte técnico se indican con un formulario específico para crear una aplicación o con un grupo, según sea necesario.
Como resultado, todos los clientes tienen una forma común para crear aplicaciones solo con la capacidad de crear aplicaciones para ciertos participantes (Grupos o Usuarios).
Todos los usuarios ven las aplicaciones de los clientes y tienen la capacidad de crear aplicaciones desde su formulario de solicitud.
Una organización que brinda servicios de soporte a sus organizaciones clientes.
En este caso
- Se crea un grupo o grupos de usuarios para proporcionar servicios de soporte. Por ejemplo, grupos: Consulta, Apoyo. Todos los usuarios que proporcionarán los servicios de ese soporte están incluidos en los grupos de consulta y soporte con el rol de miembros del grupo de usuarios. Los usuarios que pueden ver todas las aplicaciones de todos los usuarios se asignan a grupos con el rol: Superusuario.
- Se crea un formulario / formularios para crear una aplicación para clientes y se configuran los campos necesarios, por ejemplo, Para (consulta de grupos, Soporte)
- Se crea un grupo / grupos para cada organización de Clientes y todos los clientes se incluyen en su grupo y se asigna un formulario de creación de solicitud al grupo.
- Todos los clientes en la configuración indican el formulario para crear una aplicación desde su grupo.
Todos los usuarios que brindan soporte técnico se indican con un formulario específico para crear una aplicación o con un grupo, según sea necesario. - A veces se hace necesario que entre las organizaciones clientes haya alguien a cargo que pueda ver todas las aplicaciones creadas de sus empleados clientes. Para esto, dicho cliente debe ser asignado en el grupo de Clientes: "Superusuario".
Como resultado, todas las empresas clientes tienen su propio grupo con el formulario de creación de aplicaciones solo con la capacidad de crear una aplicación para ciertos participantes (Grupos o Usuarios).
Todos los usuarios ven las aplicaciones de los clientes y tienen la capacidad de crear aplicaciones desde su formulario de solicitud. Clientes-empresas no ven aplicaciones generales y no se cruzan.
Este enfoque le permite ser miembro del sistema simultáneamente como usuario / superusuario en uno o más grupos a la vez.
Que pasa
- Obtenga comentarios de nuestros usuarios, porque para nosotros es muy importante.
- Interactividad basada en Nodejs
- Optimización de campo de usuario
- Sistema CMDB para algún inventario
- Desarrollo de aplicaciones móviles (conexión GCM)
- Conexión de más servicios de terceros (pasarelas SMS y Telegram-bot para crear aplicaciones)
- Solución SaaS