NonSoloUnix Vs JasperReport

Ciao a tutti oggi voglio inaugurare la ripresa di questo mio blog dedicando un articolo a questo bel framework che me ne ha fatte passare di tutti i colori.

Innanzitutto spieghiamo cosa è e a cosa serve questo framework. JasperReports è una libreria scritta in Java per sviluppatori Java e si compone di vari moduli per soddisfare richieste di reportistica aiutando gli utilizzatori della libreria a non doversi concentrare su problematiche esterne ma comunque indispensabili per lo scopo.

Immaginate ad esempio di dover preleveare una serie di informazioni da una base dati per generare dei documenti in funzione dei dati prelevati, se il vostro obiettivo si avvicina anche di poco a quello dell’esempio appena descritto JasperReport allora fa al caso vostro.

Dopo questa piccola premessa voglio precisare che scrivo questo articolo poiché mi sono imbattuto in non pochi ostacoli per l’utilizzo di questo framework data la scarsa documentazione sul suo utilizzo(sarà che i tutorial e le guide sono a pagamento?).

Non disperate non sarete completamente abbandonati, fortuntamente esiste questo blog e tutta una serie di tool che possono agevolarvi per la generazione del vostro primo report, innanzitutto vi consiglio di scaricare:

  1. la libreria JasperReport
  2. il tool iReport per Windows (vi consiglio l’ultima versione che è molto ben fatta almeno la 3.6.1 mentre scrivo queste righe)

Fatto ciò installate iReport così da poter fare i vostri primi esperimenti, la prima cosa da fare in iReport è definire un DataSource, avete a disposizione varie fonti, una connessione JDBC, un file CSV, una fonte Excel, etc, io essendo pigro ho scelto una fonte Excel.

Successivamente create un report vuoto scegliendo il template A4, potrete notare come iReport vi illustra la struttura che potrebbe avere il vostro report che vi ha già comodamente diviso in bande: Titolo, Testa di colonna, Dettaglio, Piè di Pagina, Sommario, Sfondo. Non è detto che tutte queste debbano essere utilizzate, infatti io ho eliminato tutte tranne il Titolo, il Dettaglio e il Piè Pagina. Ho settato le altezze delle relative bande, ho valorizzato i margini della pagina e ho cominciato a definire i campi da prelevare dal mio DataSource (per semplicità ho fatto un DataSource Persona in un file Excel).

Dalle proprietà del report (tasto destro sull’icona radice nello schema ad albero alla vostra sinistra) cliccate su EditQuery, da lì è possibile importare i campi del vostro DataSource. I campi appena importati saranno disponibili ora per il vostro report se volete che vengano iterate tutte le persone del vostro DataSource  dovrete piazzare i campi nella banda Detail è solo lì che il campo verrà interpretato in questo modo, per campi unici vi consiglio di non usare la banda del dettaglio.

Una volta finito il vostro report potrete testarlo utilizzando l’apposito tasto Anteprima .. et voilà il report è servito.

Nel prox articolo vedremo un approfondimento su JasperReport e WebApplication

Saluti

NonSoloUnix

Annunci

Firefox 3 e video Flash

Forse molti di voi che stanno usando Hardy Heron (Ubuntu 8.04) avranno notato rallentamenti e scattosità con i video in flash (ad esempio quelli di YouTube et simila…).

Personalmente io trovavo grossi problemi e a volte Firefox 3 finiva per non rispondere completamente ai comandi, quindi ad un certo punto mi sono sentito in dovere di indagare.

Per chi non lo sapesse quando si installa per la prima volta il Flash Plugin per Firefox Ubuntu vi fa scegliere quale installare dato che esistono più cloni dello stesso.

Io ho deciso di installare il flashplugin-nonfree, poco etico ma molto efficace visto che è la versione di flash ufficiale, purtroppo non è open source, ma meglio di niente; quando si installa questo pacchetto viene installata anche una dipendenza per il supporto all’audio dei filmati flash con il server audio PulseAudio. Ed è proprio questo pacchetto che dà tanti problemi con FireFox 3.

Quindi se usate il flash-plugin-nonfree vi consiglio di rimuovere il pacchetto libflashsupport

sudo apt-get remove libflashsupport

Poi andate in Sistema->Preferenze->Audio e selezionate come server sonori ALSAcome in figura:

Ora dovrebbe andare tutto per il meglio…almeno io ho riscontrato effetti positivi dopo questo cambiamento.

A presto.

NoNSoLo1x.

Conversazioni audio in aMsn (Farsight)

Nuove librerie di sviluppo… ce l’hooo!! (Tcl/tk 8.5)

Antialiasing … ce l’hoooo!!

Skin xp/Vista – Like … ce l’hooo!!

Versione di sviluppo 0.98… ce l’hoooo!!

E le conversazioni audio… D’OH!!!

Bene se vi ritrovate nella situazione sopra descritta (o qualcosa del genere) siete nel posto giusto, per aggiungere il supporto alle chiamate audio per aMsn dovete installare alcune dipendenze prima di compilarlo.

Tutte le dipendenze sono raggruppate qui

http://people.collabora.co.uk/~kakaroto/gutsy-debs/

Installatele tutte e ricompilate aMsn con la solita procedura

make clean

./configure

make

sudo make install

Per chi non avesse i sorgenti da compilare deve dare questo comando:

svn co https://amsn.svn.sourceforge.net/svnroot/amsn/trunk/amsn amsn

Entrare poi nella directory appena scaricata (amsn) e seguire i passi sopra descritti.

N:B: ATTENZIONE! Assicuratevi dopo il comando ./configure che la libreria FARSIGHT sia stata riconosciuta, per rendervene conto alal fine dell’output di ./configure dovreste trovare alal voce FARSIGHT la parola “yes”… niente di + semplice…. 😛

A presto e buona conversazione!!

Compilare aMsn 0.98 da sorgenti con antialiasing (Tcl/Tk 8.5.x)

Salve a tutti!!

In questa guida voglio proporre un metodo alternativo alla compilazione di aMsn 0.98 con antialiasing visto che la precedente guida, sta cominciando a dare problemi. L’altra guida proponeva uno script scritto da alcuni utenti del forum di Ubuntu, ma dall’ultimo aggiornamento mi sono reso conto che cercava di compilare aMsn con le Tcl/Tk 8.6 e durante la compilazione con queste librerie viene restiuito un errore.

Se avete seguito questa guida e vi siete ritrovati installate le Tcl/tk 8.6 seguite questa procedura per ripulire il sistema altrimenti saltate direttamente al passo 2.

1. Ripulire il sistema dalle Tcl/Tk 8.6

  1. Entrate nella directory /usr/local/lib col comando cd /usr/local/lib/
  2. Eseguite uno alla volta questi comandi:
    • sudo rm -r tk8.6/
    • sudo rm -r tcl8.6/
    • sudo rm libtkstub8.6.a
    • sudo rm libtk8.6.so
    • sudo rm libtclstub8.6.a
    • sudo rm libtcl8.6.so
  3. Entrate nella directory tcl8 con cd tcl8
  4. Eliminate le 8.6 dando il comnando sudo rm -r 8.6/

2. Installare le Tcl/Tk 8.5

Per installare le Tcl/tk 8.5 su Ubuntu Gutsy Gibbon basta inserire nel file /etc/apt/sources.list il repository di backports di Hardy Heron:

sudo gedit /etc/apt/sources.list

Inserite la seguente stringa in fondo al file, salvate e chiudete:

deb http://archive.ubuntu.com/ubuntu gutsy-backports main universe multiverse restricted

Aggiornate la cache dei pacchetti:

sudo apt-get update

Rimuovete le Tcl/Tk 8.4 cercandovele da Synaptic e usate il front-end grafico per rimuoverle.

Installate i seguenti pacchetti:

sudo apt-get install tcl8.5 tcl8.5-dev tcl8.5-doc tk8.5 tk8.5-dev tk8.5-doc

3. Compilare aMsn da SVN

Per prima cosa scarichiamoci i sorgenti, quindi date un cd ~ e poi il seguente comando:

svn co https://amsn.svn.sourceforge.net/svnroot/amsn/trunk/amsn amsn

Rimuoviamo qualsiasi altra versione di aMsn da Synaptic.

Entriamo nella directory appena scaricata:

cd amsn

E diamo i soliti comandi per compilare assicurandoci che dopo il comando ./configure venga resituito l’uso delle Tcl/tk 8.5, se diversamente consiglio di non proseguire, verrà dato al 90% un errore di compilazione.

./configure

make

sudo make install

Provate a lanciare aMsn, e se non viene restituito nessun errore…… !!BRAVI!! avete appena installato l’ultima versione di aMsn con antialiasing!!

¹Altrimenti provate a dare questo comando:

sudo update-alternatives –config tclsh && sudo update-alternatives –config wish

E assicuratevi che venga restituito un qualcosa del genere:

C’è un solo programma che fornisce tclsh
(/usr/bin/tclsh8.5). Non c’è nulla da configurare.

C’è un solo programma che fornisce wish
(/usr/bin/wish8.5). Non c’è nulla da configurare.

¹Se vi permette di scegliere tra più versioni della stessa libreria ma non risultano le Tcl/Tk 8.5 date questi comandi e poi di nuovo il precedente:

sudo update-alternatives –install $(which tclsh) tclsh /usr/local/bin/tclsh8.5 900;

sudo update-alternatives –install $(which wish) wish /usr/local/bin/wish8.5 900;

Se da terminale provando a dare il comando /usr/local/bin/amsn viene restituito “/usr/local/bin/amsn: line 3: exec: wish: not found” o qualcosa del genere provate a dare questo comando:

sudo ln -s /usr/local/bin/wish8.5 /usr/local/bin/wish

¹ATTENZIONE: Questi comandi funzionano solo in distribuzioni Debian-Like (Debian Etch, Ubuntu Gutsy Gibon, Ubuntu Hardy Heron, etc), per altri tipi di distro Linux vi rimando al wiki ufficiale di aMsn

Ulteriori info qui e qui

4. Plugins e Skins

Se volete potete scaricare questo archivio di plugins e skin da me creato estraetelo e copiatene il contenuto nella directory ~/.amsn

5. Aggiornare a nuove versioni.

Per aggiornamenti futuri vi basta andare dalla vostra home nella directory amsn e dare il comando:

svn update

Poi compilate dando:

make clean

./configure

make

sudo make install

Non mi resta che augurarvi buona fortuna e ovviamente postate commenti, soprattutto se ci sono stati problemi nel seguire la mia guida!

A presto, NonSolo1x

Eclipse come editor HTML,PHP,CSS

Ritorniamo su Eclipse, famoso IDE per los viluppo di applicazioni JAVA e non solo!!!

A volte di questo IDE viene sottovalutata la sua qualità di essere un OPEN IDE. Infatti una delle caratteristiche più interessanti di Eclipse è quella della estendibilità dell’applicazione attraverso dei Plugin che sfruttano le caratteristiche di quello che risulta già essere un editor con altre, più particolari che lo rendono più specifico a seconda dell’utlizzo che vogliamo farne.

In questi giorni ho voluto provare Eclipse come tool di sviluppo per siti web, e sono rimasto davvero soddisfatto dalla cosa, ovviamente sto parlando di plugin open-source, ce ne sono di altri commerciali molto ben fatti, ma con questo qui che vi sto per presentare si possono fare già la maggior parte delle cose.. e avere il tutto aggratise mi sembra un buon compromesso!

Per chi non avesse Eclipse può scaricarlo da qui

Per sistemi operativi Ubuntu si può installare dando il comando “sudo apt-get install eclipse” , ma consiglio di scaricare sempre l’ultima versione aggiornata dal sito ufficiale.

Ora vediamo come installare il plugin:

Una volta aperto Eclipse andiamo nel Gestore aggiornamenti da Help->Software Updates->Find And Install

Clicchiamo su “Search for new features to install” e andiamo avanti.

Alla nuova schermata clicchiamo su “New Remote Site” e inseriamo il seguene link http://update.phpeclipse.net/update/stable/1.2.x

Confermiamo tutto selezioniamo la nuova sorgente e proseguiamo con l’installazione del plugin seguendo le semplici istruzioni a video, tenendo presente che quando ci chiederà di selezionare cosa installare noi spunteremo tutto.

Se tutto è andato a buon fine avete appena instalalto il PHP-Plugin. Non fatevi trarre in inganno dal nome del plugin perchè in realtà c’è molto di più di un semplice editor php, ma anche un editor html, un editor css, la gestione di progetti per un intero sito, l’avviatore per il server mysql e per il server Apache.

Inoltre i vari editor dispongono delle rispettive funzioni di completamento automatico durante la scrittura dei vostri programmi php o di codice html… e se voglio vedere l’output delle mie modifiche a volo?? Niente paura, il browser interno ad Eclipse non vi farà perdere la percezione di utilizzare un unico tool per il development del vostro sito… Quindi non mi resta che augurarvi buon lavoro e non esitate e dirmi la vostra dopo averlo provato!

Plugin PHP Eclipse

Come spostare partizione Linux in un’altra partizione

Ciao a tutti era da un bel po’ che non mi facevo sentire, ho avuto i miei motivi comunque…. in effetti in questi giorni sono stato a scervellarmi su come potevo ingigantire la mia partizione di root non avendo spazio libero (non allocato) contiguo, intuitivamente la soluzione è semplice: basta crearmi una partizione dello stesso tipo più grande e spostarci dentro l’attuale root (/)… “eeeh hai detto niente!?!!??!” mi sono risposto dopo 😉

Supponete di avere un hard disk fisico di 160gb diviso in questo modo:

  • Una partizione Windows NTFS 85GB
  • Una partizione di root ext3 7 GB
  • Una partizione di home ext3 di 17GB
  • Una partizione di swap linux-sawp di 1GB
  • E infine una partizione dati di tipo reiserFS di 43Gb

Ovviamente le partizioni linux root e linux swap erano incluse in un’unica partizione estesa altrimenti avrei sforato il limite massimo di partizioni primarie che è 4…
Di seguito il riassunto dei passi che ho seguito per spostare l’attuale partizione di root in una partizione più grande:

  • Ho eliminato la partizione di Windows che non usavo già da tempo e in cui non avevo dati importanti da backappare.
  • Da questa ho preso 20 giga e li formattati con file system ext3
  • Ora dobbiamo solo copiare i dati nella nuova partizione appena creata:
    • Procuriamoci una live e riavviamo il sistema (io ho usato quella di Gutsy Gibbon)
    • Una volta entrati nella live apriamo il terminale e diamo i seguenti comandi

    sudo mkdir /media/actualRoot

    sudo mkdir /media/newRoot

    sudo mount /dev/hda6 /media/actualRoot

    sudo mount /dev/hda1 /media/newRoot

    cd /media/actualRoot/

    sudo cp -av ./bin/ ./boot/ ./dev/ ./etv/ ./home/ ./initrd/ ./lib/ ./lost+found/ ./mnt/ ./opt/ ./proc/ ./Recycled/ ./root/
    ./sbin/ ./srv/ ./sys/ ./tmp/ ./usr/ ./var/ /media/newRoot

Dopo alcuni minuti il comando cp avrà copiato tutto nella partizione /media/newRoot, ma prima di procedere alcune delucidazioni sulle operazioni appena svolte: quando entrate nel cd Live viene montato un file system temporaneo per non dire “fittizio” insomma di sicuro non è il file system che interessa a noi, quindi dobbiamo sapere quale tra i dispositivi nella directory dev corrisponde alla partizione che ci interessa montare su actualRoot (cioè la nostra / attuale) e quale, tra lo stesso insieme di dispositivi, corrisponde alla partizione in cui verrà spostata la actualRoot. Niente paura con GParted la cosa è molto più semplice basta aprirlo e vi dirà lui qual dev corrisponde alle rispettive partizioni.
Se volete seguire i comandi sopra riportati assicuratevi che abbiate montato le giuste partizioni e cosa più IMPORTANTE che passiate solo il necessario al comando “cp”, infatti non occorre passare tutto il contenuto della partizione di root al comando cp, ad esempio io ho la dircetory home montata su un’altra partizione e non ho avuto bisogno di includere questa directory tra quelle da copiare.
In generale:

  • Non includete i link simbolici presenti nella radice potrete ricrearli successivamente col comando ln -s
  • Non includete le directory in cui è montato un file system di una partizione diversa da /
  • La maggior parte delle volte non è necessario includere /dev /proc /tmp /var
  • Non dimenticate assolutamente l’opzione “-a” vicino al comando “cp” altrimenti vi ritroverete solo con un mucchio di file senza senso

Ok ora siamo pronti per preparare la nuova partizione all’avvio , consiglio di non cancellare la vecchia finchè non avrete testato la nuova.

Preparare la nuova partizione all’avvio significa ricreare i link simbolici che c’erano prima, ricreare le directory su cui verranno montati dei file system diversi da root , risitemare la tabella dei file system editanto il file “fstab” einfine riconfigurare e reinstallare GRUB nell’ MBR.

Pensavate di essere vicini alla fine vero?:D:D:D

Sostanzialmente ciò sopra detto si riassume in questi comandi. Dalla directory /media/newRoot:

sudo mkdir [tutte le direcotry non incluse prima nel comando cp]

sudo ln -s [percorso file da collegare/file da collegare] [percorso del collegamento/file del collegamento]

Aprite il file fstab e modificatelo opportunamente:

sudo gedit etc/fstab

Ora rimane solo da riconfigurare il grub. Entrate nella partizione /media/actualRoot e aprite il file ci configurazione grub:

sudo gedit boot/grub/menu.lst

Lasciate tutto come sta e aggiungete alla fine un qualcosa del genere:

title Ubuntu 7.10(test nuova partizione)
root (hd0,0)
kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/hda1 ro quiet splash locale=it_IT vga=792
initrd /boot/initrd.img-2.6.22-14-generic
quiet

dove hd(0,0) corrisponde a /dev/hda1 cioè la nuova partizione in cui abbiamo copiato root e abbiamo montato su /media/newRoot

salvate e chiudete. Ora dobbiamo chroottarci nella vecchia partizione di root ed eseguire grub-install quindi:

sudo mount -o bind /dev/ /media/actualRoot/dev/

sudo mount -t proc /proc/ /media/actualRoot/proc/

sudo chroot /media/actualRoot

Se tutto è andato bene ora siete utenti root nella vecchia partizione di linux, spostiamoci quindi nella directory /boot/grub/ ed eseguiamo il comando:

grub-install /dev/hda

A questo punto riavviate e se tutto è andato bene vi ritroverete la nuova riga inserita prima nel menu di grub, ora non vi resta che scegliere la nuova opzione per testare la nuova partizione, se tutto va bene potrete anche cancellare la vecchia root e rimettere a posto l’insieme delle partizioni ad esempio io alla fine ho disposto così il mio disco:

Partizioni

Situazione del mio disco dopo aver copiato la root(/dev/hda6) nella nuova partizione (/dev/hda1)

PartizoniDOpo

Situazione del mio disco dopo aver risistemato lo spazio non allocato e cancellato la root vecchia

Conclusioni:

Dopo questa avventura ho capito molto più a fondo la struttura del file system Linux e cosa molto più gratificante con un semplice comando di copia e u editor di testo sono riuscito ad effettuare operazioni alla stregua di Norton Ghost per Windows: la soluzione più semplice è sempre la più efficiente!!

Ciao e spero che questa recensione possa esservi di aiuto non esitate a postare commenti al riguardo:

nonSolO1x

Avant Window Navigator – Installazione su Ubuntu Hardy Heron

Ho scritto precedentemente un articolo su due object bar a confronto: Kiba-Dock e AWN elogiando Kiba-dock per la sua stabilità… ma un attimo dopo Kiba mi ha tradito

Un punto anche per AWN dunque!!!

Da quando Kiba mi ha abbandonato all’ultima revisione con un inspiegabile segmentation-fault , AWN si è rivelata una valida sostituta, ed ormai si è consolidato il rapporto definitivo per l’utilizzo di questa barra!!

Non vuole essere contraddizione ma aggiornando l’ultima revisione di AWN i bug risolti sono stati davvero molti e “magicamente” AWN non mi crasha più .E all’ultima revisione è diventata davvero stabile e super fluida!!

Per chi volesse installare AWN su distribuzione Ubuntu può seguire questi passi:

  • Installate le seguenti dipendenze :

    sudo apt-get install build-essential automake1.9 autotools-dev libxdamage-dev libxcomposite-dev libgnome2-common libgnome2-dev libgnome-desktop-dev libgnome-vfs-dev libgtk2.0-dev libwnck-dev libgconf2-dev libglib2.0-dev libdbus-glib-1-dev libgnomevfs2-0 libgnome-desktop-2 libgnome2-0 libwnck-common python-gtk2 python-gconf gnome-common python-dev python-gtk2-dev python-cairo-dev python-gnome2-dev

  • Installate l’applicazione Bazaar:

    sudo apt-get install bzr

  • Prelevate i sorgenti:

    bzr co http://bazaar.launchpad.net/~awn-core/awn/trunk avant-window-navigator

  • Accedete alla directory appena creata:

    cd avant-window-navigator

  • Compilate dando in successione questi tre comandi:

    ./autogen.sh
    make
    sudo make install

Se volete anche le applets vi rimando a questa guida sempre da me redatta!