Plugin de Landing Pages 🛩

Gracias Angus por tu rápida respuesta y solución. ¿Cómo actualizamos el plugin para obtener la última corrección?

Actualmente, veo el plugin Landing.
La imagen muestra un elemento de interfaz que permite al usuario agregar páginas de destino para descubrir más sobre Papolo Cabscourse con una puntuación actual de 0.4. (Subtitulado por IA)

Por favor, ayúdanos a saber cómo navegar para obtener el plugin de actualización.

1 me gusta

Hola Steve, si tu alojamiento es proporcionado por un proveedor de hosting, ponte en contacto con tu proveedor. Si tu alojamiento es propio, actualiza el plugin yendo a /admin/update o reconstruyendo tu instancia.

1 me gusta

Gracias Angus, ya que está autoalojado… reconstruiremos la aplicación y te mantendremos informado sobre la solución.

2 Me gusta

¡Solo un ./launcher rebuild app completo fue suficiente para mí! Está arreglado aquí! (<- Ejemplo de nuestras páginas de destino)

2 Me gusta

Sí… funcionó para nosotros. Gracias por la solución y la rápida respuesta.

2 Me gusta

Hola,
Tengo problemas con el plugin Landing Pages en mi sitio. El plugin no funciona como se esperaba. Está causando problemas de diseño y no muestra el contenido correctamente.

¿Alguien más ha experimentado esto? ¡Cualquier consejo o solución para este problema sería de gran ayuda!

¿Puedes compartir el enlace a una página de tu comunidad que muestre este problema y/o algunas capturas de pantalla?

¿Podría buscar una landing page (título o contenido) en ese foro?

1 me gusta

Estoy creando una página usando un plugin de página de destino, y también tiene JS. ¿Hay algún lugar donde deba colocar el archivo JS, o debería simplemente colocarlo en la propia página del plugin? Pero no funciona así, ¿verdad?

Hola, ¿podrías enviar el archivo que intentas agregar?

Los archivos JS deberán colocarse en el directorio assets/javascripts/discourse. Pero el subdirectorio exacto dentro de ese directorio dependerá del archivo.

Quizás deberías preguntar esto en el tema del plugin en sí, no como un tema separado.

1 me gusta

Escribí la extensión Home Pages para Landing Pages. Esto te permite tener algunas páginas renderizadas usando componentes Ember Glimmer. Si puedes empaquetar tu JS de esa manera, es una opción.

Ver Landing Pages Plugin 🛩 - #95 by merefield

1 me gusta

Tras la actualización de Discourse, la página de inicio no funciona correctamente… no conserva el estilo HTML+CSS definido. ¿Alguien más tiene un problema similar?

¿Eso significa que puedo agregar js personalizados a las páginas?

Si los empaquetas como Componentes de Ember, sí

¿Así que necesito tener tanto el plugin de página de inicio como el de página de destino para lo mismo?

Sí, en efecto

Hola, gran plugin, me encanta la capacidad de listar todos los temas publicados en una página para usuarios no registrados, muchas gracias.

¿Puedo preguntar si la página de destino del formulario tiene alguna protección contra spam/inundaciones en el backend?
Este es un buen proyecto FOSS, por cierto:

1 me gusta

En un sitio recién actualizado (en tests-passed), la importación de un documento HTML comprimido parece estar rota en este momento. Me refiero a esto:

La misma página funciona bien cuando se pega directamente o a través de un repositorio.

Muchas notificaciones de depreciación en la consola, pero nada activamente roto allí. Sin embargo, en /logs:

image

Backtrace completo

Mensaje (se informaron 6 copias)

No se encontró el plugin requerido ‘landing_pages’

Backtrace

activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/app/controllers/application_controller.rb:363:in `block in requires_plugin'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:406:in `instance_exec'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:406:in `block in make_lambda'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:178:in `block in call'
actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:179:in `call'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:559:in `block in invoke_before'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:559:in `each'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:559:in `invoke_before'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:429:in `block in with_resolved_locale'
i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:429:in `with_resolved_locale'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:140:in `run_callbacks'
actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/instrumentation.rb:76:in `block in process_action'
activesupport-8.0.2.1/lib/active_support/notifications.rb:210:in `block in instrument'
activesupport-8.0.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport-8.0.2.1/lib/active_support/notifications.rb:210:in `instrument'
actionpack-8.0.2.1/lib/action_controller/metal/instrumentation.rb:75:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-8.0.2.1/lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack-8.0.2.1/lib/abstract_controller/base.rb:163:in `process'
actionview-8.0.2.1/lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:90:in `block in profile_method'
actionpack-8.0.2.1/lib/action_controller/metal.rb:252:in `dispatch'
actionpack-8.0.2.1/lib/action_controller/metal.rb:335:in `dispatch'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:32:in `block in <class:Constraints>'
actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:62:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `each'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:908:in `call'
railties-8.0.2.1/lib/rails/engine.rb:535:in `call'
railties-8.0.2.1/lib/rails/railtie.rb:226:in `public_send'
railties-8.0.2.1/lib/rails/railtie.rb:226:in `method_missing'
actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:33:in `block in <class:Constraints>'
actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:62:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `each'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:908:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
/var/www/discourse/lib/middleware/crawler_hooks.rb:11:in `call'
rack-2.2.17/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.17/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.17/lib/rack/head.rb:12:in `call'
actionpack-8.0.2.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:415:in `call'
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'
rack-2.2.17/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.17/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/cookies.rb:706:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:100:in `run_callbacks'
actionpack-8.0.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster-2.20.1/lib/logster/middleware/reporter.rb:40:in `call'
/var/www/discourse/lib/middleware/default_headers.rb:13:in `call'
railties-8.0.2.1/lib/rails/rack/logger.rb:41:in `call_app'
railties-8.0.2.1/lib/rails/rack/logger.rb:29:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/request_id.rb:34:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:23:in `call'
rack-2.2.17/lib/rack/method_override.rb:24:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
rack-2.2.17/lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler-4.0.1/lib/mini_profiler.rb:191:in `call'
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'
message_bus-4.4.1/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:410:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties-8.0.2.1/lib/rails/engine.rb:535:in `call'
railties-8.0.2.1/lib/rails/railtie.rb:226:in `public_send'
railties-8.0.2.1/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.17/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.17/lib/rack/urlmap.rb:58:in `each'
rack-2.2.17/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

Entorno

HTTP HOSTS: spokes.nz`
1 me gusta

También he encontrado este problema.

Tengo un problema persistente con el plugin Landing Pages donde tanto las importaciones de Git como las de ZIP fallan silenciosamente. La interfaz de administración muestra un mensaje de éxito en verde después de un pull/importación, pero no se crean páginas ni aparecen en el menú desplegable “Seleccionar página”.

He confirmado que el problema no es un error de configuración del usuario. El registro del servidor muestra el siguiente mensaje de error paradójico cuando se activa la importación:

Started GET "/landing/remote/pages" for ...
Processing by LandingPages::RemotesController#import as JSON
Required plugin 'landing_pages' not found
Required plugin 'landing_pages' not found
Completed 200 OK in ...

Este error ocurre a pesar de que la solicitud es manejada por el propio controlador del plugin.

Pasos de solución de problemas realizados:

  • Confirmé que el repositorio es público y que la URL HTTPS es correcta.
  • Validé la sintaxis de pages.json y probé tanto la estructura global como la por página (welcome/page.json).
  • Crear una página manualmente en la interfaz de administración funciona perfectamente. Esto demuestra que el núcleo del plugin está funcionando y que el problema está aislado en el importador.
  • He realizado una eliminación completa, reconstrucción, reinstalación y reconstrucción del plugin oficial Pavilion para garantizar un estado limpio.
  • Se aumentó el client_max_body_size del servidor y se reconstruyó la aplicación.

El error persiste después de todos estos pasos. Parece ser un problema más profundo con la función de importación.

1 me gusta

Gracias BrianC. En realidad, no probé completamente las importaciones de Git.

¡Es genial tener eso claramente explicado!