
Esta es una traducción de varios artículos del blog de un servicio de asistencia de código abierto (y buzón compartido) a Laravel. La historia de este proyecto es un buen ejemplo de cómo la comunidad de código abierto no solo puede repetir, sino también mejorar en algunos lugares el diseño y la funcionalidad del producto comercial terminado, así como estimular su desarrollo y cambio para mejor.
La abolición de un plan tarifario gratuito por parte de Help Scout marcó el comienzo del desarrollo de una alternativa gratuita

Cuando se lanzó Help Scout en abril de 2011, era una mesa de ayuda en línea completamente gratuita. Brindar asistencia técnica gratuita a lo largo de los años ha permitido a la empresa "pulir" el producto, ganar popularidad y atraer a miles de clientes. Unos años más tarde, se agregaron varios planes pagados al servicio, pero Help Scout aún ofrecía un plan gratuito con funcionalidad limitada, que era suficiente para que las pequeñas empresas organizaran atención al cliente gratuita por correo electrónico. En marzo de 2017, Help Scout dejó de proporcionar un plan gratuito para nuevos clientes. Finalmente, en mayo de 2018, los propietarios de cuentas gratuitas de Help Scout recibieron una carta con el tema "Abolición del plan gratuito de Help Scout". Todas las cuentas gratuitas se han actualizado a un plan estándar, que cuesta $ 20 por usuario por mes.
Como resultado, la comunidad GitHub ha comenzado a desarrollar una versión gratuita de código abierto de Help Scout (
https://github.com/freescout-helpdesk/freescout ). El proyecto, llamado FreeScout, está escrito en PHP7 y utiliza el marco Laravel 5.5.
El primer lanzamiento oficial de FreeScout tuvo lugar el 1 de noviembre de 2018.
La aplicación se crea con un enfoque en la usabilidad, simplicidad y facilidad de uso. FreeScout se utiliza y será utilizado por individuos y empresas que necesiten un sistema profesional gratuito de atención al cliente por correo electrónico pero que no puedan pagar Zendesk o Help Scout. FreeScout también es ideal para aquellos que no quieren renunciar a la privacidad o depender de un servicio que no controlan.
FreeScout en números (a partir del 1 de noviembre de 2018)
- Desarrolladores: 1 desarrollador principal y 3 colaboradores.
- Tiempo de desarrollo: 4 meses.
- Líneas de código: 20646
- Tamaño de distribución: 14,2 Mb
Arquitectura
FreeScout es súper "ligero" y rápido, no requiere
Node.js, Redis, memcached, composer o cualquier otra cosa para funcionar, solo un servidor web con
PHP 7.0+ y
MySQL (Maria DB) 5.0+ . Gracias a lo cual se puede instalar en casi cualquier alojamiento compartido.
FreeScout usa Laravel 5.5 como un marco de back-end. Yo (Miroslav Janko) solía ser nuevo en Laravel, así que tuve que desarrollar FreeScout desde cero y aprender Laravel al mismo tiempo. Laravel es simplemente hermosa ...
La parte más importante de cualquier servicio de asistencia es la ventana de escritura de respuestas, este es el corazón de todo el sistema. De los muchos editores WYSIWYG de código abierto,
Summernote fue elegido como el más adecuado y flexible. Summernote se creó en 2013 y tiene una gran comunidad en GitHub (más de 1600 tenedores). Es compatible con todas las funciones necesarias para el servicio de asistencia.

Para mostrar notificaciones de menú en tiempo real y notificaciones push en un navegador, FreeScout utiliza
Polycast , que emula los sockets web a través de ajax y funciona sin problemas.

Para garantizar la facilidad de instalación, se implementó un instalador basado en la web utilizando el paquete
LaravelInstaller . El instalador realiza la instalación paso a paso, verifica los permisos del sistema de archivos, las extensiones PHP y el acceso a la base de datos.

Si necesita funcionalidad adicional, puede extender FreeScout con módulos (como los complementos de WordPress). Los módulos se desarrollan utilizando el paquete
Laravel-Modules v2 . Los módulos interactúan con la aplicación a través de ganchos (acción y filtro) como en WordPress, implementados usando el paquete
Eventy . Los módulos pueden incluso agregar sus propios paquetes de compositor al proyecto.
Diseño y usabilidad
La característica más molesta de Help Scout es cómo muestra el estado del ticket y a quién se le asigna el ticket. Cuando abre un ticket en Help Scout, no ve su estado ni a quién está asignado. Además, el estado del ticket y los botones de acción se mezclan en un montón.

Esto es bastante desagradable, te sientes como si estuvieras ciego. El estado del ticket y a quién está asignado es la
información más importante , y siempre debe estar disponible. Sí, hay un ícono de estado junto al nombre del ticket:

Pero usted quiere, créalo o no, no lo vi hasta que comencé a desarrollar FreeScout. Cada vez, verifiqué automáticamente el estado del ticket bajo el botón correspondiente en la máquina, donde está instalado. Ahora en FreeScout puede ver de inmediato a quién está asignado el ticket y su estado:

Cuando comencé a usar Help Scout, necesitaba configurar un buzón. Necesitaba una firma gris para el buzón. Pero, para mi sorpresa, no pude encontrar el botón de color de fuente en la barra de herramientas de Help Scout, y tuve que abrir Photoshop, encontrar el color y editar manualmente los subtítulos HTML. Entonces, ahora en FreeScout puede configurar fácilmente el color de fuente para firmar su bandeja de entrada:

La siguiente desventaja es Help Scout, que se corrige en FreeScout y que a menudo se menciona en reseñas y foros. Después de asignarse un boleto a usted mismo,
debe permanecer en la página de este boleto , parece natural, Help Scout lo redirige al próximo boleto ...
Como desarrollador web, utilicé Help Scout para varios proyectos y trabajé como agente de soporte en varias cuentas de Help Scout, por lo que a menudo tuve que cambiar entre cuentas de Help Scout. Pero por alguna razón, Help Scout en su interfaz no me mostró quién soy:

Solo ve el icono de "usuario" y necesita hacer clic en él para averiguar en qué cuenta ha iniciado sesión. Por qué La interfaz de Help Scout no es adaptativa y hay suficiente espacio en la barra de navegación para mostrarme mi nombre ... Por lo tanto, ahora en FreeScout siempre puede ver la cuenta con la que ha iniciado sesión:

Después de muchos años de usar Gmail, si necesita insertar una imagen en la respuesta, simplemente arrastre y suelte la imagen y aparecerá en la respuesta. Al usar Help Scout, hice lo mismo automáticamente (¡cada vez!), Pero la imagen se agregó como un archivo adjunto y no se insertó en la respuesta. Entonces, en FreeScout, finalmente puede agregar una imagen arrastrándola al área de respuesta:

En FreeScout, también encontrarás otra característica de Gmail que me faltaba en Help Scout: los asteriscos. Esta es una característica extremadamente simple y poderosa que ahorra tiempo:

Ahora es el momento de una historia de detectives :) En Help Scout, puede eliminar un ticket, pero ¿puede encontrar una conversación eliminada posteriormente? Una vez necesitaba encontrar un boleto remoto, pero no pude hacerlo. Estaba casi desesperado. De hecho, para abrir la carpeta Elementos eliminados, debe abrir los tickets cerrados, desplazarse hasta la parte inferior y encontrar el pequeño enlace "Eliminado recientemente". Es muy difícil y no intuitivo, pero cuando encuentre sus boletos eliminados, se sentirá como Sherlock Holmes. Entonces, en FreeScout, esto se simplificó: simplemente abres los tickets "Cerrados" y la carpeta "Conversaciones remotas" aparece inmediatamente.
Siguiente En Help Scout, cuando abre un buzón, se muestran los siguientes botones:

¿Puedes decir qué significa el ícono correcto? No tenía idea de lo que representa este ícono, así que nunca usé este botón (más tarde resultó que este botón significa "Nuevo ticket").
Mucho mejor en FreeScout? Derecho?

Ahora tengo un acertijo para ti. Cuando vea la captura de pantalla a continuación, ¿qué puede decir sobre el estado de estos usuarios?

Probablemente piense que el primer usuario está activo y el segundo no. Pero en Help Scout, esto significa lo contrario: el segundo usuario sin una marca de verificación está activo y el primero aún no está activo (una marca de verificación verde significa que se ha enviado una invitación al usuario). Todo es obvio con FreeScout, y no necesitas resolver acertijos:

Helpdesk es utilizado por desarrolladores y empresas de todo el mundo, y sus agentes de soporte no siempre son hablantes nativos de inglés, por lo que FreeScout le permite traducirse a sí mismo a otros idiomas a través del sistema de traducción incorporado implementado con el paquete de
Translation Manager .

El 4 de noviembre de 2018,
el repositorio FreeScout se convirtió en el repositorio PHP más popular en GitHub en la sección Tendencias:
Nota del traductorInicialmente, era casi imposible distinguir FreeScout de Help Scout, y en 2018, el proyecto recibió una queja de DMCA del propietario de Help Scout, Nick Francis. Los desarrolladores de la mesa de ayuda abierta tomaron medidas y
rediseñaron su creación, lo que aparentemente satisfizo a Help Scout.
También hoy, podemos ver que Help Scout, bajo la influencia de su hermano de código abierto, ha realizado cambios en su servicio. Por ejemplo, Help Scout comenzó a mostrar un usuario autorizado en un sombrero, convirtieron los perfiles de usuario de cuadrado a redondo justo después de que FreeScout lo hiciera.