2010-04-03 15 views
10

Sto iniziando le ricerche su ciò di cui avevo bisogno per creare un sistema di plugin a livello utente (come i plugin Wordpress) per un'app Rails, quindi apprezzerei alcuni suggerimenti generali /consigli. Per plugin a livello utente intendo un pacchetto che un utente può estrarre in una cartella e visualizzarlo su un'interfaccia di amministrazione, consentendo loro di aggiungere qualche configurazione aggiuntiva e quindi di attivarla.Creazione di un framework di estensione per un'app Rails

Qual è il modo migliore per farlo? C'è qualche altro progetto opensource che lo fa già? Cosa offre già Rails per i plugin a livello di programmatore che potrebbero essere sfruttati? Qualsiasi plugin Rails che potrebbe aiutarmi con questo?

Un plugin dovrebbe essere in grado di:

  • gestiscono le proprie migrazioni (? Con this E 'documentato)
  • hanno accesso ai miei modelli (plugin già fanno)
  • hanno punti di ingresso per aggiungere contenuto alle viste (può essere fatto con content_for and yield)
  • sostituire intere viste o parziali (come?)
  • forniscono la propria amministrazione e viste dall'utente rivolta (come?)
  • creare i propri percorsi (o forse solo annunciare la sua presenza e lasciare mi creare le rotte per esso, per evitare che i plugin si calpestino l'un l'altro)

Qualcos'altro che mi manca?

Inoltre, c'è un modo per limitare quali tabelle/azioni il plugin ha accesso alle migrazioni e ai modelli, e anche limitare il loro accesso alle rotte (magari lasciandoli includere, ma non rimuovere percorsi)?

P.S .: Cercherò di tenerlo aggiornato, compilando materiale che ho capito e risposte pertinenti in modo da avere una sorta di guida per gli altri.

+0

Stai chiedendo troppe cose a una sola domanda, secondo me. Se lo dividi in più, potresti ottenere più risposte. – kikito

+0

Penso che aggiungere anche la propria dipendenza dalla gemma sia essenziale. – lulalala

risposta

3

Si potrebbe voler controllare mephisto, è un software di blogging costruito con ruby ​​su rotaie e ha il supporto plugin aggiuntivo. Non sono sicuro che funzioni come stai pensando, ma potrebbe darti delle buone intuizioni. La fonte può essere trovata su GitHub.

3

Si dovrebbe guardare deface gemma. Permette di personalizzare le visualizzazioni dei binari, aggiungendo contenuti tramite hook e sostituendo intere viste/parziali. Spree sta usando questa gemma in modo da poter guardare anche a spree. Oltre alle viste hanno anche altre soluzioni per personalizzare l'applicazione in modo da poter trovare più risposte alle tue domande.

Problemi correlati