Archives For Open Source

Abbiamo già trattato l’argomento, ci torno sopra perché –dopo gli ultimi aggiornamenti del software di Manage Engine– l’aspetto di ServiceDesk è decisamente cambiato (in meglio) e mi ha fatto nascere una nuova esigenza, in realtà nell’aria già da tempo. Si tratta della possibilità di fare un refresh manuale della pagina.

Nulla di particolare sotto al sole, sia chiaro, giusto un’aggiunta che può tornare utile avere a portata di clic oltre che di tastiera (in quel caso basta un F5). Ho scelto di inserire il nuovo pulsante subito prima del “Close“.

ServiceDesk: una toolbar personalizzata sempre in vista 1

Per lanciare un aggiornamento della pagina ho utilizzato un semplice window.location.reload(), che si integra quindi nel codice di un nuovo pulsante. Per poter far stare tutto su una sola riga, ho aumentato le dimensioni (larghezza) della toolbar, portando il valore a 310 pixel. Nello specifico, questo è il codice del nuovo pulsante:

// REFRESH
'<input type="button" title="Refresh" class="formStylebutton" style="width:auto;height:18" onclick="window.location.reload()" value="Refresh" name="refreshButton"> ' +

Ho rilasciato perciò una nuova versione del CustomScripts.js, disponibile come sempre su Gist, te la propongo qui di seguito per comodità:

Ne approfitto per ricordarti che lo script dovrà essere inserito in [TUOSERVERSDP]\ServiceDesk\custom\scripts, e che forzando un aggiornamento della pagina (del tuo HelpDesk) dovresti notare subito la novità, senza la necessità di riavviare il software.

Per commenti, nuove idee o suggerimenti riguardo possibili miglioramenti del codice attualmente proposto, l’area commenti è a tua totale disposizione!

G

Condividi l'articolo con i tuoi contatti:

Oggi si torna a parlare di ServiceDesk e di un piccolo particolare che non apprezzo particolarmente nelle sue ultime versioni: la toolbar bassa che propone i comandi rapidi per lavorare sui ticket compare esclusivamente se gli stessi superano un certo numero, costringendo il tecnico a uno scroll verso il basso, parlo di questa:

ServiceDesk: una toolbar personalizzata sempre in vista

Ho provato a chiedere lumi al forum della Community, per capire se ci fosse la possibilità di ritoccare qualcosa nella configurazione del software, e permettermi di tenere quella toolbar sempre visibile. Ho ricevuto un due di picche e nello stesso momento un suggerimento davvero ottimo: forums.manageengine.com/topic/show-bottom-toolbar, cito di seguito

Create your own toolbar.
Check:  http://sdpadmins.pl/49/dodajemy-cos-od-siebie-do-sdp-customscripts/#more-49

Te la facilito (il sito web è in polacco e ho usato un Google Translate per fare il lavoro sporco): qualcuno in ManageEngine ha ben pensato di includere la possibilità di richiamare uno script personalizzato (JS) per iniettare live alcune modifiche all’interfaccia principale, secondo necessità degli utilizzatori del prodotto. Cosa vuol dire? Vuol dire che con qualche riga di codice è stato possibile ottenere comunque il risultato sperato, nonostante non sia quello previsto da fabbrica. Ho creato una toolbar personalizzata e con posizione fixed in base alle indicazioni dell’utente che mi ha indicato la retta via.

Un piccolo telecomando di collegamenti rapidi posto in basso a destra nella schermata di ServiceDesk Plus ti permetterà di richiamare le funzioni più utili dello stesso, senza la necessità di avere 50 ticket nella stessa schermata, evitando così i molteplici movimenti e clic di mouse per arrivare allo stesso risultato tramite i pulsanti originali del software. Ho caricato il risultato funzionante su Gist:

Lo script è in grado di riconoscere l’URL attuale e far comparire la barra esclusivamente durante la visualizzazione dei ticket (quella tabellare, WOListView.do), la ricerca (SeachN.do) e la vista tabellare in seguito a chiusura di un ticket (CompleteRequest.do), il tutto sfruttando un semplice array che dietro un ciclo for verificherà ogni volta il contenuto dell’URL visitato nel momento dell’esecuzione dello script.

Un tocco di abbellimento (si fa quel che si può) via CSS, poi una serie di funzioni secondo me fondamentali, riproducendo esattamente ciò che fanno i pulsanti della toolbar proposta da fabbrica: Pick Up del ticket, Merge, Delete e Close. Ho incluso anche l’Edit ma l’ho tenuto commentato, non è il tipo di edit che mi interessa (richiama quello multiplo, non quello del ticket specifico) e probabilmente lo modificherò in futuro, non necessario esclusivamente perché viene già proposto un pulsante di Edit in corrispondenza di ogni singolo ticket riportato in visualizzazione tabellare.

Per poter funzionare, questo codice andrà salvato in un file nominato CustomScripts.js, che dovrà trovarsi nella cartella [TUOSERVERSDP]\ServiceDesk\custom\scripts. Non è necessario riavviare il servizio relativo a ServiceDesk Plus, ti basterà fare un aggiornamento forzato della pagina web visitata in quel momento (CTRL+R o Shift + F5, in base al browser utilizzato).

Come ogni cosa da me realizzata o ritoccata, non è certo priva di errori e può essere sicuramente migliorata. Se hai proposte o critiche, l’area commenti è a tua totale disposizione.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Lo scorso 27 luglio Mozilla ha pubblicato una notizia sul blog “IT & Operations” riguardo il trasferimento di tutti i dati pubblici da FTP (ftp.mozilla.org) al cloud AWS di Amazon:

As promised, the FTP Migration team is following up from the 7/20 Monday Project Meeting where Sean Rich talked about a project that is underway to make our Product Delivery System better.

As a part of this project, we are migrating content out of our data centers to AWS. In addition to storage locations changing, namespaces will change and the FTP protocol for this system will be deprecated.

blog.mozilla.org/it/2015/07/27/product-delivery-migration-what-is-changing-when-its-changing-and-the-impacts (il post è stato poi aggiornato nel tempo).

MozillaBanner

Per questo motivo tutti i vecchi segnalibri o altri riferimenti che puntavano al protocollo FTP (ftp://ftp.mozilla.org) hanno smesso di funzionare, così come il software scritto ormai anni fa da me e Sandro che permette a chiunque di pacchettizzare la versione desiderata di Firefox, Thunderbird e Seamonkey, Release2Zip. Ho provveduto così a correggere alcuni errori nei batch (e nei file di configurazione dei singoli prodotti) e modificare i puntamenti per permettere a tutti di continuare a utilizzare il software passando dall’URL che continua (e continuerà in futuro) invece a funzionare benissimo (http://ftp.mozilla.org).

Il resto è rimasto identico ed invariato. Ci sono ancora problemi nel riconoscimento di alcuni canali e vi toccherà specificare la versione del prodotto Mozilla da scaricare (via riga di comando) ma i batch fanno il loro mestiere consegnandovi il file ZIP pronto per essere spostato e utilizzato su qualsiasi chiave USB (o SD o altro tipo di memoria, dove potrete ovviamente salvare anche il profilo), togliendo di mezzo ciò che non è necessario per il funzionamento di Firefox, Thunderbird o Seamonkey. Anche l’URL per il download non è cambiato, trovate Release2Zip-20150817 su noads.it/r2z/latest.

Chiaramente tutti i file coinvolti sono stati aggiornati anche su GitHub, così da permettervi di visualizzarli se siete curiosi: github.com/gioxx/r2z.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Sia chiaro, di software che promettono di re-inventare la gestione e la fruizione della posta elettronica portandola a “livelli mai visti prima” ce ne sono decine, che poi mantengano le promesse è tutt’altra cosa. Siamo abituati a conoscere le tante soluzioni libere già pronte all’uso sul web, primo tra tanti GMail o quell’Outlook.com che è andato a prendere il trono precedentemente occupato da Hotmail / Live per tanti anni. E se vi dicessi che gestire la posta elettronica per piccole organizzazioni o per il proprio uso privato (magari per il dominio “di famiglia”) può essere fatto “in casa” ed un prodotto open-source con alle spalle un player enorme come VMWare?

Si chiama Zimbra, è pensato per le aziende ma anche per gli utenti finali che non vogliono o non possono investire denaro in soluzioni complesse per usufruire dei servizi più comuni ai quali si è ormai abituati (posta elettronica, calendario, messaggistica istantanea, ecc.). Nella sua versione “Collaboration Suite” completamente open-source e liberamente scaricabile troverete i pacchetti necessari all’installazione lato server e client, quest’ultimo è una serie di file che creeranno un ambiente accessibile via browser molto ben realizzato, intuitivo e completo, come mostrato nel video ufficiale:

Oltre a questa è disponibile la versione “Community” completamente gratuita e costantemente supportata dall’ampio bacino d’utenza (sistemistica e non) che quotidianamente ha a che fare con questo progetto e il prodotto finale. Sia chiaro: spiegarvi l’installazione e l’utilizzo di Zimbra in un solo articolo è pressoché impossibile, anche perché i dettagli da non farsi sfuggire sono ovviamente molti ma tutti affrontabili grazie alla ricca documentazione messa a disposizione in via ufficiale. Ciò che voglio fare è mettervi curiosità, magari potreste approfondire, informarvi, chiedere maggiori informazioni ad utilizzatori che già si appoggiano a questo ottimo prodotto o provarlo voi stessi tramite la demo pubblicamente accessibile (con qualche dato richiesto) all’indirizzo zimbra.com/products/hosted_demo.php.

Ho scelto di parlarvene perché sarebbe potuta essere una delle soluzioni scelte in ufficio per tenere in piedi alcune caselle di posta elettronica per un limitato bacino di utenza (in coppia con IBM Domino), è stata scartata solo in favore del progetto Office 365 del quale vi sto parlando in questo periodo e che sta praticamente monopolizzando le ore lavorative (e oltre). E’ davvero uno di quei prodotti che non ci si aspetta e che può dare parecchie soddisfazioni con un po’ di sudore durante il setup ma ben poca manutenzione in seguito, senza considerare che tutti coloro che lo utilizzano già e mettono a disposizione della community la propria esperienza costituiscono un tassello fondamentale del successo di questo software.

E voi, a cosa vi siete affidati per gestire al meglio le vostre comunicazioni? :-)

Condividi l'articolo con i tuoi contatti:

Molti degli utilizzatori di Firefox o di Thunderbird hanno a che fare quotidianamente con postazioni aziendali, tipicamente blindate o per lo meno molto limitate in quanto utilizzate con account non amministrativi. Difficile in queste condizioni contattare il proprio supporto IT, a meno che i software Mozilla non vengano riconosciuti come aziendali, e quindi si possa chiedere assistenza per un aggiornamento automatico.

Per questo motivo noi di Mozilla Italia scegliamo di rilasciare versioni ZIP dei software in concomitanza con ogni nuova versione del browser o del client di posta. Sulla nostra pagina download potrete sempre trovare un collegamento diretto ai file ZIP ospitati su Sourceforge, che vi permetteranno così di avere l’ultima versione del software desiderato senza la necessità di passare dal setup.

Release2Zip è un’idea nata da Sandrogialloporpora‘ per cercare di automatizzare l’operazione di pacchettizzazione del software, tipicamente eseguita a mano dal sottoscritto o da un collega in quanto molto semplice e veloce. Il piccolo progetto ha visto poi me intervenire per alcuni miglioramenti e correzione negli script che vi descriverò in questo articolo e che sono disponibili sulla pagina ufficiale su mozilla.gfsolone.com/r2z.

Vi spiego di cosa si tratta!

Come realizzare il pacchetto ZIP partendo dall’installer

La procedura si basa su Mozilla Firefox ma rimane la stessa identica sia per Thunderbird che per Seamonkey, vi basterà semplicemente avere 7-Zip installato sulla vostra macchina.

Una volta scaricata l’ultima versione disponibile dal nostro sito web o da “getfirefox.com” vi basterà fare clic sul file con il tasto destro quindi scegliere 7-Zip / Apri. Tutti i file contenuti all’interno della cartella “core32” costituiscono la versione scaricata del programma, facendo partire Firefox.exe questo si aprirà creando (a meno che non esista già) la cartella del profilo e vi permetterà di iniziare a navigare sul web con l’ultima versione del software!

Questo è il semplice metodo attraverso il quale vi forniamo archivi sempre aggiornati.

Automatizzare l’operazione

Automatizzare l’operazione vuol dire tradurre quanto appena detto in poche righe in codice che faccia –con un semplice doppio clic– tutto il lavoro sporco, consegnandovi come risultato il file ZIP contenente il nuovo software, senza aspettare una nostra pubblicazione.

I server utilizzati per effettuare il download del software sono quelli di Mozilla, i primi quindi a rendere disponibile l’ultima versione dei propri prodotti, non c’è modo di sbagliarsi né tanto meno di arrivare secondi! Il resto è puro codice, ve lo ripropongo qui prendendo ad esempio quello che si occupa di pacchettizzare Firefox (fx2zip.bat):

@echo off
set app=Firefox
set lowerapp=firefox

cls
echo Mozilla Italia Release2Zip Suite
echo %app%2Zip 0.3
echo Scarica e crea il pacchetto ZIP per l'ultima versione di %app%
echo Applicazione rilasciata as-is, per info consultare http://noads.it/r2z
echo ---
echo;

REM inizio
set useragent="MozillaItalia-Downloader/1.0"

REM Acquisizione della configurazione dal file config.txt
FOR /F "delims=== tokens=1,2" %%i in (config.txt) do set %%i=%%j

REM Se vengono specificati il secondo e terzo parametro da commandline vengono sovrascritte le impostazioni del file di configurazione
REM relative al tipo di archivio e al livello di compressione

if "%2" neq "" set archivetype=%2
if "%3" neq "" set level=%3

if "%1"=="" goto noparams

:normal:
set ver=%1
set url=http://pv-mirror02.mozilla.org/pub/mozilla.org/%lowerapp%/releases/%ver%/win32/%lang%/%app%%%20Setup%%20%ver%.exe

goto buildarchive

REM Gestione del mancato download del file da parte di wget
:wgeterror:
echo;
echo ATTENZIONE
echo Si e' verificato un errore cercando di scaricare il file
echo Riprova piu' tardi o contatta gli sviluppatori se il problema persiste
echo;
goto end

:noparams:
set url=http://releases.mozilla.org/pub/mozilla.org/%lowerapp%/releases/latest/win32/%lang%/
wget -U %useragent% %url% -O temptemp.html
if %errorlevel% neq 0 goto wgeterror

ssed -n -e "/<a href=.*.exe[^.]/{s/.*<a href=.(.*.exe)[^>]*>[^0-9]*([0-9.]*).exe</a>.*/1;2/;p}" temptemp.html > temptemp.txt
for /F "delims=; tokens=1,2" %%i in (temptemp.txt) do (
 set url=%url%%%i
 set ver=%%j
 )

del temptemp.txt
del temptemp.html

:buildarchive:
wget -U %useragent% %url% -O temptemp.exe
if %errorlevel% neq 0 goto wgeterror
set output=%lowerapp%-%ver%-%lang%.win32.%archivetype%
7z x temptemp.exe core
sleep 3
if exist %lowerapp% rd /S /Q %lowerappapp%
ren core %lowerapp%

if %includedict%==false goto createarchive
if not exist dictionaries dwdict %lang%

:packdict:
md %app%dictionaries
md %app%hyphenation
copy dictionarieshyph* %app%hyphenation
copy dictionaries* %app%dictionaries
REM rd /s /q dictionaries

if %includelauncher%==false goto createarchive
set sed="s/#app#/%lowerapp%/"
ssed -e %sed% launcherlauncher_prototype.bat > %app%launcher.bat
xcopy /E launcher* %app% /exclude:exclude.txt

:createarchive:
7z a -t%archivetype% "%output%" %lowerapp% %level%
sleep 3
if exist %lowerapp% rd /S /Q %lowerapp%
if exist %app% rd /S /Q %app%
del temptemp.exe
move "%output%" archive
sleep 3
if exist core rd /S /Q core
REM md5sum %output% > md5.txt
echo;
echo OK, verificare che il pacchetto sia correttamente funzionante.
:end:
echo.

Al meno esperto basti sapere che eseguendo il file con un doppio clic (come qualsiasi altro programma), partirà il download del software e la sua pacchettizzazione in file ZIP, come mostrato in questo video che ho catturato dal mio desktop:

A quello più smaliziato e a cui piace studiare il codice dedico giusto un paio di righe per far notare che lo script può prendere in ingresso più di un parametro, utile per indicare la versione di Firefox da scaricare, il tipo di archivio da creare (quale estensione utilizzare) e con quale compressione.

Nel caso in cui non si voglia specificare nessun parametro particolare, i valori di default prevedono che la versione da scaricare sia l’ultima disponibile (del ramo stabile), creando un file ZIP con compressione normale, per un totale di circa 20MB di occupazione disco nella maggior parte dei casi (e da diverse versioni a questa parte).

Non c’è possibilità di fare danni, nel caso in cui cancellaste un file necessario per il funzionamento del codice potrete sempre scaricare nuovamente l’archivio script dalla pagina ufficiale del progetto.

Sandro ha voluto arricchire ulteriormente il downloader dando la possibilità di includere nel pacchetto anche i file del dizionario, semplicemente modificando un file di configurazione che viene analizzato dallo script batch originale.

Questa e molte altre funzioni sono descritte all’interno del file Readme che entrambi modifichiamo ogni volta che mettiamo mano allo script aggiornando, modificando o togliendo funzionalità. Dalla pagina del progetto c’è un collegamento diretto al file readme più aggiornato, preso direttamente dalla cartella di sviluppo comune, impossibile non essere al nostro stesso passo! :-)

D&D: Download & Divertimento

Potete fare quello che volete, gli script sono stati realizzati per velocizzare quello che è il nostro pacchettizzare Firefox (e Thunderbird o Seamonkey), consentendovi così di scaricare un file ZIP sempre nuovo da Sourceforge. Abbiamo voluto condividere con voi questo codice affinché si possano aggiungere sempre nuove persone che in piena autonomia riescano a eseguire un lavoro pulito senza la necessità di cercare in Google il “HowTo” di turno. Avere l’ultima versione del software Mozilla senza la necessità di credenziali amministrative che lancino il setup è una delle richieste più comuni nel forum di supporto, almeno in passato.

Suggerimenti? Idee? Critiche? Potete dirci ciò che volete semplicemente lasciando un commento qui o se preferite sul nostro forum.

http://noads.it/r2z

Buon divertimento :-)

AGGIORNAMENTO 23/05/2012
Il progetto approda su GitHub! D’accordo con Sandro e dietro giusta proposta dei colleghi in Mozilla Italia, ho aperto un account attraverso il quale ho poi creato un nuovo repository che ospita ora r2z. Trovate tutti i codici sorgenti su github.com/gioxx/r2z, ho anche provveduto ad aggiornare la pagina ufficiale del progetto con i nuovi riferimenti.
Condividi l'articolo con i tuoi contatti: