coreBOS Story: Dicembre 2014

In questa ottava parte della coreBOS story, Joe Bordes ripercorre le novità e i cambiamenti apportati al progetto nel dicembre del 2014. L’articolo in lingua originale è disponibile sul blog ufficiale di coreBOS.

55f234820d029c712a0350e0f12252a81300bd4c-december.png

Il dicembre del 2014 porta, tra le altre cose, due miglioramenti molto importanti che segneranno il futuro sviluppo del progetto: la standardizzazione del modulo base del codice e coreBOS Events.

Standardizzazione del modulo base

Abbiamo iniziato un altro progetto a lungo termine per standardizzare il codice in tutti i moduli. L’obiettivo è avere tutte le funzionalità di un modulo base nella stessa directory, così che i moduli stessi siano semplicemente inclusi in quei file. In questo modo, quando aggiungiamo nuov funzionalità tutti i moduli le ottengono e l’applicazione è più efficiente.

Durante questo processo abbiamo aggiunto metodi e hooks così che gli sviluppatori possano personalizzare ogni modulo su specifici bisogni, continuando però ad ereditare tutte le funzionalità dei moduli nell’applicazione.

Questo mese abbiamo configurato la funzionalità FindDuplicateRecords.php.

coreBOS Events

Questo è un altro gigantesco cambiamento che l’azienda vtiger aveva davanti ai propri occhi e che ha continuato ad ignorare. Stefan Warnat ha implementato un’estensione per gli eventi completamente nuova per vtiger crm e l’ha condivisa col mondo! Abbiamo raccolto il suo lavoro e l’abbiamo integrato su coreBOS.

Grazie Stefan, per questo e per molti altri atti di supporto al progetto coreBOS.

Una volta inserita la funzionalità base del lavoro di Stefan su coreBOS, l’abbiamo migliorata e abbiamo iniziato ad aggiungere eventi su tutta l’applicazione. È possibile ottenere maggiori informazioni e dettagli in merito sulla documentation wiki page.

Webservice: strumento per accedere con una password da utente normale

Per accedere all’applicazione attraverso l’interfaccia del webservice servono un username e il valore del campo della chiave di accesso, che possono essere trovati sulla schermata del profilo di altri utenti.

Comprendo che sia stata una scelta fatta per motivi di sicurezza, così da non dover inviare le password tramite internet e, nel caso la chiave di accesso fosse compromessa, l’utente con cattive intenzioni sarebbe in grado di accedere solo alle informazioni contenute dell’applicazione del webservice, non a tutto ciò che è accessibile attraverso l’applicazione principale, ma devo ammettere che questo sistema confonde gli utenti e non migliora il livello di sicurezza, perché è possibile utilizzare la chiave di accesso compromessa per accedere, ad esempio, dallo strumento di sviluppo del webservice.

Ad ogni modo, abbiamo aggiunto la possibilità per gli sviluppatori dell’applicazione su webservice di decidere come vogliono che gli utenti accedano all’applicazione. Possono quindi continuare ad utilizzare la chiave d’accesso, che è il metodo di default, o accedere attraverso la password dell’utente aggiungendo il parametro withpassword alla richiesta di login, in questo modo:

$withpassword = true;

$login = $client->doLogin($username, $password, $withpassword);

Si può vedere questo strumento al lavoro nel Webservice Development Tool

cbwsdevelpassword.png

Inoltre possiamo ora cambiare la chiave di accesso dell’utente quando la sua password viene cambiata, mentre non c’era modo di cambiare questo valore se compromesso.

Popup capture hooks

Una delle caratteristiche più richieste è la possibilità di personalizzare la capture popup quando si apre o si seleziona un record, o in entrambi i casi.

Così abbiamo aggiunto un set di opzioni differenti per offrire questo requisito e lo abbiamo documentato sulla wiki, dove è possibile trovare tutti i dettagli e alcuni esempi.

Abbiamo anche aggiunto la funzione di aiuto convertArrayOfJsonObjectsToString() vtlib.

Opzione pin popup

Nei casi di certi utilizzi è interessante essere in grado di selezionare i record individualmente, così come li si vede o li si trova. Questo non era possibile in quanto ogni volta che si selezionava un record la finestra popup si chiudeva, obbligando l’utente a riaprirla per selezionare un altro record. Grazie alla funzionalità “pin popup window” è ora fissare al suo posto la finestra popup ed impedire che venga chiusa, riuscendo così a selezionare velocemente i record.

Sincronizzazione Google Calendar

Abbiamo aggiornato la Sincronizzazione Google Calendar alla più recente versione API v.3, in quanto quella precedente è obsoleta e discontinua.

From address sul template Email

È ora possibile specificare il from email sull’applicazione template email.

EmailFromOnTemplates.png

Caratteristica Ping

Questa caratteristica è ideale per monitorare i tempi di attività dell’installazione coreBOS. Nello specifico, è disegnata per essere eseguita da strumenti come Nagios o PandoraFMS e consente al team tech di sapere quando le cose non funzionano nel modo giusto. Leggi di più qui.

Supporto per più di un campo capture su liste correlate. fixes #252

Quando un modulo ha due o più campi capture uitype10 che puntano allo stesso modulo (per esempio Domains, che ha due campi account) la funzione di default get_dependents_list non usa tutti i campi, ma solo il primo campo capture che trova.

Il metodo get_dependents_list deve riportare tutti i record correlati, indipendentemente dal campo su cui vi è la relazione.

Alcuni altri:

  • Eliminazione di avvisi, strict MySQL e pulizia del codice (questa è ancora oggi una costante mensile).
  • Traduzione e supporto per caratteri speciali: picklist
  • Trasferimento di documenti e commenti su Deduplication: sistemazione di un errore importante dove allegati e commenti andavano persi su Deduplication.
  • Traduzione del nome PDF: traduciamo il nome del file dell’export nativo in PDF in base alla lingua dell’utente, invece di usare l’inglese hardcoded.
  • Forzare password complesse: integrazione di codice open source condiviso sul forum di vtiger crm per rafforzare password complesse. Grazie Sam Hast.
  • webforms: returnSuccess non produce un risultato su JSON
  • Reporting per Contact/Invoice. B2C
  • Validazione di Numeri Negativi (NN) nei filtri avanzati
  • fixes #249 Lingua e Tema impostati non correttamente durante le modifiche/duplicazioni

Grazie per aver letto!

 

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