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.
Stai chiedendo troppe cose a una sola domanda, secondo me. Se lo dividi in più, potresti ottenere più risposte. – kikito
Penso che aggiungere anche la propria dipendenza dalla gemma sia essenziale. – lulalala