coreBOS story – Agosto 2016

ee90ccadeeda35bd8c98ee147b2db62924ca939c-august.png

Mentre rivedevamo tutte le modifiche del mese, due idee si sono fatte strada nella mia testa: stavamo creando qualcosa di importante e non eravamo in vacanza, quell’Agosto :-)

Business Maps

  • Elenco di miglioramenti di mapping delle colonne che consentono di definire le colonne da visualizzare nella ricerca globale e chiedere se esiste una mappatura per un modulo
  • Mappa del business di layout del Master-Detail
  • Aggiunta del supporto per la mappatura dei Campi nei Workflows

Commit info sul download zip

Raccomandiamo l’installazione di coreBOS direttamente da GitHub o da simili repository perché aggiorniamo costantemente il codice, ma per chi non lo fa, è estremamente utile sapere esattamente quale versione dell’applicazione hanno scaricato. Con la “magia” che abbiamo aggiunto nel file della versione è esattamente quello che si ottiene, come si può vedere nella comparazione tra prima e dopo.

vtigerversion.php PRIMA

1

vtigerversion.php DOPO

2.png

Creazione di altre entità sulla conversione dei lead

Quando si converte un lead, l’applicazione crea automaticamente un contatto, un account e un potential. Non è una cosa fuori dal comune creare altre entità aggiuntive che rientrino nella business logic dell’utente.

Per coprire questa necessità abbiamo compinato il potere di alcune Business Maps già esistenti per ottenere il risultato. Sul nostro sito dedicato alla documentazione ci sono tutti i dettagli.

Workflows

  • Creazione di task per i moduli di inventario: grazie ad un contributo della community da parte di Luke abbiamo ottenuto un nuovo task di workflow associato ai moduli inventario che ci permettono di convertire automaticamente queste tipologie di record in altri tipi di moduli di inventario. Con il supporto della mappatura nativa e della Field Mapping Business Map è possibile ottimizzare la conversione in base alle necessità.
  • Task di duplicazione dei record: in combinazione con la Duplicates Record business map questo workflow permette la duplicazione di massa dei record e delle sue entità correlate.

Variabili globali

  • Application_ListView_SearchPanel_Open
  • Application_AdminLoginIPs
  • Debug_Popup_Query
  • ModComments_DefaultCriteria and ModComments_DefaultBlockStatus
  • Application_TrackerMaxHistory
  • Utilizzo della funzionalità descrizione quando si può usare il campo descrizione per definire valori di testo lunghi, così che sia più facile da mantenere
  • Definizioni della variabile globale

Miglioramenti per gli sviluppatori

  • getFieldFromEditViewBlockArray e getFieldFromDetailViewBlockArray
  • getMultiCurrencyInfoFrom: per moduli con funzionalità di multi valuta, questa funzionalità restituisce tutte le informazioni delle valute utilizzate su un record
  • getjslanguage: questa chiamata ci consente di ottenere traduzioni che risiedono nell’applicazione, nel browser. Nella directory lingue dei nostri moduli creiamo file nominati con ogni lingua, come ad esempio en_us.js, ed inseriamo le etichette della traduzione in un array JSON, quindi chiamiamo la funzione getjslanguage con questo URL:

3.png

Miglioramenti dei moduli inventario

Abbiamo introdotto un miglioramento molto importante che mantiene le linee di inventario anziché eliminarle ogni volta. Prima di questo cambiamento, ogni volta che un record di un modulo inventario veniva modificato tutte le linee venivano cancellate e poi ricreate, così da perdere ogni informazione che stavamo seguendo nel modulo dei dettagli di inventario. Dopo questo cambiamento, cancelliamo solo le linee che sono davvero cancellate e modifichiamo ed aggiungiamo quelle nuove, così che tutte le informazioni che salviamo sui dettagli di inventario siano conservate.

Questo miglioramento ci permette di usare la Business Map Master-Detail per configurare la modifica del campo dettagli di inventario nelle linee di inventario, come si può vedere in questo video.

Validatore

Sulla strada verso l’aggiunta di un sistema di validazione generico e facilmente configurabile, abbiamo studiato e selezionato una library Valitron dalle molte disponibili. L’abbiamo integrata nell’applicazione rendendola disponibile agli sviluppatori e abbiamo aggiunto alcune validazioni personalizzate come l’IBAN.

Controllo della fase di vendita potenziale e lo stato dell’inventario sul modulo

Questi record di cronologia di modifica dello stato sono stati salvati direttamente nello script Save.php del modulo o hardcoded nella classe principale CRMEntity. Il primo è uno sbaglio, perché possiamo salvare da altre parti dell’applicazione (webservice, workflow…), cambiando effettivamente lo status senza che il cambiamento venga registrato. Il secondo è anch’esso un errore, perché abbiamo codice e funzionalità specifici per un modulo all’interno della classe principale generale.

La regione per cui è stato fatto in questo modo è che avevamo bisogno di registrare lo status prima e dopo il salvataggio, e non avevamo gli eventi quando questo codice è stato creato.

Invece di risolvere questa necessità usando gli eventi, abbiamo superato il processo di salvataggio della classe. Abbiamo selezionato lo status e poi chiamato il salvataggio come normale, riproducendo una funzionalità equivalente.

Questo approccio è molto potente e viene usato in diverse parti dellìapplicazione.

Azione di download di massa dei documenti

Un nuovo pulsante di azione sulla vista della lista documenti ci permette di scaricare un set di allegati in un formato compresso.

Alcuni altri

  • Standardizzazione e pulizia di Documenti e Calendario
  • Costo del servizio di prodotto sui dettagli dell’inventario
  • Report pianificati molto grandi hanno rotto il controller dei task programmati
  • Se un record Potential è correlato ad una campagna, correliamo automaticamente l’account o contatto genitore a quella campagna
  • Spostamento della posizione della valuta alle impostazioni valuta, non alle preferenze dell’utente
  • Mobile. Abbiamo continuato a lavorare su questo progetto che diventa sempre più utile
  • Uitype non esistente mostrerà i campi come sola lettura
  • Possiamo ora attivare e disattivare i Commenti per i moduli nelle impostazioni
  • Sistemazioni del Calendario
  • Inline modifica tramite post per il supporto di set di dati di grandi dimensioni come i campi dei commenti
  • Sicurezza di clickjacking
  • Traduzioni in olandese. Grazie Luke!
  • Eliminazione di allarmi, avvisi, restrizioni MySQL e pulizia del codice (quest’ultima è una costante mensile ancora oggi).
  • Traduzione. Avvisi di allarme, eliminazione del codice inutilizzato, pulizia.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s