hace 8 años
Estimados!
Estamos en lo que consideramos la recta final hacia el lanzamiento del Nuevo YoReparo, ¿por qué? Porque tenemos claramente identificado el conjunto de tareas principales, y un conjunto de tareas de ajuste y más pequeñas que hace falta terminemos para poder lanzar el Nuevo YoReparo.
Lo que voy a compartir a continuación, no es para que se lo lean todo, puede ser tedioso, pero es justamente la lista de tareas que faltan ejecutar para que el Nuevo YoReparo esté listo para lanzar. Solo listo las que faltan de aquí en más, no listo nada de lo ya hecho hasta ahora.
Quiero compartir con ustedes esta lista de tareas para que puedan tener una noción clara de lo que falta en trabajo y puedan junto con nosotros irse preparando para el lanzamiento :)
Voy a usar la siguiente forma de trabajo con ustedes para comunicarles el progreso.
Cada ítem numerado en la siguiente lista es una tarea.
Para distinguir el estado de cada tarea utilizaré el siguiente código de colores
Voy a marcar con color naranja aquellas tareas que están en progreso. Es decir, alguien del equipo las tomó y se está trabajando en ella.
En color color verde aquellas tareas que ya están completadas.
Y voy a dejar sin color, o mejor dicho, en el color negro que tiene la letra por defecto, aquellas tareas que están por ser tomadas todavía y que no tienen progreso.
Además, separé la lista de tareas en primero, tareas que son de dimensión, algunas pueden tomar hasta una semana en llevarse a cabo, y luego una lista de tareas pequeñas que por lo general se completan en algunas horas de trabajo, a veces minutos, o a veces un par de días. Todas esas las considero tareas pequeñas.
Cada vez que actualice el estado de alguna tarea les dejaré una respuesta en este tema para que quienes estén suscritos a notificaciones puedan recibir un aviso a su Email.
Última nota: no se asusten si no entienden el propósito de alguna tarea, algunas cosas son técnicas, o hablan de características del Nuevo YoReparo que ustedes todavía no conocen.
Gracias por el apoyo!! :)
Lista de Tareas hasta el Nuevo YoReparo
Tareas más grandes
1) Hacer ensayo y ajuste de la migración.
El ensayo de migración busca verificar que la migración de la base de datos del YoReparo actual se hace correctamente al YoReparo nuevo sin pérdidas de información y hacer cualquier ajuste necesario a la migración.
2) Ajuste de sistema de Privilegios
Ajustar la tabla de privilegios. Cuáles son, qué tipo de activación tienen (automática o por aceptación), y cuál es el nivel de días activo y reputación que requiere cada uno.
3) Optimización con profiler.
La optimización por perfilado implica probar a fondo cada funcionalidad del sistema y ver qué utilización de recursos implica, con el objetivo de optimizar aquello que consuma demasiado recursos.
4) Panel para atender posts de mala calidad por votos negativos.
Siguiendo el modelo de los demás paneles de Issues. Que se reporte un issue para el post cuando supere cierto umbral de votos negativos. Será atendido por un moderador en caso que amerite.
5) Probar buscador.
El buscador ya está implementado pero le falta prueba. Probar el indexado y la búsqueda de preguntas, y foros por autocompletar. Hacer los ajustes necesarios.
6) Escribir páginas de ayuda.
El nuevo YoReparo va a tener páginas de ayuda para cada funcionalidad para que todos puedan tener dónde acudir a la hora de despejar dudas sobre cómo usar o cómo funciona YoReparo. Falta escribir
las páginas de ayuda.
7) Vídeos tutoriales de Ayuda
Tenemos en progreso la creación de 5 vídeos tutoriales (son 4!) que explican en vídeo áreas clave del Nuevo YoReparo para suavizar el impacto del cambio a quienes ya participan en YoReparo, y para
facilitar el uso también a los nuevos usuarios que vendrán en el futuro.
8) Redirección de URLs de YoReparo viejo al nuevo.
En el nuevo YoReparo va a cambiar todo el esquema de URLS, por ejemplo, la forma del enlace a una pregunta hoy es:
(cateogría).yoreparo.com/(foro)/(titulo de la pregunta)-t(id de la pregunta).html,
en el nuevo YoReparo la forma de la URL de una pregunta va a ser: yoreparo.com/(cateogria)/(foro)/(id de la pregunta)/(titulo de la pregunta)
Este nuevo espque es más simple y fácil de entender, además tiene otras ventajas desde el punto de vista de la infraestructura y el DNS.
Estamos trabajando en poder seguir intepretando los enlaces del viejo YoReparo y redirigir al visitante al enlace apropiado para la pregunta con el nuevo formato de URL.
9) Caché de páginas.
Esto es un caché del lado del servidor que permite consumir menos recursos cuando servimos páginas de YoReparo a usuarios no logueados. Estamos implementando una capa de caché con una
herramienta que se llama Varnish. La tarea implica la configuración de Varnish y los ajustes en la aplicación para que funcione con la capa de caché correctamente.
10) Ajustar Publicidad en YoReparo
La principal fuente de ingresos (lo que paga la fiesta) de YoReparo es la publicidad que se muestra en nuestras páginas. Esta tarea consiste de replantearse y optimizar la ubicación de toda la publicidad en el nuevo diseño de YoReparo de manera que no sea molesta, pero que mantenga un rendimiento económico que sea bueno.
11) Hacer pruebas de carga de la infraestructura hasta llegar a una performance de la aplicación, y costo de infraestructura para correrla adecuado.
Esto es una tarea grande que se complementa con las de optimización. Hacer pruebas de balance de carga hasta llegar a la performance deseada para la aplicación, para que sea posible correr el sitio con una infraestructura que tenga un costo lo más razonable posible. Además obviamente lograr la mejor experienca de los usuarios con tiempos de carga rápidos de la página.
12) Armar entorno de producción y hacerle pruebas de carga.
Esta tarea consiste de preparar la infraestructura final donde se va a instalar el Nuevo YoReparo. Hasta ahora las pruebas de carga son en una infraestructura que imita en todos sus detalles la infraestructura final, pero que no es ella.
Tares más pequeñas
13) Página de créditos de la nueva versión.
Es la página con los agradecimientos, a quienes colaboraron de distintas maneras para la realización de la nueva versión de YoReparo.
14) Revertir revisiones, de Respuestas, y Preguntas. Tengo que poder revertir una revisión aplicada.
Las revisiones son un mecanismo por el cual, cada vez que se edita un Post (sea una pregunta, o una respuesta) se almacena un historial de todos los cambios. Así los cambios se pueden mirar a futuro y saber cuál fué la evolución de las ediciones de un post. Esta herramineta está pensada para su uso en la mejora de los posts, y en la modearación, por ejemplo, para prevenir bandalismo de posts.
15) Finalizar ajuste de sistema de reputación.
16) Hacer spporte de sesiones de usuario en Redis.
Esto es un detalle interno de la infraestructura. Dado que el nuevo YoReparo va a correr en múltiples servidores web detrás de un balanceador de carga, las sesiones de usuarios vamos a centralizarlas en un cluster de Redis.
17) Tratamiento de preguntas viejas
Dado que el nuevo YoReparo hace un cambio significativo en el formato de las preguntas y respuestas y el mecanismo de valoración vamos a proteger las preguntas viejas de las nuevas reglas de valoración mostrando las preguntas viejas de una forma diferente a las preguntas que se creen después de lanzado el nuevo YoReparo. Esta tarea consiste en implementar la vista de las preguntas viejas que sean heredadas del anterior formato de YoReparo.
Se eliminó la posibilidad de comentarios en preguntas viejas, y se dejó publicar N respuestas para dejar fluir la participación en las preguntas viejas. Se van a cerrar todas las preguntas viejas el 1 de Junio de 2017.
18) Permitir solo una sugerencia de edición por post.
La sugerencia de edición es un mecanismo que vamos a otorgar como un privilegio, para que los usuarios más experimentados, si lo desean, al ver una pregunta, o una respuesta con errores que necesitan corregirse puedan submitir una sugerencia de edición.
Las sugerencias de edición nunca deben cambiar el significado de lo que se está diciendo. Son un mecanismo para mejorar lo que ya existe. Las sugerencias de edición son procesadas por quien publicó la pregunta o respuesta que recibe la sugerencia, o por los moderadores, quienes podrán aprobar o rechazar la sugerencia de edición. Esta tarea consiste de controlar que solo se permita hasta una sugerencia de edición por post a la vez, para no generar por errores banales y muy evidentes una montaña de sugerencias de edición por múltiples usuarios para el mismo error en un post.
19) Formulario de editar NODO en Admin.
El archivo para la imagen en este momento es requerido, y aún si el Nodo ya tiene imagen, el formulario pide sí o sí que se cargue una imagen nueva al editar.
Este es un detalle en el panel de Administración del Nuevo YoReparo
20) Para los usuarios que se está siguiendo, implementar también el "dejar de seguir".
21) El formulario para editar Respuestas tiene un problema de formato.
El formulario para editar la pregunta sí tiene el formato adecuado. Darle formato al de editar respuestas.
22) Repositories Hell
Esto es bastante técnico, y es una tarea de aprolijamiento del código para facilitar su mantenimiento a futuro. Cambiamos de enfoque en el uso de una herramienta interna clave del proyecto luego de comenzado el proyecto, y necesitamos homologar a la nueva forma de trabajo.
Tenemos un desorden con el uso de repositorios, pues entidades hasta llegan a tener dos repositorios... algunos están manejados por nuestra fábrica que trabaja con el concepto de hacer los repositorios inyectables, y forzar a definir una interfaz para los repositorios, y otro se manejan con la fábrica de Doctrine para obtener los repositorios un poco más mágicos que tienen métodos mágicos para los cuales no hay definida una interfaz.
Prefiero pasemos a usar solamente nuestra fábrica para poder testear los repositorios. Habría que hacer un refactoreo para encontrar todas las ocurrencias de uso de repositorios, y convertirlas al uso de repositorios de nuestra fábrica. A su vez comprobar que todas las funcionalidades que dependen de estos repositorios está funcionando bien luego de hacer el cambio.
23) Servicios Hell
Otra técnica en su descripción, que tiene que ver con aprolijamiento interno del código para facilitar también su mantenimiento a futuro.
Tenemos las definiciones de los servicios desparramadas por varios archivos services.yml, uno a nivel de App, otro a nivel de Resources... otro a nivel del ForoBundle.
Lo lógico sería unificar todas las definiciones de servicios dentro de ForoBundle pues allí es donde reside nuestro código.
24) Diálogo de Subida de archivos. El aceptar que pone luego de subir un archivo es innecesario
Es un detalle para facilitar más el uso de la nueva función para subir archivos para compartir a YoReparo.
25) Bug cuando se postea una respuesta y se aprieta BACK.
Si se aprienta el botón de BACK del navegador, se vuelve a la pregunta con el formulario de respuesta siendo completado, en vez de ver la respuesta publicada. Pero la respuesta está publicada. Esto va a generar seguramente confusión. Ver cómo se puede evitar.
26) Loaders JS para toda función que se ejecute por AJAX.
Nos falta agregar un elemento a todo Javascript que postea por AJAX para bloquear la función hasta que se termine de ejecutar la acción. Por ejemplo en postar comentarios, respuestas, emitiri votos, etc.
27) Hacer que autor de pregunta no pueda publicar una propuesta de solución hasta 1 día después de publicada la pregunta..
Para dar espacio a que otros propongan soluciones en caso que sea alguien que solo quiere aportar un TIP.
28) Agregar "días activo" a perfil del usuario. Tiene que ser un número visible como la reputación.
Los días activo son los días que un usuario ha entrado a YoReparo (no los días desde su registro, sino los días que efectivamente estuvo presente). Es un nuevo dato que vamos a comenzar a contabilizar de los usuarios
para otorgar privilegios en función de su constancia. La tarea consiste en hacer este dato visible.
29) Agregar leyendas para entender íconos en tabla de privilegios.
30) Redirección de login a destino cuando se presenta pantalla de Login por querer acceder a una función que requiere Login. Falta esta redirección, ahora el Login se va a Dashboard.
31) Preparar categorías y foros a migrar, sus imágenes, descripciones y nombre final luego de la migración.
[list]Tener a mano las imágenes para cada uno.[/list:u]
[list]Prever el renombrado de foros y categorías que se va a hacer para facilitar la catalogación en el nuevo YoReparo.[/list:u]
32) Funcionalidades básicas de mantenimiento de Nodos en su árbol (SUPERADMIN):
Mover Nodo (Elegirle otro parent en todo el árbol, o hacer su parent NULL para que vaya a la raíz)
Implica:
Recalcular el nivel del nodo y todos sus hijos.
Reescribir las rutas del Nodo y todos sus hijos.
Si hay sugerencias de Nodos pendientes también se deben actualizar
Renombrar NODO (Cambiarle el nombre lo cual debería reflejarse en el Slug y en su ruta y la de todos sus hijos)
Si hay sugerencias de Nodos pendientes también se deben actualizar
Borrar NODO (Eliminarlo y todo el contenido de sus hijos)
Esta es una funcionalidad peligrosa, hacer como borrado lógico y luego una purga a mucho tiempo.
Implica:
Borrar el Nodo
Borrar todas las preguntas y respuestas publicadas dentro de él y dentro de sus hijos
Borrar todos los Nodos hijos.
33) Verificación de Email
Poder supeditar privilegios a que la verificación del Email esté hecha
Va a ser otro booleano en la tabla de privilegios. Algunos privilegios van a tener como requisito la verificación del email (ej: votar positivo)
34) Topear cantidad de votos diarios
¿Tenemos topeada la cantidad de votos positivos / negativos por día por usuario? Deberíamos... y la cantidad debería aumentarse como un privilegio.
35) Herramienta para catalogación automática a partir de carpetas de catalogación.
Como el nuevo YoReparo apunta a que podamos tener una página para cada dispositivo o aparato que existe con su información, por ejemplo, para cada celular, televisor, modelo de automóvil, etc... estamos haciendo un trabajo previo de catalogación de Dispositivos. Estamos recabando toda la información de marcas y modelos que podemos encontrar en esta etapa para nutrir la base de datos de dispositivos del nuevo YoReparo.
Esta tarea consiste de poder cargar esa información que ahora estamos recabando de forma automática al nuevo YoReparo para crear el catálogo de dispositivos.
36) Hacer página de ayuda para cada privilegio.
Esta tarea consiste en redactar la página que enseña cómo utilizar cada privilegio del Nuevo YoReparo.
LANZAMIENTO!!
Instalar el Nuevo YoReparo en su entorno de prouducción.
Migrar base de datos del YoReparo viejo y todo su contenido al nuevo.
Hacer pruebas de diagnóstico del Nuevo YoReparo.
PONER A FUNCIONAR!!! :)
¿Realmente quieres cerrar esta reparación?
Sí
No
¿Realmente quieres reabrir esta reparación?
Sí
No
¿Realmente quieres borrar este post?
Sí
No