mercoledì 21 settembre 2011

Pronti per Alfresco 4.0 ?

La settimana scorsa abbiamo partecipato al meeting EMEA / APAC che si tiene più o meno a metà di ogni quarto a Maidenhead - UK, quartier generale di Alfresco, per fare il punto della situazione e discutere delle novità di prodotto.

La novità principale, ed ovviamente più interessante è l'imminente rilascio di Alfresco 4.0, secondo la seguente cronologia stimata:

Fine Settembre 2011


Metà Dicembre 2011


Le novità di questa nuova "major release" sono moltissime ed estremamente interessanti. Di seguito vi riassumo quelle a nostro avviso più rilevanti.

Il focus di Alfresco 4.0 si può riassumere nei seguenti 4 punti principali:
  1. Facilità d'uso
  2. Supporto al Social Content Management
  3. Facilità di gestione e deployment
  4. Scalabilità, clustering e prestazioni complessive
Facilità d'uso
In generale siamo rimasti tutti impressionati dal numero di miglioramenti, sia visuali che tecnici, relativi all'interfaccia Share. In particolare sono state inserite funzionalità HTML5 che sfruttano appieno i browser moderni, come ad esempio Chrome, Firefox 6, IExplorer 9 e Safari 5.x.
  • supporto al drag & drop per fare upload di file dal desktop del computer al repository, via browser
  • drag & drop per copiare e spostare file e intere cartelle all'interno di Share
  • ordinamento file secondo categorie multiple
  • ridisegnata la pagina di preview dei documenti
  • supporto per la preview di contenuti audio e video, senza necessità di scaricarli in locale
  • supporto file Apple iWork per Mac OSX
  • Nuova console grafica di amministrazione Share, che consente di evitare id editare tutti i file a mano
  • Branding facilitato dei siti Share
  • nuovo calendario
  • Accesso al repository via smartphone e tablet (Apps Alfresco per iPhone e iPad)
Durante la demo molti sono stati anche stupiti dalla nuova funzionalità di geo-tagging collegata a Google Maps: in pratica inserendo una foto scattata da smartphone e contenente informazioni EXIF (iPhone, Android) è possibile visualizzare immediatamente la mappa Google con il punto esatto in cui è stata scattata la foto.

Social Content Management
  • possibilità di seguire utenti e loro attività
  • capacità di esprimere preferenza sui contenuti (like) e ordinarli per quelli che hanno ricevuto più "like"
  • trovare i contenuti più votati dagli utenti
  • e-mail digest dei contenuti più importanti
  • pubblicazione manuale o automatica di aggiornamenti di stato e contenuti su Facebook, Twitter, Flick, Youtube
Facilità di gestione e deployment
  • completa console di amministrazione dell'intero sistema
  • Integrazione opzionale di Apache SOLR come motore d'indicizzazione
  • Workflow con Activiti BPM (in aggiunta a jBPM)
  • console grafica di amministrazione dei workflow Activiti
  • visualizzazione grafica dello stato di ogni singolo processo
  • supporto multi-lingua per WQS (Web Quick Start)
Scalabilità, clustering e prestazioni complessive
  • architettura per scalabilità orizzontale multi-nodo, basata su Apache SOLR
  • forti incrementi alle prestazioni di ACL, accesso database e indici
  • ottimizzazione delle interfacce CMIS sia lato client che server
Le novità sono molte di più e non è possibile riassumerle tutte qui. Vi invitiamo a scaricare e provare la versione Community appena sarà messa a disposizione, mancano pochi giorni. I più temerari possono iniziare a sperimentare con la versione preview, già disponibile sul sito di sviluppo.

Intanto potete vedere anche la presentazione in inglese con maggiori dettagli sulle novità sopra elencate.



venerdì 1 luglio 2011

Happy Hour con Sourcesense

Il 13 luglio 2011, a Milano, ci ritroveremo al Palazzo delle Stelline per un aperitivo serale insieme ai colleghi di Sourcesense. L'obiettivo sarà capire come l'Enterprise open-source, garantito, certificato e supportato può aiutare la vostra azienda a raggiungere i propri obiettivi.

Vi parleremo sopratutto di Alfresco ECM e WCM, oltre che di Enterprise Search con Apache Solr. Essendo un evento limitato a circa 20 persone, questo consentirà di discutere insieme i vostri requisiti in maniera informale e rilassata.

L'evento è dedicato esclusivamente alle aziende interessate ad utilizzare internamente Alfresco ed altri software open-source per supportare i propri casi di business.

Per una agenda completa ed effettuare la registrazione potete andare al seguente indirizzo:

http://www.alfresco.com/it/about/events/2011/07/happy-hour-con-alfresco-e-sourcesense/

Tra gli altri ci sarà anche un intervento di Ugo Cei, autore del libro Alfresco 3 Web Services.

Arrivederci il 13 luglio a Milano!

giovedì 23 giugno 2011

Introduzione ad Alfresco Team


Alfresco Team è il nuovo prodotto appena introdotto da Alfresco Software. Si trattava in effetti di colmare un vuoto di offerta che il mercato della piccola e media impresa (PMI) richiedeva da tempo, come avevamo avuto più volte modo di constatare personalmente durante le nostre frequenti conversazioni con clienti e partner.

Infatti finora Alfresco offriva due tipi di prodotto:

- Alfresco Community : soluzione ECM open source di avanguardia, dove Alfresco inserisce tutte le nuove funzionalità avanzate, ma non certificata ne supportata, adatta quindi a utenti estremamente tecnici e desiderosi di sperimentare le nuove capacità di prodotto direttamente - ma anche in grado di risolvere eventuali problemi o bachi in maniera autonoma e di assumersi il rischio di lavorare con una versione sperimentale del prodotto. Come molti altri analoghi prodotti open source gratuiti, Alfresco Community è distribuito senza alcuna forma di garanzia, ne implicita ne esplicita. Si tratta però di fornire a tutti, soprattutto agli sviluppatori e coloro i quali vogliano imparare a personalizzare Alfresco, uno strumento estremamente potente e complesso ma a costo zero.

- Alfresco Enterprise : basato sulla versione stabile e testata del codice della versione Community, Alfresco Enterprise aggiunge una serie di servizi di supporto, oltre ad alcune capacità specifiche di prodotto, come il clustering, connettori a sistemi Enterprise come Oracle, SQL Server, DB2, Weblogic, Websphere, SAP, EMC Centera, Autocad, ecc...

Per una più approfondita comparazione tra le edizioni Alfresco Community ed Alfresco Enterprise vi rimando a queste slide:
Quindi Alfresco Team rappresenta una terza opzione che vuole collocarsi come offerta certificata, stabile e supportata direttamente da Alfresco, quindi senza i problemi di complessità di gestione della versione Community, mantenendo però un livello di costi più accessibile della versione Enterprise, che resta l'offerta più completa e scalabile di prodotto, dedicata alla media e grande impresa con numerosi utenti e progetti d'integrazione complessi.

Inoltre Team introduce una serie di app per Apple iOS (iPhone e iPad) che consentono di accedere al Repository Alfresco in mobilità (disponibili a breve anche per la versione Enterprise):



La domanda, a questo punto, sorge spontanea:

Quali sono le differenze tra Alfresco Team ed Alfresco Enterprise?

Ecco una breve tabella comparativa, che illustra le principali differenze:

Team:

  • Supporto solo 8x5, esclusivamente per gli utenti nominali e per un numero limitato di contenuti (vedi sito Team  per i prezzi)
  • Prezzo per numero di utenti e quantità di documenti conservati
  • 1 istanza sola per cliente - no clustering
  • Nessun supporto per Explorer UI
  • Nessun supporto per i casi di utilizzo WCM
  • Non è possibile nemmeno vedere la visualizzazione Repository nell'interfaccia utente ma solo siti di Share
  • Nessun supporto per personalizzazioni di qualsiasi tipo (non è possibile modificare il codice, estenderlo, cambiare a mano le configurazioni)
  • È necessario utilizzare l'intero stack software incluso (PostgreSQL, ecc) - non è quindi possibile sostituire il database con un altro esterno
  • Impossibile integrarsi con sistemi LDAP
  • Acquistabile solo on-line via carta di credito

Enterprise:

  • Supporto 8x5 o supporto 24x7
  • Prezzo per CPU e non per numero di utenti (una CPU può gestire centinaia di utenti)
  • Supporto per Oracle, SQL Server, MySQL, DB2, Weblogic, Websphere e molti altri stack software
  • CPU multiple (scalabilità verticale)
  • Clustering multi-server e load balancing (scalabilità orizzontale)
  • Numero illimitato di utenti e documenti
  • Connettore XAM per EMC Centera e CAS
  • Record Management
  • Casi d'uso WCM
  • Acquisto con ordine d'acquisto e relativa fattura
  • Accesso ai Servizi Premium e supporto
  • Accesso ai servizi di consulenza Alfresco
  • Completa personalizzazione ed estensione supportati
  • Integrazione con SAP, Autocad, Lotus, Kofax, ...
  • Integrazione con LDAP, Active Directory ecc.

Alfresco Team quindi sacrifica la personalizzazione in favore di semplicità e robustezza: limitando le configurazioni possibili si limitano di conseguenza le probabilità di problemi dovuti a errate configurazioni o integrazioni con sistemi esterni.

Se vi piace Alfresco ma la versione Community è troppo complessa da gestire per voi e non potevate comunque permettervi di comprare la versione Enterprise completa e supportata, ora esiste una terza soluzione, con alcune limitazioni, ma robusta e poco costosa per risolvere i principali problemi di gestione dei contenuti (compresi audio e video) per la vostra azienda. La versione limitata a 5 utenti e 500 documenti è del tutto gratuita: scaricatela e verificatela subito voi stessi.

Di seguito una tabella riassuntiva dei prezzi per Alfresco Team:


Siccome al momento Team offre una versione della UI Share particolarmente avanzata, può essere comunque interessante per chiunque dargli una occhiata per vedere funzionalità che saranno inserite a breve (dopo l'estate) anche nella prossima versione Enterprise.

Happy downloading!

lunedì 13 giugno 2011

Chiamata per nuovi partner

Il prossimo 6 luglio a Roma organizzeremo un Partner Day per reclutare nuove aziende partner Alfresco. Entro un paio di giorni presenteremo sul sito Alfresco il modulo di registrazione, quindi tutti gli integratori di sistemi con competenze Alfresco, che vorranno approfondire il tema della partnership Enterprise, saranno invitati a questa mezza giornata di presentazioni e discussione.

L'opportunità è legata alla crescita costantemente in doppia cifra delle vendite di licenze Alfresco Enterprise, che richiede a questo punto una presenza sempre più qualificata e capillare a livello nazionale. Si tratta di un mercato, quello ECM, che offre una potenzialità di crescita a livello mondiale che non ha ancora raggiunto l'apice. I volumi documentali non gestiti stanno crescendo a ritmo vertiginoso, così come le necessità di storage e search intelligenti.

In Italia sempre più clienti cercano soluzioni documentali strutturate e complete, ma sempre di più manifestano interesse per prodotti open-source ed open-standard che non creino il solito fenomeno del "vendor lock-in", ovvero quella capacità dei grossi fornitori software di legare mani e piedi i clienti per poi spremerli come limoni.

Se avete serie e approfondite competenze di open-source e Alfresco, e volete capire come la soluzione Alfresco Enterprise possa essere la giusta polizza assicurativa sia nei confronti del cliente finale che per voi stessi come integratori, allora date una occhiata agli eventi che saranno pubblicati nei prossimi giorni sul sito alfresco.com/it.

Dovrebbe essere abbastanza ovvio per chiunque che chi sviluppa il prodotto è nella miglior posizione di erogare supporto e competenza di alta qualità. Se avete in cantiere delle soluzioni ECM "mission critical" forse dovreste riflettere su quanti e quali rischi di progetto siete in grado di affrontare da soli.

Arrivederci a Roma il 6 luglio 2011.

lunedì 9 maggio 2011

Community Preview

Per quelli in vena di sperimentare con le prossime funzionalità di Alfresco, è possibile scaricare una preview del prossimo rilascio in Community, denominato 3.5.a.

Si tratta di una "nightly build" con molte novità, bisogna ovviamente tenere presente che si tratta di rilasci non testati e da considerarsi potenzialmente instabili, quindi assolutamente da non utilizzare al di fuori di una fase di valutazione.

In questa versione preview troveremo sopratutto delle novità nella UI Share, le più importanti sono:

  • Upload drag-and-drop direttamente dal desktop alla raccolta documenti. Avrete bisogno di un browser moderno, ovvero Firefox 3.6, Firefox 4, Chrome 9+ o Safari 5. Gli utenti MSIE dovranno probabilmente aspettare fino a quando non sarà supportata la versione 9.
  • Molte Dashlet hanno una nuova veste estetica. Nota: potrebbe essere necessario un piccolo tweak CSS per alcune custom Dashlet in seguito ad alcune modifiche del mark-up.
  • L'anteprima dei documenti è stata totalmente rivista e adesso è possibile visualizzarla senza il Flash Player e anche eseguire video direttamente da questa vista.
  • Riordinamento della Document Library con relativi tempi per le date di creazione e modifica, una funzione di "like" in stile Facebook, una funzione di ordinamento dei file e la possibilità di rinominare in linea file e cartelle.
  • Quando si crea un sito, l'URL del sito sarà ora generato automaticamente dal nome.
  • Dashlets, creazione di siti e rinomina in linea utilizzano tutti il nuovo "balloon help", caratteristica che sarà espansa in futuro ad altri elementi della UI.
  • Il calendario ha una nuova vista di tipo agenda.
  • Gestione del Cestino (undelete) nella Admin Console
  • ...
Al termine di un periodo di validazione e consolidamento in Community alcune di queste funzionalità potranno trovare spazio nelle prossime versioni di Alfresco Enterprise, dopo che avranno superato tutti i test di QA interni.

Il download è disponibile all'indirizzo: http://dev.alfresco.com/downloads/nightly/dist/

Come al solito potrete dare il vostro feedback sul forum inglese (dove trovate gli ingegneri Alfresco) ed anche aprire delle eventuali issue su Jira (http://issues.alfresco.com).

venerdì 8 aprile 2011

Alfresco Developer Conference 2011 - Roma e Milano

Sono aperte le iscrizioni per la nostra Developer Conference a Roma il 12-13 aprile e Milano nei giorni 11-12 maggio.


La conferenza ha lo scopo di mettere in diretto contatto gli sviluppatori, i partner ed i clienti Alfresco con la squadra di ingegneri e manager che sviluppano il prodotto. Si tratta di due giorni intensi, con sessioni tecniche di approfondimento e spiegazioni della visione e della roadmap Alfresco per i prossimi anni, direttamente dalla voce di chi sta dietro alle nostre tecnologie.

L’agenda del primo giorno è dedicata a fornire training e best practices concentrati per sviluppatori e architetti IT, mentre il secondo giorno è orientato verso un’ampia panoramica di prodotto e una roadmap che può essere di grande interesse anche per chi ha incarichi decisionali e vuole capire quali sia la direzione del prodotto in futuro.
L’agenda include sessioni su CMIS, WCM, Web Services, Content Services e strategie per progettare e sviluppare applicazioni ECM flessibili e robuste. Si parlerà anche di Activiti, il nuovo progetto open source che implementa lo standard BPMN 2.0 per la gestione dei processi aziendali.

La conferenza è dedicata ad approfondire le competenze architetturali e di sviluppo, dando la possibilità di incontrare altri sviluppatori e di parlare direttamente con i nostri rappresentanti. Lo scopo è anche quello di poter fare domande e dialogare insieme, quindi le presentazioni saranno alternate con sessioni di domande e risposte. Gli interventi saranno per la maggior parte in lingua inglese.

Anche per chi conosce poco Alfresco, questa è l’opportunità di un’immersione totale di due giorni nelle nostre tecnologie ECM e strategie di Social Content Management.

Le iscrizioni per Roma sono ancora aperte, il costo totale di partecipazione, compresi due pranzi, è di €150. L'agenda definitiva per l'evento della settimana prossima è la seguente:



Day One

Tuesday, 12 April 2011

08:00 - 09:30Registration and Refreshments
09:30 - 10:00Welcome and Introduction
10:00 - 11:00Architecture and Technology
11:00 - 11:30User Interfaces
11:30 - 11:45Coffee Break
11:45 - 12:15Repository Configuration
12:15 - 13:00Managing the Repository
13:00 - 14:00Lunch
14:00 - 14:30Content Model Overview
14:30 - 15:30Creating Content Models
15:30 - 15:45Coffee Break
15:45 - 16:15Security and Permissions
16:15 - 17:30Developing Applications in Alfresco
Finish

Day Two

Wednesday, 13 April 2011

09:00 - 09:30Refreshments
09:30 - 10:00Executive welcome and ECM market status
Speaker: Alberto Fidanza (Sales Director, Italia), Maurizio Turatti (SE, Italia)
10:00 - 11:00Present and Future, Roadmap and Vision: ECM, WCM and Activiti
Speaker:Mike Farman (Product Manager, DM) & Ben Hagan (Product Manager, WCM)
11:00 - 11:30Coffee Break
11:30 - 12:30Web Quick Start
Speaker: Ben Hagan (Prodcut Manager WCM)
12:30 - 13:00Q&A
13:00 - 14:00Lunch
14:00 - 15:00Designing scalable Alfresco Solutions
Speaker: Mike Farman (Product Manager, DM) & Gabriele Columbro (EMEA Consultant, Partner Enablement Team)
15:00 - 15:15Q&A
15:15 - 16:15CMIS, Apache Chemistry and interoperability
Speaker: Gabriele Columbro (EMEA ConsultantPartner Enablement Team)
16:15 - 16:30Coffee Break
16:30 - 17:00Q&A
Finish


lunedì 4 aprile 2011

Alfresco kick off 2011

Dal 23 al 25 marzo si è tenuto ad Orlando, Florida, l'evento "Alfresco kick off 2011". Questa conferenza si svolge di solito all'inizio di ogni nuovo anno fiscale per tirare le somme dell'anno passato e per raccontare quali siano le novità per il futuro. La sensazione è stata quella di molte novità ma sopratutto dell'ingresso di una fase di consolidamento e maturità, sia del prodotto che dell'azienda.

Alfresco è stata fondata nel 2005 da John Newton e John Powell, ormai quindi sono sei anni di presenza e costante crescita sul mercato internazionale e quasi due dall'apertura di una presenza ufficiale in Italia. Le attività locali di Alfresco in Italia infatti sono cominciate con l'arrivo del direttore commerciale Alberto Fidanza nell'estate del 2009, proseguite poi con l'inserimento a gennaio 2010 di un responsabile tecnico di pre-vendita. Entro poche settimane annunceremo poi l'assunzione di una terza persona dedicata al mercato italiano, basata su Roma e perciò particolarmente attenta a seguire i clienti del centro e sud Italia.

Non possiamo ancora in questa sede pubblicare i numeri ufficiali dell'andamento di mercato, ma sicuramente possiamo dire che quello che si è chiuso è stato, ancora una volta, un anno di crescita record per numero di clienti e fatturato, che negli anni non ha mai risentito di alcuna crisi ed è sempre stato ampiamente in doppia cifra. Lo testimonia anche il numero di assunzioni di nuovi dipendenti, come potete verificare andando alla sezione Jobs@Alfresco.

Durante il kick off di Orlando Alfresco ha lanciato un chiaro messaggio relativo al "Social Content Management", ovvero ad una evoluzione del modello ECM verso l'elaborazione collaborativa di tutti i contenuti aziendali, di cui l'annunciata integrazione con Jive ne è un esempio significativo. Di fatto il più grosso sistema di gestione dei contenuti al mondo è ad oggi rappresentato da Facebook. I social network sono infatti dei formidabili generatori e gestori di contenuti, sia strutturati che de-strutturati. Quello che conta è il processo d'interazione con questi strumenti, la cui efficacia ne ha decretato il successo. Uno degli ostacoli più grossi nei progetti documentali aziendali è l'adozione degli strumenti da parte degli utenti, quindi l'adozione del modello "social" rappresenta in sostanza l'introduzione di queste metafore all'interno delle aziende, in modo che la diffusione di strumenti di gestione dei contenuti non sia imposta dall'alto ma virale e spinta dagli stessi utenti. La domanda che gli utenti si pongono sempre più di frequente è "perché gli strumenti consumer come Twitter, Facebook e Google sono così efficaci mentre gli strumenti che dobbiamo utilizzare in azienda sono spesso così ostici?".

L'implementazione di questo modello si declinerà attraverso alcune tappe evolutive, che vedremo più concretamente quando sarà rilasciato il progetto "Swift" (nome in codice della prossima major release di Alfresco). Nel frattempo Alfresco si muove rapidamente verso l'ottimizzazione degli strumenti di collaboration esistenti e, contemporaneamente verso il consolidamento della esistente piattaforma di erogazione di Content Services, come chiaramente descritto dalla seguente immagine:

Riprendendo un commento analogo di Jeff Potts, dal punto di vista più strettamente tecnico possiamo riassumere i seguenti elementi di rilievo emersi durante la conferenza e relativi al progetto Swift:

  1. CIFS, SharePoint, e FTP saranno configurabili in cluster
  2. Share diventerà sempre più facile da personalizzare e più gestibile in termini di migrazioni, sarà infatti introdotto un framework per semplificare la creazione di dialoghi, azioni ed altro.
  3. Stiamo lavorando ad un prossimo "social content publishing framework" che consentirà la pubblicazione parallela e multi-canale dei contenuti. Ad esempio gli endpoint di pubblicazione saranno YouTube, Facebook, Twitter, Drupal ed esisterà un meccanismo di estensione a plug-in per altri endpoint di pubblicazione.
  4. Possibile integrazione nativa degli account Skype come dashlet di Share, per gestire le comunicazioni da un unico portale.
  5. Integrazione del motore Activiti BPM come alternativa all'attuale jBPM. Activiti è un moderno motore di workflow basato sullo standard aperto BPMN 2.0, sviluppato da Tom Bayens, che è stato l'ideatore di jBPM e adesso lavora in Alfresco.
  6. Sarà possibile utilizzare Apache Solr come alternativa scalabile e distribuita di Lucene per l'indicizzazione e la ricerca di enormi quantità di documenti. Solr è estremamente efficiente e potrà essere fatto scalare indipendentemente dal Repository Alfresco, con indubbi benefici in termini di prestazioni su masse documentali elevate. Inoltre l'indicizzazione avverrà sempre in maniera asincrona, facendo si che gli indici diventino "eventualmente consistenti", come necessario nella gestione effettiva di grosse quantità di dati.
  7. CMIS è destinato a diventare l'API pubblica di riferimento di Alfresco, che continuerà a seguire e stimolare l'evoluzione dello standard. Questo consentirà fin da subito di scrivere applicazioni client per Alfresco estremamente portatili, preservando l'investimento nel tempo.
Dunque esiste parecchio materiale su cui riflettere e i prossimi mesi porteranno sicuramente una serie di novità molto interessanti e, speriamo, gradite agli utenti Alfresco ECM.

lunedì 14 marzo 2011

Semplici Uploaders per Alfresco

NOTA: traduzione dell'articolo originale in spagnolo Uploaders simples en alfresco di Zylk.net. Grazie a Toni per la segnalazione di questo articolo.

Una delle caratteristiche più interessanti di Alfresco ECM è la varietà di protocolli che consentono di autenticarsi ed eseguire azioni sul repository, tramite le unità di rete condivise o le diverse API disponibili. Ciò è principalmente dovuto all'uso di standard, che a medio-lungo termine diventa un chiaro vantaggio tecnologico rispetto ad altri stack più chiusi, e permette l'integrazione con ogni sorta di strumenti di terze parti. Tra questi protocolli (e API) possiamo evidenziare: WebDAV, FTP, CIFS, NFS, IMAP, REST, SOAP e CMIS.

Ignorando le unità di rete CIFS e NFS e lasciando da parte per ora il metodo di caricare i dati tramite e-mail, possiamo creare uploaders tramite numerosi protocolli quali WebDAV, FTP, o REST con poco sforzo. Ad esempio, con il comando curl posso utilizzare il canale FTP come segue:
curl -T sinadura3.tgz ftp://alfie.zylk.net/Alfresco/sinadura --user cesar:secret
O meglio ancora, usare il canale WebDAV, che può garantire più sicurezza:
curl -T sinadura3.tgz https://alfie.zylk.net/alfresco/webdav/sinadura --user cesar:secret
Un'altra opzione è quella di utilizzare lo strato REST con un piccolo script che richiami curl per inviare il file in questione:
#!/bin/bash
#
# Alfresco upload script with CURL by LouiSe@louise.hu
#
# Usage: alfresco_uploader.sh    
#
# ./alfresco_uploader.sh /tmp/some.pdf someSite documentLibrary someDir
#

ALFRESCO_SERVER="http://alfie.zylk.net:8080/alfresco"
USERNAME="cesar"
PASSWORD="secret"

#CURL_VERBOSE=-v
CURL_VERBOSE=-s
CURL_METHOD=POST
FILENAME=`basename $1`
MIMETYPE=`file --brief --mime-type $1`
UPLOAD_SERVICE_URL=${ALFRESCO_SERVER}/service/api/upload

echo "Uploading: ${FILENAME} ($MIMETYPE) to ${ALFRESCO_SERVER}"

curl ${CURL_VERBOSE} -k -X ${CURL_METHOD} \
    --user "${USERNAME}":"${PASSWORD}" \
    -F filedata=@$1 -F siteid="$2" -F containerid="$3" \
    -F uploaddirectory="$4" \ -F filename="${FILENAME}" \
    -F contenttype="${MIMETYPE}" "${UPLOAD_SERVICE_URL}" \
    | grep 'description' | cut -d ':' -f 2 | tr -d '\"'

Lo script è tratto da questo blog.

Un'altra strategia possibile è quella di utilizzare lo standard CMIS con un piccolo script in python (con le librerie cmislib).

#! /usr/bin/python
from cmislib.model import CmisClient
from sys import argv

client = CmisClient('http://alfie.zylk.net:8080/alfresco/service/cmis', 'cesar', 'secret')
repo = client.defaultRepository
someFolder = repo.getObjectByPath('/'+argv[2])
someFolder.getTitle()
someFolder.getProperties()

someFile = open(argv[1], 'r')
someDoc = someFolder.createDocument(argv[1], contentFile=someFile)

O l'equivalente in PHP:

 $repo_password ));
} else {
  $client = new CMISService($repo_url, $repo_username, $repo_password);
}

$myfolder = $client->getObjectByPath($repo_folder);
$file     = fopen($filename,"r");
$contents = fread($file, filesize($filename));
$fi       = new finfo(FILEINFO_MIME,'/usr/share/file/magic');
$mime_type= $fi->buffer(file_get_contents($filename));

fclose($file);

$obj_doc  = $client->createDocument($myfolder->id, $filename, array (), $contents, $mime_type);

lunedì 7 marzo 2011

Creare il database MySQL per Alfresco

E' possibile procedere alla creazione del database MySQL per Alfresco nel modo seguente:

1) Settare MySQL per UTF-8

Editare /etc/mysql/my.cnf aggiungendo default-character-set = utf8 sotto la sezione [mysqld]:
[mysqld]
#
# ...
#
default-character-set = utf8
2) Riavviare mysql, di solito tramite /etc/init.d/mysql restart

3) Loggarsi come root: mysql -u root -p

4) eseguire i seguenti comandi (nell'ipotesi sia stato precedentemente creato un database 'alfresco' con utente 'alfresco'):
CREATE DATABASE alfresco DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL PRIVILEGES ON alfresco.* TO alfresco@localhost IDENTIFIED BY 'alfresco';
GRANT SELECT,LOCK TABLES ON alfresco.* TO alfresco@localhost IDENTIFIED BY 'alfresco';
FLUSH PRIVILEGES;
quit;

sabato 26 febbraio 2011

Installare Alfresco in modalità testuale su server Linux

Il nuovo installer BitRock per Alfresco consente di installare il prodotto insieme a tutte le componenti accessorie (jvm, Tomcat, Mysql, Openoffice, Imagemagick, ...) in maniera molto semplice e veloce.
Spesso però è necessario installare Alfresco su una macchina che non dispone di interfaccia grafica, ma alla quale possiamo accedere da remoto solo via terminale a caratteri, ad esempio tramite ssh ed scp. In questo caso o si rinuncia ad usare l'installer e invece si procede alla installazione e configurazione manuale di tutte le singole componenti, oppure si può comodamente continuare ad usare l'installer nella sua modalità testuale. Di seguito una descrizione di come procedere.

Nel nostro caso descriveremo una installazione effettuata su un server remoto Linux Ubuntu 10.04 (Lucid) a 64 bit. (nota: da Alfresco EE 3.4.0 in avanti sono ufficialmente supportati solo sistemi a 64 bit).

1) Scaricare l'installer (Community o Enterprise) per il sistema operativo e renderlo eseguibile
chmod +x alfresco-enterprise-3.4.0-installer-linux-x64.bin
2) Visualizzare le opzioni disponibili da riga di comando, tramite il parametro --help
./alfresco-enterprise-3.4.0-installer-linux-x64.bin --help
Appare un elenco di opzioni:


L'opzione che interessa è --mode <mode>. Di default mode è gtk, ma in questo caso sceglieremo text. La seconda opzione è quella relativa alla lingua d'installazione, scegliamo quindi l'italiano tramite l'opzione --installer-language it
./alfresco-enterprise-3.4.0-installer-linux-x64.bin --mode text --installer-language it
Dando invio parte il processo di installazione, che pone una serie di domande sulle componenti da installare e sulle porte da usare. Dato che in questa dimostrazione abbiamo deciso di non installare Alfresco come root ma tramite un utente normale, è necessario scegliere porte sopra alla 1024. Normalmente, su un ambiente di test o produzione, è buona norma in creare un utente dedicato ed un gruppo per Alfresco, fornendogli i privilegi necessari ad usare tutte le porte.


La schermata iniziale:
mauri@ubuntu10-laptop:~$ ./alfresco-enterprise-3.4.0-installer-linux-x64.bin --mode text --installer-language it
---------------------------------------------------------------------
Benvenuto al programma d'installazione di Alfresco Enterprise

---------------------------------------------------------------------
Seleziona i componenti che vuoi installare; deseleziona i componenti che non
vuoi. Clicca Avanti quando sei pronto per continuare.

MySQL : Y (Cannot be edited)
Java : Y (Cannot be edited)
Alfresco : Y (Cannot be edited)
SharePoint [Y/n] :y
Records Management [Y/n] :n
Web Quick Start [Y/n] :y
Web Project Management (AVM) [Y/n] :n
Quickr Connector Support [Y/n] :n
OpenOffice [Y/n] :y
La selezione e' corretta? [Y/n]: y

Si procede con la selezione delle porte, dopo aver scelto l'opzione "Advanced" nel menu Installation Type:
---------------------------------------------------------------------
Installation Type

[1] Easy - Installs servers with the default configuration
[2] Advanced - Configures server ports and service properties
Scegli un opzione [1] : 2
Di seguito è necessario scegliere un folder dove installare Alfresco e se usare il database MySQL allegato oppure una installazione esistente. In questo caso preferiamo usare il MySQL di Ubuntu, in modo da poterlo gestire autonomamente
---------------------------------------------------------------------
Installation Folder

Please choose a folder to install Alfresco Enterprise.

Select a folder [/home/mauri/alfresco-3.4.0]:

---------------------------------------------------------------------
Database Installation

Please select which database configuration you wish to use. If you select an existing database you should configure the Alfresco application before running the Alfresco server.

[1] I wish to use the bundled MySQL database
[2] I wish to use an existing database
Scegli un opzione [1] : 2
E' da notare che la URI JDBC proposta di default è sbagliata. Sostituire quindi in seguito dentro il file di configurazione alfresco-global.properties
jdbc:mysql://localhost/alfresco?useUnicode=yes#38characterEncoding=UTF-8
con
jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8
Procediamo quindi fino alla fine, rispondendo alle domande poste. Alla fine partirà il processo di installazione vero e proprio
---------------------------------------------------------------------
Il programma d'installazione e' pronto per installare Alfresco Enterprise sul
tuo pc.

Vuoi continuare? [Y/n]: y

---------------------------------------------------------------------
Attendere prego, mentre Alfresco Enterprise e'installato sul tuo computer.

 Installazione...
 0% ______________ 50% ______________ 100%
 ########################################
Al termine della procedura è necessario andare a controllare che il file alfresco-global.properties sia configurato correttamente (è il file più importante e si trova sotto tomcat/shared/classes). Da notare che è raccomandato che MySQL sia configurato per usare il charset UTF-8. Per la corretta configurazione e creazione del database sono già disponibili ottime guide online.

Volendo utilizzare una JVM diversa da quella in bundle con Alfresco, è ad esempio possibile rinominare la cartella Java presente nella cartella d'installazione di Alfresco, quindi creare un collegamento simbolico al JDK già presente sulla macchina. In questo caso, avendo installato l'ultimo JDK Sun per Linux ed avendo $JAVA_HOME = /usr/lib/jvm/java-6-sun è possibile dare il seguente comando:
ln -s /usr/lib/jvm/java-6-sun java
Alla partenza Alfresco userà questa JVM al posto di quella integrata, se è quello che desiderate. Assicuratevi che si tratti però di una versione di JVM tra quelle certificate e supportate, o potreste avere problemi.

Il file tomcat/bin/setenv.sh può essere quindi editato per modificare le JAVA_OPTS ed ottimizzare (sapendo esattamente quello che si sta facendo), i parametri della Java Virtual Machine. Per iniziare è consigliabile leggersi prima un buon documento sull'argomento.

Al termine, per avviare Alfresco, è utile avere subito sott'occhio i log, quindi si può eseguire il seguente comando:
./alfresco.sh start; tail -f tomcat/logs/catalina.out

AGGIORNAMENTO: ho aggiunto le istruzioni per creare il database mysql.

lunedì 14 febbraio 2011

Presentazione di Alfresco Enterprise 3.4

Queste sono le slide della presentazione di Alfresco Enterprise 3.4 effettuata durante il webinar online tenuto il 14 febbraio 2011.

A breve sarà disponibile sul sito Alfresco la registrazione completa audio e video in italiano della sessione Webex: http://www.alfresco.com/it/about/events/ondemand/