Discourse resuelto

En la página principal, junto a Top, Hot, Latest, etc., ¿cómo puedo añadir Unsolved?

Puedes usar el componente Custom Top Navigation Links para añadir enlaces personalizados junto a los configurados en los ajustes del sitio. Para filtrar la lista de temas por temas no resueltos, puedes añadir solved=no. Por ejemplo, Discourse Meta - The Official Support Forum for Discourse

6 Me gusta

Running into the same incompatible plugin error mentioned up above, but we are using official release:

Logs
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
Cycling Unicorn, to free up memory
Restarting unicorn pid: 551
Waiting for Unicorn to reload.
Waiting for Unicorn to reload..
Waiting for Unicorn to reload...
Waiting for Unicorn to reload....
Waiting for Unicorn to reload.....
Waiting for Unicorn to reload......
Waiting for Unicorn to reload.......
Stopping 3 Unicorn worker(s), to free up memory
Stopping job queue to reclaim memory, master pid is 3004191
$ cd /var/www/discourse/plugins/docker_manager && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/docker_manager && git reset --hard HEAD@{upstream}
HEAD is now at 930ec25 DEV: Enable smoke specs again
$ bundle install --retry 3 --jobs 4
Bundle complete! 146 Gemfile dependencies, 189 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into `./vendor/bundle`
3 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
Scope: all 17 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date

Done in 3.2s
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
checking out compatible discourse-calendar version: 8d09cf8503b78f4c72b47a7319c0f4b9ad0247e7
HEAD is now at 8d09cf8 DEV: update regions (#717)
checking out compatible discourse-reactions version: f87583d9054421869ba0de16c24ad15e32bbebe7
HEAD is now at f87583d DEV: Add system spec to check core features are working fine (#361)
checking out compatible discourse-solved version: 4f0234f5be3aaa77db277e0f224cd9750d2713cd
HEAD is now at 4f0234f DEV: Add system spec to check core features are working fine (#357)
discourse-spoiler-alert is already at latest compatible version
docker_manager is already at latest compatible version
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
	81: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:in `<main>'
	80: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:in `load'
	79: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `<top (required)>'
	78: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
	77: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in <top (required)>'
	76: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
	75: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
	74: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
	73: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
	72: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	71: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
	70: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
	69: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
	68: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
	67: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
	66: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:in `<top (required)>'
	65: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:in `load'
	64: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
	63: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:80:in `run'
	62: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'
	61: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:83:in `block in run'
	60: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'
	59: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'
	58: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'
	57: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'
	56: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
	55: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'
	54: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'
	53: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
	52: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
	51: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
	50: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
	49: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
	48: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
	47: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
	46: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
	45: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
	44: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
	43: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
	42: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
	41: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
	40: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
	39: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
	38: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'
	37: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'
	36: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'
	35: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:559:in `block in run_tasks_blocks'
	34: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:411:in `require_environment!'
	33: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
	32: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	31: from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
	30: from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
	29: from /var/www/discourse/config/environment.rb:7:in `<main>'
	28: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:435:in `initialize!'
	27: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in `run_initializers'
	26: from /usr/local/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
	25: from /usr/local/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
	24: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each_strongly_connected_component'
	23: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `call'
	22: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each'
	21: from /usr/local/lib/ruby/3.3.0/tsort.rb:352:in `block in each_strongly_connected_component'
	20: from /usr/local/lib/ruby/3.3.0/tsort.rb:434:in `each_strongly_connected_component_from'
	19: from /usr/local/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
	18: from /usr/local/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
	17: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
	16: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `run'
	15: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `instance_exec'
	14: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:94:in `block in <module:Finisher>'
	13: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks'
	12: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `each'
	11: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks'
	10: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook'
	9: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
	8: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:94:in `block in execute_hook'
	7: from /var/www/discourse/config/application.rb:241:in `block in <class:Application>'
	6: from /var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
	5: from /var/www/discourse/config/application.rb:241:in `block (2 levels) in <class:Application>'
	4: from /var/www/discourse/config/application.rb:241:in `each'
	3: from /var/www/discourse/lib/plugin/instance.rb:629:in `notify_after_initialize'
	2: from /var/www/discourse/lib/plugin/instance.rb:629:in `each'
	1: from /var/www/discourse/lib/plugin/instance.rb:631:in `block in notify_after_initialize'
/var/www/discourse/plugins/discourse-solved/plugin.rb:172:in `block in activate!': undefined method `register_category_list_topics_preloader_associations' for an instance of Plugin::Instance (NoMethodError)

** INCOMPATIBLE PLUGIN **

You are unable to start Discourse due to errors in the plugin at
/var/www/discourse/plugins/discourse-solved

Please try removing this plugin and rebuilding again!
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:109:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 3 Unicorn worker(s) that were stopped initially

tldr logs:

** INCOMPATIBLE PLUGIN **

You are unable to start Discourse due to errors in the plugin at
/var/www/discourse/plugins/discourse-solved

Please try removing this plugin and rebuilding again!
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>


We aren’t too far behind, but something is unhappy.

Edit: So, everything about this update went south. docker_manager failed as logged above, but then it showed as ‘up to date’ afterward. A main Discourse update utterly failed - showed as updating but never made progress and no processes changed. I disabled Solved! in app.yml and rebuilt the app - everything seems good now - minus Solved. If anyone comments that it’s safe to turn back on I’ll rerebuild it.

3 Me gusta

Para que conste, tengo instalado el plugin Solved y lo actualicé hoy temprano a través de la interfaz de usuario y funcionó bien. :+1:


Debería haberlo comprobado antes de publicar… :slight_smile: Parece que hay un nuevo commit para Solved que se ha añadido mientras tanto. Déjame hacer una reconstrucción desde la línea de comandos solo para comprobar y confirmar que todo funciona bien.

ETA: @Frully Mi reconstrucción (incluido Solved) fue exitosa :partying_face:

2 Me gusta

Para agregar a lo que dijo Jam. Yo también no he tenido ningún problema con solved

Si esta es la primera vez que instalas Solved, verifica que tu dirección de GitHub esté correcta.

También tal vez puedas compartir si estás usando Stable o la versión Recomendada Probada

Si puedes publicar una parte de la sección de plugins de tu app.yml, también podría ayudar.

2 Me gusta

Gracias a ambos por verificarlo. Ahora que está actualizado, me siento más seguro para volver a habilitar el plugin. Avisaré cuando tenga tiempo para probar y anotar los resultados.

3 Me gusta

Todavía sufrimos este problema (aunque como nadie más parece haberlo reportado, empiezo a preguntarme si solo nos pasa a nosotros)

Profundizando un poco más, he descubierto que agregar un padding-top y padding-bottom de 15px a la clase CSS topic-statuses soluciona el problema. Espero que un mantenedor del plugin pueda solucionarlo de manera más permanente.

3 Me gusta

Creo que esto está conectado a Discourse Tooltips. No son solo las casillas sin resolver en tu sitio, sino también cualquier pin y candado.

Creo que hay un par de informes más:

5 Me gusta

Desde que actualizamos Discourse, las webhooks de respuestas resueltas están invertidas.

Si resuelvo un tema, la webhook se enviará así:

    "can_accept_answer": true,
    "can_unaccept_answer": false,
    "accepted_answer": false,
    "topic_accepted_answer": null

y si desmarco la respuesta, es al revés

:partying_face: Este plugin ahora está incluido en el núcleo de Discourse como parte de Bundling more popular plugins with Discourse core. Si te autoalojas y usas el plugin, necesitas eliminarlo de tu app.yml antes de tu próxima actualización.

3 Me gusta

Tiene un error con la última versión de discourse

Tengo que deshabilitar esto para rebuild app (discourse)

Ya está incluido en el núcleo

3 Me gusta

Inicio > Las publicaciones de la categoría mostrarán temas resueltos como temas no resueltos

¿Necesito otras configuraciones?

1 me gusta

¿Es posible añadir una entrada en Filtros avanzados en el área de búsqueda de Discourse para mostrar solo los no resueltos?

puedes usar /filter y in:solved / in:unsolved

3 Me gusta

Entiendo que podemos usar el “first_accepted_solution” activable de Solved al crear una automatización. ¿Una automatización con este disparador se ejecutaría solo una vez por cada tema que se resuelva o es la primera solución aceptada de un usuario y no un tema? No estoy seguro de si la pregunta tiene sentido, lo siento.

“First-accepted-solution” se activa la primera vez que la publicación de un usuario se selecciona como la solución de cualquier tema.


Puedes, por ejemplo, usarlo para agradecer a un usuario por ayudar a alguien la primera vez que lo hizo.

Hola @Moin,

Muchas gracias por la aclaración, tiene sentido.

Pregunta de seguimiento: ¿Existe algún disparador de “accepted-solution” o solo “first-accepted-solution”?

Razonamiento: Me gustaría crear una automatización personalizada que cree una publicación cada vez que un tema se resuelva (se marca una publicación como solución)

Lo intenté con “first-accepted-solution”, pero solo funciona una vez, como puedo ver ahora, es lo esperado. ¿Alguna recomendación o idea?

Sin saber qué quieres hacer con esa publicación o por qué la necesitas, es un poco difícil sugerirte algo útil.
¿Simplemente quieres saber sobre las publicaciones marcadas como solución?

Entonces podrías usar una consulta del explorador de datos y el script “Programar una publicación en un tema con resultados del explorador de datos”. Podrías, por ejemplo, ejecutar una consulta que devuelva las soluciones de los últimos 10 minutos cada 10 minutos. Supongo que también podrías ejecutarla con más frecuencia, pero no estoy seguro de cuánto añade esto al servidor. Pero incluso si la ejecutaras cada minuto, no necesariamente obtendrías una publicación por cada solución. Quizás haya 2 temas resueltos en el transcurso de un minuto. Además, la publicación resultante solo se puede personalizar hasta cierto punto. (Por supuesto, puedes personalizar los textos utilizados como cualquier otro texto, pero debes tener en cuenta que luego tendrás que hacerlo para cada publicación que se modifique mediante la automatización con este script. Por lo tanto, realmente no funciona si quieres ser demasiado individual.)

Ejemplo simple de una publicación creada por esa automatización

El contenido de la tabla depende de la consulta. Es posible ampliar la consulta, por ejemplo, para mostrar un enlace al tema o a la solución. Lo mantuve simple para demostrar cómo funciona la característica en general.

La consulta que utilicé
SELECT
  dst.created_at AS solution_accepted_at,
  dst.topic_id,
  dst.answer_post_id,
  dst.accepter_user_id
FROM discourse_solved_solved_topics dst
WHERE dst.created_at >= NOW() - INTERVAL '10 minutes'
ORDER BY dst.created_at DESC
1 me gusta

Hola @Moin ,

Muchas gracias por tu respuesta :slight_smile:

Es genial, lo probé y funcionó, gracias a tu respuesta:

Además, todavía no es lo que estaba buscando.
Disculpa si no fui claro en mi pregunta anterior.

Lo que estoy tratando de hacer es crear una Automatización que cree una publicación (desde un usuario del sistema) cada vez que se resuelva un Tema. En este Tema, la Publicación recién generada contendrá una encuesta (la encuesta será el markdown de las Encuestas de Discourse).