2010-04-03 11 views
10

Estoy comenzando a investigar sobre lo que necesitaría para construir un sistema de complemento de nivel de usuario (como los complementos de Wordpress) para una aplicación de Rails, así que agradecería algunos consejos generales /Consejo. Por plugin de nivel de usuario me refiero a un paquete que un usuario puede extraer en una carpeta y hacer que aparezca en una interfaz de administrador, lo que le permite agregar una configuración adicional y luego activarla.Creando un marco de extensión para una aplicación de Rails

¿Cuál es la mejor manera de hacerlo? ¿Hay algún otro proyecto de código abierto que haga esto ya? ¿Qué ofrece Rails en sí mismo para los complementos de nivel de programador que podrían aprovecharse? ¿Algún plugin de Rails que pueda ayudarme con esto?

Un plugin tendría que ser capaz de:

  • ejecutar sus propias migraciones (? Con this es indocumentado)
  • tienen acceso a mis modelos (plugins ya lo hacen)
  • tiene puntos de entrada para agregar contenido a las vistas (se puede hacer con content_for and yield)
  • reemplazar vistas completas o parciales (¿cómo?)
  • proporcionan su propia administración y vistas de cara al usuario (¿cómo?)
  • crear sus propias rutas (o tal vez sólo anunciar su presencia, y que me crear las rutas para ello, para evitar que los complementos se pisen los dedos del otro)

¿Algo más que me falta?

Además, ¿hay alguna manera de limitar las tablas/acciones a las que tiene acceso el complemento en cuanto a migraciones y modelos, y también limitar su acceso a las rutas (quizás dejándolas incluir pero no eliminar rutas)?

P.S .: Trataré de mantener esto actualizado, compilando las cosas que averiguo y respuestas relevantes para tener una especie de guía para los demás.

+0

En mi opinión, usted está pidiendo demasiadas cosas en una sola pregunta. Si lo divide en varios, puede obtener más respuestas. – kikito

+0

Creo que agregar su propia dependencia de gemas también es esencial. – lulalala

Respuesta

3

Es posible que desee comprobar mephisto, es un software de creación de blogs construido con ruby ​​on rails y tiene complemento complemento de soporte. No estoy seguro si funciona como está pensando, pero podría darle algunas buenas ideas. La fuente se puede encontrar en GitHub.

3

Debe mirar deface gema. Permite personalizar vistas de rieles, agregar contenido mediante ganchos y reemplazar vistas/parciales completos. Spree está usando esta gema para que pueda ver también en spree. Además de las vistas, también tienen otras soluciones para personalizar la aplicación para que pueda encontrar más respuestas a sus preguntas.

Cuestiones relacionadas