2012-01-01 5 views
5

Sto costruendo un'applicazione che dovrebbe consentire all'utente di caricare i propri temi per visualizzare i dati in modo personalizzato. Ogni tema dovrebbe includere tutte le risorse necessarie come il template html (usando Liquid), i file css, i javascript e le immagini. Il risultato dovrebbe essere molto simile a quello che Shopify consente di fare ai propri clienti.Temi definiti dall'utente in un'app per rotaie: come conservare le risorse

Sto lottando per trovare il modo migliore per gli utenti di inviare i loro temi e per l'applicazione per servire di nuovo. Nello specifico, quali sono le migliori pratiche:

  • Per restituirli ai visitatori. Mentre servire i file html/liquidi sembra essere abbastanza semplice usando un negozio personalizzato, sono confuso su come fare riferimento e servire 1) immagini richieste dai temi, 2) file CSS richiesti dai temi, 3) immagini richieste dal css presentare
  • per memorizzare quindi materie i diversi tipi di attività (ad esempio, dati vs file inserito e struttura di cartelle per i file caricati)
  • possibilità per gli utenti di modificare i modelli caricati attraverso un'interfaccia web

Grazie a avanzare.

risposta

3

La pipeline di asset è progettata principalmente per servire asset fissi precompilati in fase di distribuzione. C'è un sacco di spese generali nel fare questo, e non penso che sia adatto per servire contenuti modificabili dinamicamente.

Per attaccare questo problema vorrei creare un elenco di matrice di tutti i tipi di risorse sul sistema (utente e statico) e quali sono le opzioni per ciascuno.

Accanto a ogni scrittura possibili opzioni di memorizzazione, ad es. filesystem raw, pipeline del filesystem, database. Quindi elaborare i pro e i contro per ciascun approccio e la complessità approssimativa di ciascuno.

Non credo che l'utilizzo della pipeline per questo sarebbe una best practice a meno che non si sia realmente, davvero preoccupati per le prestazioni front-end; sarebbe molto lavoro per farlo funzionare.

Un mix di database/file system sarebbe probabilmente ottimale.

+0

Ciao Richard, grazie per la tua risposta, ma sto cercando esempi reali, ad es. snippet o app di esempio, per capire quali sono i potenziali approcci che possono essere utilizzati. Hai qualche esempio che potresti fornire? – Topo

+0

Siamo spiacenti, non ho esempi. –