coreBOS story: marzo 2015

Un’interessante immersione nelle novità e nei miglioramenti realizzati nel marzo del 2015, un mese importante perché vi ricorre il compleanno di coreBOS! L’articolo originale in lingua inglese è disponibile sul blog ufficiale del progetto.

755b927dcfec41df2617060352dc6be018e359f9-march.jpeg

A marzo c’è il primo compleanno di coreBOS. Il regalo di quest’anno è un intero pacchetto di nuove caratteristiche e funzionalità. Iniziamo ad allontanarci dalle nostre origini di vtiger crm ed a godere della libertà che ci dà la capacità di accrescere e sistemare il codice senza restrizioni, dando un valore reale agli utenti di coreBOS attraverso il nostro lavoro costruttivo.

Ci sono così tante cose di cui parlare questo mese che ho dovuto fare dei post separati nei blog ed aggiungere altre documentazioni nel wiki, per questo è passato un po’ di tempo dal mio ultimo post mensile sullo sviluppo. Andiamo a vedere.

Miglioramenti del workflow

  • resa l’estensione totalmente traducibile, poi tradotta
  • sistemati gli errori nella funzione round
  • sistemati gli errori identificando l’evento has changed nelle picklists
  • sistemati gli errori nell’evento save calendar
  • aggiunta la funzione format date
  • Vista in dettaglio della funzionalità direct save per lanciare i workflows tramite le azioni

Diamo un’occhiata all’interno di quelle ultime due

Con la funzionalità di date format sarai in grado di inserire date nelle tue email in qualsiasi formato vorrai, anche creando rappresentazioni di testo a seconda della richiesta. Per esempio, potresti fare qualcosa del genere:
1

Ma puoi anche creare campi con valori precalcolati. Come ad esempio, potresti creare un campo customizzato per racchiudere ogni singola fattura pagata durante l’anno trimestrale in modo da poter poi creare dei rapporti.

L’azione Detail view direct save è uno strumento utile ad automatizzare alcuni processi del flusso lavorativo. Viene usato tipicamente quando si ha un flusso di lavoro che viene lanciato al momento del salvataggio di un campo. Invece di costringere l’utente a modificare il campo, possiamo creare nel pannello destro un “action link” il quale eseguirà questo processo di salvataggio, lanciando indirettamente il flusso lavorativo. In questo modo, l’utente lancia due o più azioni con un solo click.

Workflows programmati

Una caratteristica che da tempo mancava ma che in realtà abbiamo implementato anni fa per il crm vtiger 5.0.4 (o 5.0.3, non mi ricordo) e la quale fu da loro ignorata (come al solito).
Data l’importanza di questa caratteristica le ho dedicato un post individuale.

Reports

  • campi di traduzione si/no
  • moduli connessi ai limiti a due. Dato che l’utente può facilmente creare indagini molto complesse le quali possono non essere eseguibili o che porterebbero giù il server se lanciate, noi limitiamo il numero di relazioni che loro possono scegliere.
  • ordinare la lista dei moduli connessi
  • correzioni ai campi “currency”

Eventi coreBOS per il sovraprezzo fiscale e per i moduli “multi tax”

Un’altra invenzione avanzata che rende il sistema molto più flessibile ed adattabile a tanti altri paesi e casi di utilizzo.

Utilizzando il recente eventing system di coreBOS, aggiungiamo un intero set di eventi i quali consentono ai sviluppatori di ignorare del tutto la logica di impostazione predefinita.

Puoi leggere tutto ciò che le riguarda, e conoscere le estensioni multi-tasking per coreBOS che le usano per permettere una configurazione di impostazione completamente flessibile e potente in questo post.

Agganci javascript di coreBOS

Noi aggiungiamo una classe javascript la quale permette allo sviluppatore di collegare la propria funzionalità a qualsiasi funzione o metodo di classe di coreBOS. Questa funzionalità viene chiamata corebosjshook e ci consentirà di lanciare il nostro codice prima o dopo la funzione selezionata o di sostituirla completamente con il nostro codice. Leggi qui tutto a suo riguardo.

Convertire le “campagne” in un modulo normale

Siccome abbiamo la tendenza di standardizzare il codice del modulo base noi modifichiamo anche i moduli standard dell’applicazione per farli usufruire di questa base, in modo che tutti abbiano la stessa funzionalità ed eredino in modo diretto la nuova funzionalità.

Questo mese ripuliamo e standardizziamo il modulo della campagna dandogli un supporto per l’import, l’export, e la deduplicazione, tra gli altri.

Variabili globali

Man mano che ci abituiamo al potere ed alla flessibilità di questo modulo e delle sue funzionalità iniziamo ad aggiungere variabili globali in tutta l’applicazione. Questo mese, oltre a fare alcune correzioni ed ottimizzazioni abbiamo aggiunto:

  • unità predefinite del prodotto
  • unità di servizio predefinite
  • prodotto/servizio predefinito
  • record di debug non trovato

Email utente connesse ai commenti per le notifiche relative al workfow

Aggiungiamo un campo utente a riempimento automatico nei commenti. Viene compilato con l’utente assegnato dal entità correlata. Quindi, per esempio, se tu, come utente Joe, aggiungi un commento in un account assegnato all’utente Lorenzo, questo nuovo campo verrà compilato con l’e-mail di Lorenzo così che tu possa facilmente creare workflow che informano Lorenzo del commento che è stato aggiunto ad un record a lui assegnato.

Aggiornamento del tasso di cambio cron

Questo incarico programmato viene avviato, di default, due volte al giorno. Si connette al servizio Yahoo Finanze ed aggiorna tutte le valute aggiuntive attivate nella tua applicazione rispettando la tua valuta di base.

Se sei interessato a connetterti con alcuni altri servizi contattaci.

Libreria cache generica

Estendiamo l’oggetto cache esistente, il quale ha il supporto solo per alcune manciate di variabili globali, con la funzionalità di contenere qualsiasi valore nella memoria. Puoi utilizzarlo nel tuo codice in questo modo:

2

Quando lo recuperiamo, riceveremo una matrice che ci indica l’esistenza o meno dell’informazione nella cache ed il suo valore se presente.

3

Modulo dei dettagli di inventario

Un’idea geniale dal membro della nostra comunità Omar alla quale ho dedicato un post intero. Grazie Omar!!!

Picklists di ricerca sul valore tradotto

Il valore di ciascuna picklist viene creato e salvato con un valore a singola stringa. Qualsiasi campo in cui viene visualizzata una picklist conterrà il valore della stringa dell’opzione di selezione nel campo, ma quando viene visualizzata verrà tradotta nella lingua dell’utente.

Adesso, quando l’utente ricerca dei valori in questo campo della picklist introdurrà il testo che vede, ma quello non è il testo salvato nel campo quindi la ricerca non funzionerà.
Noi proviamo ad attenuare questo problema con questa correzione, dove cerchiamo la traduzione inversa della stringa dataci e ricerchiamo quel valore. E’ come un traduttore molto sconnesso il quale sta cercando di essere utile. Ci saranno degli aspetti positivi, ma ce ne saranno anche di negativi. Per lo meno è meglio che ottenerne sempre solo di negativi. Ovviamente ricercare il valore reale salvato nel campo è un metodo che continua a funzionare sempre e noi dedicheremo del tempo per sistemarlo in modo corretto.

Alcune altre:

  • Elimina le avvertenze, annotazioni, il MySQL rigoroso e pulizia del codice (quest’ultima è una costante ogni mese, anche oggi).
  • Sicurezza ed ottimizzazione
  • Migrazione dei script dal vtiger6.x
  • Ordinamento alfabetico ovunque
  • Testo di script favorevole per le picklist
  • Potenzialità connesse ai contatti filtrati per account
  • Voci di selezione vlib non duplicate
  • Il convertitore della mail ricerca i contatti anche nella mail secondaria
  • Gli headers script e gli headers CSS si congiungono in popup così che i sviluppatori possano inserire il loro codice nella schermata di capture popup.
  • Correzioni al QueryGenerator

Un mese MOLTO ATTIVO!! Buon Compleanno coreBOS.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s