set 10

OpenERP è un potente applicativo in grado di gestire l’attività di aziende di vario tipo (dalla manifatturiera all’eCommerce fino all’IT) rilasciato dall’azienda francese Tiny ERP in collaborazione con Axelor. Rappresenta un sistema detto “a moduli” in cui, importando i moduli, è possibile utilizzare nel gestionale tra le operazioni più disparate (per esempio un modulo che gestisce i contatti e la contabilità con i clienti e i fornitori, un modulo che tiene traccia degli orari di lavoro dei dipendenti ecc.).

Cosa interessante è che OpenERP è completamente gratuito e a disposizione della community: il suo codice sorgente è aperto, è rilasciato sotto licenza GPL (che non è il combustibile:lol: ma una licenza che ti permette di poter modificare il codice del prodotto e di venderlo senza problemi di copyright) e il software è estendibile in tutte le sue forme (i moduli si possono considerare allo stesso modo dei plugin di Firefox).

C’è solo un inconveniente: la documentazione è molto scarsa e poco chiara e anche solamente per una semplice installazione ci sono molte guide che non sono molto curate. Scrivo perciò questo articolo per coloro si trovassero in difficoltà e si fossero persi tra forum e siti non del tutto esaurienti.

In questo primo articolo vedremo come installare questo gestionale all’interno di un sistema Ubuntu 8.04. La versione di OpenERP presa in considerazione è quella attualmente disponibile (la 5.0.3). Aprite perciò un terminale a riga di comando e digitate questa riga per scaricare il pacchetto compresso.

wget http://openerp.com/download/stable/source/openerp-server-5.0.3.tar.gz

Terminato il download, sempre nello stesso terminale scompattate il file tar e spostatevi nella cartella appena creata

tar xfz openerp-server-5.0.3.tar.gz

cd openerp-server-5.0.3

Prima di far partire il processo di installazione, abbiamo bisogno di alcuni pacchetti che potrebbero essere richiesti da OpenERP (soprattutto il database PostgreSQL che è il DB dove OpenERP si appoggia per caricare i dati o l’interprete Python che è fondamentale per eseguire i moduli di OpenERP). Avviate questo comando e aspettate che tutti i programmi siano installati (alcuni di questi potrebbero non servire ma voi scaricateli lo stesso). In guide future analizzeremo alcuni di questi programmi e che integreremo con OpenERP.

sudo aptitude install python-psycopg2 python-libxml2 python-libxslt1 python-xml \
python-reportlab python-pychart python-pydot poppler-utils \
python-lxml python-tz python-vobject python-profiler antiword \
fetchmail postgresql

Se siete rimasti all’interno della cartella del server di OpenERP, eseguite la riga seguente per installare OpenERP:

sudo python setup.py install

Terminata l’installazione, adesso abbiamo bisogno di un client che farà da interfaccia grafica. Per semplicità ci affideremo all’interfaccia web che è molto flessibile e versalite (nonchè eseguibile su qualsiasi browser). Ci affideremo sempre al terminale di comando e in particolare ai comandi easy_install e TurboGears che scaricheranno per noi la versione più aggiornata del client web. Non perdiamo tempo ed eseguite queste 3 righe.

sudo apt-get install python-setuptools
sudo easy_install TurboGears==1.0.8
sudo easy_install -U openerp-web

Dato che tutti i dati di OpenERP saranno gestiti dal database PostgreSQL, dobbiamo fare in modo che il database abbia i permessi necessari per poter richiamare il gestionale. Rendiamo perciò l’intera cartella del server come proprietaria dell’utente postgres (l’utente amministratore di PostgreSql).

sudo chown -R postgres /usr/lib/python2.5/site-packages/openerp-server

Abbiamo praticamente finito, adesso (in 2 diverse terminali a linea di comando) dobbiamo eseguire il server e avviare il client web. Questi comandi dovranno essere richiamati ogni volta a meno che non abbiamo installato il tutto all’interno di una macchina server:

sudo su postgres -c “openerp-server”

openerp-web

Se vedrete dei log senza alcun errore, tutto dovrebbe essere ok. Lasciate perciò le finestre in secondo piano e aprite un browser e digitate “http://localhost:8080″.
Naturalmente “localhost” ci va nel caso in cui abbiate eseguito tutta la procedura in locale mentre invece se avete eseguito tutto su una macchina remota, mettete al posto di “localhost” l’indirizzo ip della macchina o l’host remoto. “8080″ in quanto la porta di ascolto di OpenERP di default è la 8080 (attenzione quindi se avete un altro servizio in ascolto su quella porta).

Se tutto sarà andato bene dovreste vedere questa schermata.

http://img42.imageshack.us/img42/9238/erp.png

Nel prossimo articolo vedremo come creare un database dal gestionale, un primo utilizzo e alcune configurazioni particolarmente interessanti che renderanno più semplice l’utilizzo di questo utilissimo strumento.

apr 21

Notizia che scuote il mondo dell’informatica: il colosso dei database Oracle ha acquisito le azioni della Sun Microsystem, la famosa azienda madre del popolare linguaggio di programmazione Java.

La trattativa si è conclusa con un importo intorno ai 7 miliardi di dollari (poco più di 5 miliardi di €) di cui 2 per risanare i debiti della Sun e i restanti 5 per i soci Sun. Balzo del 36% delle azioni Sun sul Nasdaq.

La notizia di una acquisizione di Sun in sè non è sorprendente in quanto Sun non era in buone acque ma da mesi sembrava che fosse il colosso IBM ad accaparrarsi il patron di Java ed invece la casa dei database di Redwood City si è prepotentemente inserita con un colpo di scena da soap opera.

Non si sa bene adesso quale sarà il destino dei prodotti proprietari Sun ma è quasi sicuro che il prodotto Java resterà open source e libero per la comunità. 

Diverso destino potrebbe avere invece il database open source MySql che potrebbe essere venduto o peggio ancora accantonato definitivamente (in ogni caso Oracle non avrà la minima intenzione di supportarlo).

Dove arriverà la Oracle?

giu 27

Ripetiamo lo stesso esercizio di ieri connettendoci alla stessa identica base dati ma adoperando stavolta il linguaggio Java e un driver JDBC per MySQL (che, nel caso non lo abbiate, dovrete scaricare qui e piazzare il file RAR dentro la directory lib/ext del JRE che avete installato nella vostra macchina. In questo modo la Virtual Machine potrà riconoscere il driver).

L’esercizio come detto effettuerà gli stessi step eseguiti con Ruby: connessione, inserimento di un record e stampa del record. Non dobbiamo fare nulla con MySQL (database e tabella sono già pronti in quanto già creati col precedente esercizio) quindi possiamo subito aprire un qualsiasi editor di testo e scrivere codice Java, create un file Hoshi.java e inserite questo codice al suo interno.

 import java.sql.*;
import java.sql.Connection;

class Hoshi {
public static void main(String[] args){
try {
Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
}
catch(Exception E){
System.err.println(“Error caricamento driver”);
}
try{
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost/hoshi”,”root”,”");
Statement stm = conn.createStatement();
stm.executeUpdate(“INSERT INTO film (id,title,director)  VALUES(’1′,’Silent Hill’,'Christophe Gans’)”);
ResultSet rs = stm.executeQuery(“SELECT * FROM film”);

while(rs.next()){

System.out.println(rs.getString(1) + ” ” + rs.getString(2) + ” ” + rs.getString(3) + “\n”);
}
rs.close();
stm.close();
conn.close();
}

catch(SQLException E){
System.out.println(“SQLException: ” + E.getMessage());
}
}
}

(continua…)

giu 11

Se avete seguito lo Step 1 riguardo Ruby on Rails avevamo configurato l’ambiente per poter cominciare a lavorare sfruttando SQLite come base dati in quanto Rails di default ha già tutte le librerie caricate.

Tuttavia SQLite non rappresenta la soluzione in termini di performance e flessibilità: se ne abbiamo la possibilità perchè non passare a ciò che l’open source di meglio offre? Creando un progetto con Rails possiamo decidere anche di sfruttare il potente MySQL.

Naturalmente dovrete scaricarlo e installarlo:

  • andate in questa pagina e scaricate secondo il vostro sistema operativo (io vi consiglio la versione essential che presenta lo stretto necessario).
  • eseguite il file che avete scaricato e seguite il wizard lasciando pure le impostazioni di default.
  • finita l’installazione partirà un secondo wizard: MySQL Server Config Instance Wizard. Dobbiamo creare una istanza MySQL sulla nostra macchina insomma: anche qui lasciate le impostazioni di default TRANNE che per due casi: sullo step “Please set the Windows options”, levate la spunta su “Launch the MySQL Server automatically” e mettetela invece su “Include Bin Directory in Windows PATH”.
  • Nelle impostazioni di sicurezza, potete decidere se impostare una password per l’utente ROOT oppure di lasciare in bianco (mio consiglio è di mettere cmq una password).

(continua…)

giu 05

Come accennato in precedenza, avevo in mente di esporre una serie di articoli riguardante il framework Ruby on Rails (giunto pochi giorni fa alla versione 2.1) che sta prendendo sempre più piede tra gli sviluppatori. Ruby on Rails (da adesso semplicemente Rails) è un framework scritto in Ruby per, esattamente come la controparte Java J2EE, lo sviluppo di applicazioni web più o meno complesse.

Rails si propone ai programmatori esperti presentando caratteristiche di una facilità disarmante rendendo in certi casi il programmatore persino felice. Rails si basa su due concetti: DRY ovvero Don’t Repeat Yourself (le definizioni vanno fatte una volta e basta) e COC cioè Convention Over Configuration (ogni configurazione XML va ridotta all’osso).

Ma vediamo velocemente come installare (per utenti Windows) un ambiente di sviluppo Rails basilare:
(continua…)

mag 11

Con l’acquisto del Nintendo DS e il conseguente riavvicinamento al mondo dei dispositivi portatili, mi è rinato l’interesse per la programmazione Java su dispositivi mobili quali cellulari, GPS, palmari e così via.

La tecnologia messa in campo da Sun MicroSystem è la piattaforma J2ME (Java 2 Micro Edition) che è specifica per lo sviluppo e l’esecuzioni di applicazioni Java su apparecchi mobili (chiamate nello specifico MIDlet).

(continua…)

apr 29

Qualche articolo fa avevo risaltato l’interesse che avevo per il linguaggio di programmazione a oggetti chiamato Ruby inventato da un programmatore giapponese.

Ho potuto apprendere al momento solo le regole sintattiche basilari ma a primo impatto l’ho trovato abbastanza semplice e interessante. Ancora non ho potuto capire bene le vere potenzialità in ambito web (dovrei cominciare a dare un’occhiata al framework MVC RubyOnRails che è stato il vero trampolino di lancio per il successo di Ruby) ma ho potuto osservare una tipologia di sintassi già meno stressante rispetto a Java: TUTTO E’ OGGETTO in Ruby e qualunque cosa è a nostra disposizione.

Ammetto che questa è una spiegazione molto da neofita.

Chi già ha domestichezza (ma anche chi non ce l’ha) e mastica l’inglese può affacciarsi a questo liguaggio grazie a TryRuby! Un tutorial online che ti guida e ti spiega l’abc del linguaggio e i suoi strumenti.

Alla prossima per un articolo magari più approfondito ;)

apr 17

Oggi per caso ho fatto una curiosa scoperta: la prima persona riconosciuta universalmente come primo programmatore della storia era una certa Ada Byron contessa di Lovelace.

Matematica vissuta nella prima metà dell’800, Ada era figlia del famoso scrittore Lord Byron e deve il suo importante contributo al mondo dell’ingegneria grazie allo sviluppo dei metodi di calcolo automatizzati da applicare sulla macchina calcolatrice progettata da Charles Babbage (famoso per aver avuto avuto l’idea del calcolatore programmabile: il computer insomma anche se tale termine veniva poi usato molto più tardi).

Tuttavia i lavori di Ada non erano mai stati messi in pratica (il progetto suo e di Babbage era davvero oneroso a quei tempi ed andava oltre l’ingegneria allora conosciuta) e tutte le sue idee rimasero solo su carta per poi essere ripresi e applicati decenni più tardi.

Tralaltro il Dipartimento della Difesa degli USA, per rendere omaggio, ha sviluppato verso la fine degli anni 70 un linguaggio chiamato proprio Ada.

Insomma, Galileo sta all’astronomia come Ada Lovelace sta all’informatica.

Grazie perciò contessa per tutte le fortune (e sfortune xD ) che ci hai tramandato!

apr 12

Il sito Tiobe Software (non si sa bene da quali fonti e parametri) ha stilato una classifica dei linguaggi di programmazione più popolari tra gli sviluppatori.

Inutile dire che al primo posto c’è, e di gran lunga, il re dei linguaggi open source: Java. Al secondo posto lo storico linguaggio C, sempre sulla cresta dell’onda da oltre 35 anni dalla sua creazione da parte di Dennis Ritchie nei Bell Laboratories (il punto di partenza di un vero sviluppatore a mio avviso).

Per il resto è lotta serrata: Visual Basic (linguaggio visivo per la programmazione a eventi) di Microsoft sale rispetto a un anno fa e si aggiudica la medaglia di bronzo; PHP (linguaggio per la formazione di interfacce web) zitto zitto non si muove dalla quarta posizione; leggero calo invece per la variante a oggetti del linguaggio C: C++, sceso al quinto posto.
(continua…)

apr 03

Tutti i programmatori sanno che il primo programma di esempio creato per cominciare a fare pratica in qualunque linguaggio di programmazione è il mitico “Hello World!”, programmino che permette la stampa a video di una stringa che è appunto Hello World.

Quindi, così come vedere “Ti amo” scritto in tutte le lingue del mondo, perchè i malati di informatica non possono guardare “Hello World” scritto in tutti i liguaggi? xD

C’è questo carinissimo articoletto su Wikipedia dedicato a Hello World con una lista immensa di linguaggi che mostra come viene scritto. Può essere utile per farsi una idea e panoramica generale su tutti i linguaggi esistenti.