¿Qué te gustaría que hiciéramos?
RE: https://community.unix.com/
Acabamos de completar la migración a Discourse, pero mantendremos nuestros foros antiguos accesibles hasta 2021, ya que contamos con dos décadas de código heredado del cual nuestros miembros están muy orgullosos (y en el que han invertido mucho trabajo).
Para nuestro personal, que desee verificar ocasionalmente la integridad del código migrado, necesitamos un pequeño plugin que extraiga el value de topic_custom_fields y añada únicamente el entero (que es el ID del hilo del foro antiguo) al TopicViewSerializer. De esta forma, el serializador JSON incluirá el par clave-valor adicional:
"import_id" : <thread_id_of_legacy_forum>
Vea la consulta a continuación como ejemplo; así, el valor añadido al TopicViewSerializer (para este topic_id de Discourse) será:
"import_id": 284071
postgres=# \c discourse
You are now connected to database "discourse" as user "postgres".
discourse=# select * from topic_custom_fields where name like '%import_id%' and topic_id = 377947;
id | topic_id | name | value | created_at | updated_at
--------+----------+-----------+---------------+----------------------------+----------------------------
239520 | 377947 | import_id | thread-284071 | 2020-04-22 03:20:03.968513 | 2020-04-22 03:20:03.968513
(1 row)
Queremos utilizar esta propiedad en un componente de plantilla de la siguiente manera:
{{import_id}}
Dado que necesitamos un pequeño componente de plantilla <span> para el plugin-outlet topic-category, que se verá así (y que será visible solo para nuestro nivel de confianza especificado):
<span class='import-id'>Legacy Forum Thread <a class='import-id-link' href='https://www.unix.com/showthread.php?t={{import_id}}'>{{import_id}}</a></span>
¿Cuándo lo necesitas?
Cualquier momento en las próximas semanas está bien. No hay mucha prisa.
¿Cuál es tu presupuesto, en $ USD, que puedes ofrecer por esta tarea?
Se aceptan todas las cotizaciones razonables por este pequeño plugin.
Información adicional
Tenemos previsto hacer este código libremente disponible para todos aquellos que hayan realizado una migración similar. Sin embargo, es muy posible que otros foros heredados no tengan una preocupación tan alta por la integridad de los datos del código antiguo, por lo que es posible que nuestro foro sea el único que utilice este plugin.
Ayer redacté una descripción de este requisito “excesivamente compleja” y, por tanto, quizás “inexacta”; por lo que creo que la descripción anterior es más simple y fácil de entender (espero):
Nota al pie
Trabajé en este pequeño plugin durante varios días; fue mi primer intento de crear un plugin para Discourse y seguía obteniendo un valor null para import_id en el TopicViewSerializer.
Actualización
Gracias a un poco de amabilidad y tutoría, ahora tengo funcionando la parte del serializador de esta tarea.

