wiki
Benvenuto Ospite, sei in: Login
RSS RSS

Navigazione (Tech)





Ricerca wiki
»
Tustena CRM è un’applicazione web basata su un modello tree-tier. La filosofia che ha guidato lo sviluppo dell’intero framework è focalizzata sulla leggerezza dell’interfaccia, la rapidita nel data-retrieving e la facilità di integrazione.

L’intera applicazione poggia su quattro DLL principali che offrono tutta l’architettura di supporto:

Tustena.Core – E’ la classe cuore del sistema e contiene:
  • tutte le logiche di autenticazione delle licenze, dei moduli, e delle librerie di terze parti.
  • la classe UserConfig (UC) che contiene il profilo utente completo una volta che l’utente si è autenticato.
  • Le configurazioni di base lette da settings.config
  • Il serializzatore avanzato
  • Il gestore di risorse per le lingue
  • Le librerie di compressione per la generazione dei files zip
  • Le funzioni statiche legate principalmente alla manipolazione di stringhe e numeri.

Questa classe è protetta in quanto contiene le licenze e le parti fondamentali del programma che non devono essere modificate.

Tustena.Base – E’ la classe di base e contiene le principali logiche di funzionamento di cui le più importanti sono:
  • G, la classe derivata da Page che, utilizzata in tutte le pagine, contiene autenticazione, persistenza, layout, gestione di errori, profilo utente, gruppi e zone. Oltre a vari helper utilizzati frequentemente e dipendenti dal profilo utente.
  • GUserControl una versione ridotta di G utilizzabile negli UserControls.
  • Il sistema di supporto al Web2.0 che si divide in Ajax per l’accesso a metodi .Net via javascript e Ajaxed un wrapper che consente di rende rizzare solo alcuni contenuti in fase di postback per aggiornare parzialmente la pagina e ridurre i tempi di elaborazione e accesso.
  • L’interfaccia IToday che permette di sviluppare gadgets da integrare nella pagina Today in formato Codefile (che non necessita di compilazione).
  • MessagesHandler il gestore dei messaggi di sistema via email, messaggistica interna, sms, MS Messenger, ecc.
  • CrmBusinessObjects è la classe di base per tutti i BO utilizzati nel sistema.
  • EventPlugins è il gestore degli eventi collegabili ai BusinessObjects le la manipolazione degli stessi da codice esterno.

Tustena.Database – E’ una raccolta di classi per la manipolazione dei dati SQL.

L’accesso ai dati avviene attraverso la classe statica Digita.Tustena.DatabaseConnection. Qui sono contenuti i metodi che consentono l’accesso diretto al database e decidono autonomamente se e quando utilizzare un accesso transazionale. Anche la gestione di un eventuale rollback in caso di errore è totalmente automatica. I tre metodi più utilizzati in questa classe sono:
  • CreateDataset che restituisce un DataSet fillato con la query eseguita
  • DoCommand che esegue un comando SQL
  • DigiDapter un wrapper che semplifica le gestione di insert e update e si occupa della storicizzazione (history) dei dati.
    La classe inoltre contiene molti altri helper per semplificare l’accesso ai dati in modo sicuro.

Tustena.WebControls – Contiene tutti i controlli creati specificatamente per Tustena CRM, fortemente integrati con il sistema e ottimizzati per sfruttarne a pieno le caratteristiche. I più usati sono:

  • TustenaRepeater è il repeater utilizzato per tutte le griglie di ricerca e offre capacità native di caching e ottimizzazione delle query, oltre a sfruttare il postback ajax senza necessità di configurazione.
  • TustenaTabber e il gestore delle schede a tab multipli. Anche questo controllo è in grado di ottimizzare al meglio il caricamento e ridurre al minimo le richieste al sistema per favorire le prestazioni.
  • CompanyBox, ContactBox, LeadBox, DateBox, CatalogBox, AccountBox, ecc. Sono una serie di controlli derivati da TextBox che offrono una serie di automazioni specifiche per facilitare l’accesso alle informazioni a cui si riferiscono.
  • LocalizeResourceManager contiene tutte le classi per la localizzazione dei controlli.
  • FreeFields è il controllo per la generazione dei campi liberi
  • SideBar è il container per tutti i gadget presenti nella barra laterale, anche questi configurabili a piacimento e sviluppabili derivando dall’interfaccia ISideBar come per IToday.
    E molti altri il cui scopo è facilmente intuibile.

Le logiche di funzionamento e le interfacce sono contenute nella libreria principale Tustena.DLL, e varie librerie di appoggio per moduli specifici come Ticket, Knowledge Base, EventPlugins, ecc. Per separare l’accesso ai dati dalla programmazione dell’interfaccia web, dei web service e dei plugin, sono stati sviluppato dei BusinessObjects specifici per quasi ogni elemento del CRM.

Sono contenuti nel namespace Digita.Tustena.BusinessObjects ed espongono tutte le proprietà relative alle informazioni disponibili per ogni tipologia di oggetto, oltre ai metodi base per caricarle, salvarle e invocare tutti gli eventi di controllo. Gli stessi sono accessibili via WebService e EventPlugins per l’integrazione con applicazioni esterne. Una parte molto importante del sistema sono le librerie Javascript contenuti nella cartella JS.

Tra questi i più importanti sono:
  • Common.js utilizzato in ogni pagina contiene tutte le funzioni fondamentali alla gestione delle interfacce clienti side.
  • DynaBox.js genera i div flottanti utilizzati in molte pagine del CRM

Inoltre ci sono dei files di appoggio in formato XML che definiscono strutture di template, report, stampe, filtri di importazione, ecc. La maggior parte si trova nella cartella XML, tranne gli schemi di importazione che si trovano in ImportMaps e i report che sono nella cartella REPORT. Dalla release 6.5 saranno spostati tutti nella cartella bin\XML. Infine c’è una cartella definibile attraverso la chiave DataStoragePath del settings.config dove vengono salvati tutti i documenti che vengono generati da Tustena.

Nella radice di questa cartella vengono salvati tutti i file dell’archivio documenti, mentre ci sono delle cartelle specifiche per li salvataggio dei dati di sistema:

Webmail - Qui vengono salvati tutti i documenti scaricati attraverso la web mail.
Template - Qui si devono inserire gli xml relativi ai template di stampa di preventivi, ordini, fatture e DDT personalizzati.
Quotes, orders, invoice e ddt - In queste cartelle vengono salvati i documenti pdf generati da preventivi,ordini,fatture e DDT.
LuceneIdx – Indici di Lucene, il motore di ricerca documentale di Tustena.
Logos - I logo caricati nella parte amministrativa per fare le “carte intestate“.
Image - immagini caricate nell’editor HTML, ad esempio le mail per Mass mailing.
Catalog - Le schede tecniche dei prodotti del catalogo.