Attualmente sto lavorando su un sito per consentire agli utenti di cercare attraverso un catalogo prodotti personalizzato. Mi sono guardato intorno e mi piacerebbe sfruttare il CMS di Orchard per aiutarmi a sviluppare questo sito. Al momento sono passato attraverso Ron Petersons youtube series su Moduli orchard personalizzati e su Skywalker blog series.Posso cercare/indicizzare un'origine dati personalizzata in Orchard tramite Lucene?
Mi sento come se il mio obiettivo fosse possibile, ma sto cercando di convalidare se la mia strategia funzionerà all'interno del framework Orchard.
Questa è la mia situazione attuale:
Ho una configurazione di default frutteto che punta a un DB SQL (nome prodotto-frutteto)
Ho un DAL personalizzato che punta a un altro SQL DB (denominato Prodotti).
I prodotti sono costituiti dalle informazioni tipiche dell'utente (Nome prodotto, Descrizione, Prezzo, ecc.).
La DAL personalizzato ha un modello POCO chiamata del prodotto (con un repository per interagire con) con le proprietà nome, descrizione, prezzo.
Ora, sulla base delle informazioni che ho letto sulla creazione di moduli Orchard Sembra che il metodo di creazione di un modulo personalizzato con contenuti personalizzati è quello di:
creare un modulo attraverso il codice strumenti GEN (lo chiameremo ProductModule)
creare una parte Content personalizzato (ProductPart)
Creare un Content personalizzato Part Record (P roductPartRecord) per fungere da modello di dati per la parte.
Creare un ContentPartHandler personalizzato (ProductPartHandler) che gestisca la persistenza della parte del contenuto.
Creare un driver personalizzato che è la voce per preparare le forme per il rendering dell'interfaccia utente.
Creare potenzialmente un servizio che interagisca con i driver?
Questo è il punto in cui le cose iniziano a essere confuse e non sono sicuro che sia possibile o meno. Quello che mi piacerebbe fare è creare un Content Type personalizzato supportato dal mio DAL personalizzato piuttosto che avere i dati da memorizzare attraverso ContentPartRecord all'interno del DB di prodotto-Orchard, ma permetterlo comunque di essere indicizzato dal modulo di Lucene per consentire per la ricerca del catalogo prodotti.
È possibile creare un ContentType e/o ContentPart personalizzato supportato da un'origine dati diversa e sfruttare ancora le funzionalità di ricerca di Lucene?
In termini di alto livello mi piacerebbe un Product ContentType in cui i ContentItem sono effettivamente memorizzati nel mio database secondario, non nel database di Orchard (e comunque voglio essere in grado di sfruttare la ricerca di Lucene tramite Proiezioni).
Stai cercando di convertire i tuoi prodotti in elementi di contenuto? – Hazza
Vorrei poter leggere direttamente dal catalogo prodotti, ma se ciò non è fattibile, allora sì, potrei convertire. Ogni prodotto ha circa 12 proprietà, ma devo solo essere in grado di cercare su 3 o 4 di esse. Un'opzione con cui sto giocando è la possibilità di creare una ProductPart personalizzata con quelle proprietà ricercabili. Quindi quando ho bisogno di tutte le informazioni (come nella pagina dei dettagli del prodotto) farei qualcosa di simile a questo: http://stackoverflow.com/questions/4727843/how-to-change-orchard-record-repository. – Keith
Questo mi richiederebbe un processo di sincronizzazione per sincronizzare i dati dal catalogo prodotti al db Orchard, cosa che vorrei evitare, ma se questo è il metodo migliore, potrei farlo. – Keith