SE BUSCAN DESARROLLADORES | NodeBB


  • 0

    Por cuestiones personales, algunos de los desarrolladores no están pudiendo participar al 100% por lo que el avance de NodeBB se está ralentizando. Necesitamos a gente con ganas de ayudar, con conocimientos en desarrollo web y con tiempo, sobretodo tiempo.

    Actualmente estamos usando este entorno como una especie de integración continua, así cada commit o cambio que hagamos sobre el foro o sobre algún plugin, podemos subirlo aquí para probar la integración con el resto y de paso que los usuarios puedan ir probando y testeando los avances.

    http://devnode.exo.do/

    Algunas de las tareas que tenemos pendientes son las siguientes (el punto de color delante del título indica la prioridad):


    • Plugin de encuestas

    Conocimientos necesarios: Javascript
    Proyectos relacionados: NodeBB Poll Plugin

    Existe un plugin ya hecho, pero no funciona correctamente. Hay que corregir varias cosas:
    _- (HECHO) Al votar, no se actualiza con tu voto. Sigue apareciendo el número de votos anterior, hasta que refrescas.

    • _(HECHO) Muchas veces falla y no muestra la encuesta, simplemente aparece 'poll/view' en vez de cargar el componente.
    • El botón para crear encuestas aparece siempre, sea en la creación de un hilo o escribiendo un post. Evidentemente hay que restringirlo para que solo sea posible en el primer caso.
    • Asegurarse de que no tiene ningún bug que permita votar varias veces ni cosas así.
    • Bonus: Añadir traducción 'Español'. Ahora solo está en inglés.


    • Revisar tema y detalles de la interfaz

    !(Tarea empezada por .marty) Conocimientos necesarios: HTML / CSS
    Proyectos relacionados: Éxodo Theme

    Básicamente, revisar cualquier fallo de la UI como un texto descolocado, imágenes que no se muestren, elementos que descuadren el foro o botones que no funcionen. Especialmente esto último ya que ahora mismo hay en la plantilla enlaces que no llevan a ningún lado, como por ejemplo, todos los enlaces del footer, que se pusieron ahí para imitar el tema actual de vBulletin y ahora hay que ver si podemos poner un enlace real o directamente quitarlo.

    Esta tarea incluye también la vista y el uso del foro en dispositivos móviles. La plantilla tiene que ser totalmente responsive.

    Como extra, estaría bien también darle un repaso al chat.!<


    • Diseño de la portada

    Conocimientos necesarios: HTML / CSS
    Proyectos relacionados: Éxodo Theme

    Entre unas cosas y otras, hemos ido dejando la portada de lado, pero es un punto muy importante del foro. Necesita una reestructuración de los elementos, añadir widgets que muestren listados útiles (últimos posts, etiquetas, etc. por el momento, los por defecto, luego con menos prisa ya añadiremos listados personalizados) y mostrar de forma bonita el nombre de las categorías, el número de hilos y el último post, por ejemplo.

    Puedes ir mostrando ideas en este hilo y lo decidimos entre todos.


    • Migración de contraseñas

    !(Tarea empezada por TheBronx)
    Conocimientos necesarios: PHP / MySQL / Javascript / MongoDB
    Proyectos relacionados: Importer Plugin / vBulletin Importer

    Tenemos prácticamente la migración de contenido y usuarios preparada, a excepción de la migración de contraseñas, que ahora mismo simplemente resetea el password y envia correo para que el usuario introduzca uno nuevo. Pensamos que por comodidad, lo suyo sería migrar también las contraseñas y realizar una migración totalmente transparente para los usuarios (dentro de la medida de lo posible). Así pues, los pasos básicos a seguir serían:

    • Adivinar que función de resumen usa vBulletin para hashear las contraseñas. Hecho.
    • Replicarla en Javascript para poder usarla desde Node.
    • Cambiar en el importer de vBulletin que recupere también las contraseñas (y el salt) de la BD y las guarde en un campo temporal de cada usuario (Tranquilos, es el hash del password no el password, obviamente)
    • Crear un plugin que intercepte cada intento de logueo de un usuario y que si tiene el campo temporal de password (y el campo real sin rellenar), intente, con la función en JS creada anteriormente, hacer el hash del password introducido por el usuario y comprobarlo contra el que tenemos temporal de la importación. Si coinciden, generaremos el hash con la función nativa de NodeBB y lo guardaremos el campo de la tabla específico para ello. Luego, borramos el campo temporal de importación para que a partir de ahora, siempre compruebe con el password real.

    Está es una tarea más laboriosa porque tendrás que montarte por un lado un vBulletin 4.2.2 (puedes descargarte versiones Nulled de forma gratuita por internet) y por otro un NodeBB para hacer las pruebas de migración. No te preocupes de la migración de contenido, solo en que se migren bien los passwords de los usuarios.!<


    • Modo Noche / Tema oscuro

    Conocimientos necesarios: CSS
    Proyectos relacionados: Éxodo Theme

    Esto no es del todo prioritario, pero nos gustaría que nada más lanzar el nuevo foro, tener al menos las mismas características que tiene el actual, y esto incluye el modo noche. No es algo complicado, sería simplemente copiar los estilos del modo noche actual y adaptarlos a la plantilla de NodeBB.


    • Autocompletado de iconos

    Conocimientos necesarios: Javascript
    Proyectos relacionados: Exodo-Emojis (cambiarle el nombre también estaría bien)

    El plugin ya está hecho, tranquilo. Solo faltan dos cosas:

    • Evitar que se salga por debajo cuando estamos escribiendo al final de un post.
    • Corregir el nombre de los iconos y añadir los que falten.

    Ambas cosas se explican en la siguiente imagen:

    Prioritario prioritario no es, pero ya que está al 90% el plugin, es una lástima que por tan poco no salgamos con él.


    • Mejoras en el listado de hilos

    Conocimientos necesarios: Javascript
    Proyectos relacionados: Éxodo Theme

    Aunque no es prioriario, hay algunos detalles que tiene vBulletin y no tiene NodeBB a nivel de UX (Pocos...) que estaría mal perderlos. Entre otros:

    • Mostrar resumen del hilo al pasar el ratón por encima de un hilo (Evitando los hilos +hd, +prv, +18 y que el contenido empiece por '[' )
    • Añadir un botón que te lleve al último post no leído. NodeBB lo que hace es, una vez entras, te muestra una notificación que si haces clic te lleva al últim post no leído, pero estaría bien poder mostrar un botón en el listado de hilos y así evitarte un click.

    Como digo, son pequeños detalles y no son prioritarios, pero están en la lista.


    • Revisar traducciones

    !(Tarea empezada por Fitzgerald (Solo la parte de traducciones. Falta la parte de buscar y reemplazar los textos dentro de los plugins)) Conocimientos necesarios: Inglés

    En general el foro está traducido, pero sobretodo hay algunos plugins que no lo están (como el de las encuestas). Es posible que toque internacionalizar alguno (revisar el template en busca de textos a piñon y moverlos a ficheros de traducción .json).
    No es del todo prioritario, porque creo que podemos salir con algún texto en inglés, pero no está de más.!<


    • Hilos populares

    Conocimientos necesarios: Javascript / MongoDB
    Proyectos relacionados: NodeBB Core

    Por defecto, NodeBB, tiene una opción para mostrar la lista de 'Hilos populares' y funciona perfectamente, pero el problema es que lo que hace un hilo popular o no, está basado simplemente en el número de respuestas, cosa que evidentemente en un foro como este, no nos vale (chupipandis, hilo flood, etc.). Así que necesitamos cambiar el algoritmo por defecto a algo que se adapte mejor a nuestras necesidades. No hay nada decidido y se aceptan propuestas, pero la idea general es hacer una relación visitas/posts/tiempo, es decir, un hilo abierto hoy y que ha generado 1000 visitas, tiene que estar por encima que uno que en la última semana ha generado 3000. No sé, no lo hemos pensado demasiado, pero está claro que como está no nos sirve.

    El cambio debe de ir en un plugin nuevo (que se incluirá en nuestro repositorio) para no meterle mano al core. No debería ser complicado, bastaría con sobreescribir la redirección '/popular' para que muestre tu listado (Express.js) en vez de el de por defecto.



    ¿Por dónde empiezo?

    Pues lo suyo es que te clones los proyectos involucrados en la tarea (Primeros pasos con GitHub) y que te montes un NodeBB con los plugins necesarios en tu local.

    ¿Y como haces eso? Pues tienes varias opciones:

    • Local: Instalarte Node.js + MongoDB y luego instalar NodeBB.
    • Instalarlo en un servidor tuyo.
    • Máquina virtual: Tenemos un Vagrant file para poder desplegar un entorno completo en pocos minutos: https://github.com/exo-do/exodo-vagrant-dev

    Para las dos primeras opciones, puedes seguir las siguientes guías:
    https://docs.nodebb.org/en/latest/installing/os.html

    Si la tarea implica base de datos, es necesario que instales MongoDB, ya que por defecto usa Redis:
    http://docs.mongodb.org/manual/installation/

    En el caso de tareas relacionadas con los estilos, si montarte el NodeBB te supone demasiado trabajo, puedes hacer las pruebas sobre el Devnode e ir haciendo los cambios a ciegas. Las herramientas de desarrollador o el Firebug, pueden ayudarte, pero ten en cuenta que lo que te muestra la página es CSS y en el theme se usa LESS.

    Una vez lo tengas todo terminado, haces Pull Request a nuestro repositorio (Primeros pasos con GitHub) y lo aceptaremos encantados :)

    IMPORTANTE: Si vas a empezar con una tarea, comunícalo en este hilo, para evitar que dos personas hagan la misma tarea por duplicado.

    Tengo dudas

    Es normal. Para algunas de las tareas de arriba, vas a necesitar leer la documentación de NodeBB y aprender como funciona un poco por dentro el sistema de plugins y el core. Pero el problema es que la documentación es bastante escasa y en algunos puntos, incluso desactualizada debido al rápido crecimiento del proyecto. Puedes empezar por:

    https://github.com/NodeBB/NodeBB/wiki
    https://docs.nodebb.org/en/latest/

    Pero muchas veces, es posible que tengas que bucear en por el core para saber qué hace exactamente un método concreto o como hacer tal cosa. En cualquier caso, pregunta tus dudas en este hilo y estaremos encantados de resolvértelas. :)

    ¡Muchas gracias!



  • 1

    Te lo upeo, yo no tengo ni idea de programación, pero con mi up, espero que te ayude algo.



  • 2

    @Aura said:

    Te lo upeo, yo no tengo ni idea de programación, pero con mi up, espero que te ayude algo.

    :mola:



  • 3

    Up.

    Ponedlo en adheridos :mola:



  • 4

    Que sea vea. Buen curro de hilo



  • 5

    @RedHotChiliPeppers said:

    Up.

    Ponedlo en adheridos :mola:

    Creo que la gente directamente salta a los hilos y no mira las chinchetas. Al menos yo lo hago :elrisas:



  • 6

    Yo me quedé en aprender a manejar el Word



  • 7

    Si veo que tengo tiempo y disponibilidad, os informaré para aportar algo en diseño web, css y responsive.

    Upeo, que avance el proyecto :mola:



  • 8

    @xuso said:

    Creo que la gente directamente salta a los hilos y no mira las chinchetas. Al menos yo lo hago :elrisas:

    +1. Déjalo flotante, no te reportaré por flood :elrisas:

    Yo ni idea, pero de todas formas... un nodebb donde los iconos no se puedan completar no me parece mal. El diseño de la portada no lo veo prioritario tampoco. Lo digo para que lo dejeis y ya se hará que llevais 20 y pico dias con eso :roto2:

    edit: @xuso podrías poner otra copia del post en el subforo de electronica



  • 9

    Invoco a @chocolate por si acaso sabe algo de NodeBB



  • 10

    Por desgracia no se programar en ninguno de esos idiomas, ni en c que deberia tampoco :roto2gay:



  • 11

    @Pixel said:

    +1. Déjalo flotante, no te reportaré por flood :elrisas:

    Yo ni idea, pero de todas formas... un nodebb donde los iconos no se puedan completar no me parece mal. El diseño de la portada no lo veo prioritario tampoco. Lo digo para que lo dejeis y ya se hará que llevais 20 y pico dias con eso :roto2:

    edit: @xuso podrías poner otra copia del post en el subforo de electronica

    Con funcionar lo mismo que ahora como minimo creo que es suficiente :nusenuse:



  • 12

    Vamos, una ayudita a estos genios que se estan dejando la piel para que disfrutemos todos! Me jode no poder aportar nada al foro....
    UP!



  • 13

    Arriba!

    Buen curro :number1:



  • 14

    upppp



  • 15

    echad una manita primohs!
    el NodeBB está ya bastante presentable como véis, pero aun faltan retoques, y una vez publicado llegarán las killer features así que van a faltar manos jejeje.
    si os gusta programar, conocéis javascript (o lenguajes similares) y tenéis ratos libres, es una buena forma de aprender! tecnologías molonas como Node.js, MongoDB y websockets, en un proyecto sobre una arquitectura bastante buena como es NodeBB (api y a base de plugins, aunque la docu es mejorable), y con los putos amos de Shurscript entre otras grandes figuras :sisi:
    lo más difícil está hecho, y el que quiera aprender nos tiene a tiro de MP, más no se puede pedir.



  • 16

    Me encantaría ayudar, pero no tengo mucho tiempo. Foreo desde el curro la mayor parte del tiempo y estaría feo que currase en otras cosas :roto2:



  • 17

    si ya conoceis vbulletin y sabeis hacer script muy buenos, porque alargar mas esto, montar un vb mega tocho como fc con shurscript y todos contentos, eso gustaba a todos nodebb puede gustar mas o menos con vb + shurscript no fallais.



  • 18

    Lo siento,ni si quiera manejo el word bien,pero floupeo



  • 19

    @ExO said:

    si ya conoceis vbulletin y sabeis hacer script muy buenos, porque alargar mas esto, montar un vb mega tocho como fc con shurscript y todos contentos, eso gustaba a todos nodebb puede gustar mas o menos con vb + shurscript no fallais.

    No es por hacer de hinformatico de bar, pero por lo que leí: el shurscript iba a dar problemas a gran escala, por eso hablaron con @Hitlario.





Has perdido la conexión. Reconectando a Éxodo.