Approcci alternativi alla creazione di moduli personalizzati in un'applicazione web

2

Stiamo mettendo insieme un software di distribuzione che vende circa 150K SKU . Alcuni dei nostri articoli hanno requisiti aggiuntivi per essere venduti che sono dettati dai nostri fornitori. Ad esempio un tipo di prodotto che vendiamo sono piedi protesici. Alcuni fornitori richiedono che catturiamo il peso degli utenti, il livello di attività e alcune altre informazioni. Questo è solo un esempio ci sono molti diversi tipi di prodotti che potrebbero avere questo tipo di requisiti (un set personalizzato di informazioni raccolte dal cliente per completare la vendita).

L'approccio diretto è semplicemente creare moduli personalizzati per ogni esigenza e creare nuove forme quando sono necessari nuovi requisiti. Questo funziona. È semplice, ma è anche un PIA. Vorrei poter dare un calcio indietro al nostro team di prodotto che gestisce l'inserimento di nuovi elementi piuttosto che doverli sempre tornare da noi.

Il progetto è un'applicazione web basata su python (Turbogears). Non sono sicuro se questo fosse rilevante in quanto la domanda è più generale di questa, ma mettila qui per ogni evenienza.

Come ti avvicineresti a questa situazione per minimizzare o rimuovere il tuo coinvolgimento con la creazione / aggiunta di questi moduli dopo che il sito è passato alla produzione?

    
posta Ominus 16.03.2012 - 12:27
fonte

3 risposte

4

Potresti creare una procedura guidata per la creazione di moduli e confezionarla con il prodotto. Essenzialmente, permetterebbe al venditore (o al team del prodotto) di creare un numero qualsiasi di forme di tutte le forme e dimensioni. Al momento della creazione del modulo, eventuali modifiche necessarie al back-end verranno automaticamente programmate ed eseguite.

Quindi, il venditore (o il team del prodotto) si recava in un'area dell'applicazione chiamata qualcosa come "Tutti i moduli" o "I miei moduli" per vedere i moduli creati da loro o da qualcun altro. Oppure, potrebbero scegliere "Crea nuovo modulo" per utilizzare la procedura guidata.

    
risposta data 16.03.2012 - 13:49
fonte
3

Puoi consentire al cliente di definire attributi personalizzati. Fondamentalmente, il cliente definirà il nome, il tipo, i valori accettabili, ecc. E tali informazioni verrebbero archiviate nel datastore.

Ad esempio:

Peso, numero intero, il peso deve essere maggiore di zero.

Oltre all'applicazione principale, ci sarebbe una (e) scheda (e) personalizzata (i) se necessario. Vengono creati dinamicamente in base agli attributi definiti, al tipo, ecc. In questo caso, poiché si tratta di un numero, verrà utilizzata una sorta di controllo numerico dell'interfaccia.

Quindi le schermate personalizzate sono diverse in base alle esigenze del cliente.

Quindi, il tuo team fa l'applicazione principale e consente al cliente di estenderlo secondo necessità. Il tuo team dovrà decidere se includere il campo come parte dell'applicazione principale o lasciare che sia un attributo specifico del cliente.

    
risposta data 16.03.2012 - 14:45
fonte
2

A seconda di quanto sofisticato si desidera ottenere, è possibile consentire agli utenti di creare un elenco di potenziali campi per ogni tipo di prodotto e memorizzarlo nel proprio database. Per creare il modulo, leggi dal database e impila tutti i campi uno sopra l'altro in modo dinamico (lascia un po 'di spazio e applica un'etichetta e prova a renderlo il più pulito possibile).

Ogni campo può avere un'impostazione per: obbligatorio, tipo di dati (data, valuta, int, ecc.). Avere elenchi a discesa potrebbe non funzionare a causa della natura di questi dati. Qualcuno della tua azienda dovrà rivedere l'input e probabilmente fare un po 'di pulizia.

Ho fatto qualcosa di simile con i requisiti del parameteer per i report. Ogni rapporto ha avuto input specifici.

    
risposta data 16.03.2012 - 18:49
fonte