No puedo hacer que el etiquetado automático funcione

He agregado varias palabras en el área de etiquetado automático de palabras observadas.

Sin embargo, al crear un nuevo tema y que cualquiera de estas palabras aparezca en el título o el cuerpo del mensaje, no parece asignarse ninguna etiqueta automática. Supongo que debo estar haciendo algo mal, pero no tengo la menor idea de qué.

¿Acaso no es así como funciona esta función?

2 Me gusta

¿Alguien más tiene esto funcionando?

1 me gusta

Lo mismo, a mí tampoco me funciona (el “test” funciona, pero no al crear un tema real).

Quería verificar si también funciona para el título y para el contenido del post, y si los etiquetas se añaden al campo de etiquetas mientras se escribe, es decir, antes de que el usuario haga clic en enviar. Esto permitiría eliminar una etiqueta si consideran que no es adecuada.

1 me gusta

Bueno, para una función que acaban de lanzar, uno pensaría que ya estaría funcionando. :smiley:

Acabo de realizar una prueba rápida de esto en mi sitio de desarrollo local. Al agregar una palabra vigilada con etiquetado automático, la prueba funciona para mí, pero hasta ahora no he logrado que se etiquete automáticamente un tema cuando una publicación contiene una de las palabras vigiladas. Investigaré esto un poco más.

Edición: Realicé una prueba rápida de esto en un sitio de Discourse alojado y estoy encontrando problemas similares a los que veo en mi sitio de desarrollo. Al probarlo en mi sitio de desarrollo, descubro que el método auto_tag no se llama cuando creo un nuevo tema que contiene una palabra con etiquetado automático. Si edito un tema existente para agregar una palabra con etiquetado automático, el método auto_tag se llama y el tema se etiqueta.

Moveré este tema a la categoría de errores.

6 Me gusta

Solo acabo de notar que, en una importación de tema incrustado desde un sitio remoto, el etiquetado automático sí funcionó. Pensé que quizás ya se había corregido, pero lo probé en la creación normal de un nuevo tema y no hubo suerte. De todos modos, funciona parcialmente.

1 me gusta

Llegué aquí con el mismo problema (el etiquetado automático no se activa al crear un nuevo tema con palabras vigiladas). Pero tampoco logro que se añadan las etiquetas al editar una publicación existente.

Hice algunos cambios en esta función hace unas semanas y espero que estos problemas se hayan solucionado. ¿Sigues teniendo problemas con ello?

3 Me gusta

Gracias. Necesito actualizar. Lo probaré más tarde hoy.

1 me gusta

He lo intentado de nuevo y todavía parece que no funciona.

  • La expresión regular “PSYC611” no coincide con este texto en un nuevo tema.
  • Tampoco lo hace la expresión regular “psy(c?)6\d{2,3}” (que es la que me gustaría usar).
  • La ventana emergente de “prueba” no coincide con ninguna etiqueta, sin importar el texto de entrada.

Curiosamente, cuando miro en la consola, al escribir cualquier texto en el campo de ‘prueba’ en esta página, aparece este error:

[Error] SyntaxError: Invalid regular expression: nothing to repeat
	RegExp (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
	matches (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:201058)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:114334)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:113340)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:415053)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:407829)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:421290)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:458048)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:462227)
	De (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:187812)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146212)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146530)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:147093)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:488589)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:487600)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:489624)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:494999)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:491569)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:495515)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:311475)
	dispatch (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:42931)

He implementado algunas correcciones más que, creo, solucionarán tus últimos problemas. ¿Podrías actualizar y volver a comprobarlo?

Estoy en la versión 2.7.0.beta9. He intentado hacer un git pull y no hay cambios allí…

¡Ah, aún no está en beta porque acabo de enviar los cambios! Puedes probarlo si actualizas a tests-passed.

1 me gusta

Ah, lo siento… Tendremos que esperar para probarlo, ya que por el momento no tenemos un entorno de staging.

Resulta que ya había aprobado las pruebas, pero por alguna razón tardó un tiempo en hacerse visible en la actualización. De todos modos, ya no estoy en la versión 2.8.0.beta1 db7038e6c2 y he vuelto a probar. Todavía tengo problemas con el JavaScript. Estos son los tags que estoy usando:

(La interfaz sería mucho mejor como una lista; esta cuadrícula se vuelve engorrosa al usar muchos tags)

Así es como se ve el cuadro de prueba:

Y este es el error en la consola de JavaScript:

Screenshot 2021-05-20 at 09.23.16

El navegador es Safari Versión 14.0 (15610.1.28.1.9, 15610).

1 me gusta

Ahora lo entiendo. Tienes un error en tu primera expresión regular. Tienes “\d+{1,3}”, que no es válido. ¿Quizás querías decir “\d{1,3}”?

4 Me gusta

¡Ay, lo siento! Gracias por detectarlo. Ahora funciona correctamente.

Me pregunto si sería útil detectar errores y advertir al usuario, especialmente porque las personas no técnicas podrían escribir inadvertidamente cadenas que sean expresiones regulares inválidas. También sería genial que un error en una expresión regular no se propagara a las demás. En este caso, había coincidencias válidas con algunas de las expresiones regulares posteriores que no se encontraron debido al error en la primera.

2 Me gusta

¿Hay algo que podamos hacer aquí para avisar a los usuarios cuando se están disparando en el pie con expresiones regulares, @sam? ¿Podemos ocultar las expresiones regulares detrás de un modo avanzado? ¿Podríamos usar de forma predeterminada los límites de palabra, que es lo que la mayoría de la gente quiere cuando introduce una palabra, de todos modos?

2 Me gusta

Parece que funciona para mí, incluso con mis elementos de dos puntos o barra ahora (es decir: 1:35, 1/35).

¡Gracias!

1 me gusta

Mi propuesta sería simplemente no necesitar expresiones regulares completas y ofrecer soporte suficiente de forma predeterminada, de modo que solo 1 de cada 10.000 comunidades necesite ensuciarse las manos y usar expresiones regulares.

En este ejemplo específico de @ben, si soportáramos ?, entonces:

PSY7?? → masters
PSY6?? → stage4
PSYC7?? → masters
PSYC6?? → stage4

Voy a cerrar esto porque parece que la función está funcionando. (Sí, las expresiones regulares son más ricas, pero esto parece suficiente para capturar lo que Ben está intentando hacer).

3 Me gusta