Installazione Alfresco e DB MySql

cancel
Showing results for 
Search instead for 
Did you mean: 
salvatore_conta
Member II

Installazione Alfresco e DB MySql

Salve,
sono nuovo del forum e nuovo a questa applicazione.Avrei un quesito per chiunque ne sappia di più e voglia aiutarmi.
Sapreste dirmi e dettagliarmi il processo di installazione e come associare mysql su alfresco e come alfresco crea le tabelle necessarie?
Grazie
19 Replies
openpj
Moderator
Moderator

Re: Installazione Alfresco e DB MySql

Devi creare un nuovo database ed un nuovo utente che accede a questo database su MySQL, ad esempio puoi utilizzare il seguente script SQL:

create database alfresco4 default character set utf8 collate utf8_bin;
grant all on alfresco4* to 'alfresco4'@'localhost' identified by 'alfresco4' with grant option;
grant all on alfresco4* to 'alfresco4'@'localhost.localdomain' identified by 'alfresco4' with grant option;
Questo script crea un nuovo database alfresco4 con un nuovo utente alfresco4 che può effettuare tutte le operazioni di creazione e modifica degli schema (SDL).

Una volta eseguito lo script a questo punto basta configurare Alfresco all'interno del classloader condiviso dell'application server all'interno del file di configurazione che si chiama alfresco-global.properties. Quì trovi la configurazione MySQL da scommentare e da modificare per poter accedere al nuovo database, ad esempio la seguente:


#
# Sample custom content and index data location
#
dir.root=/Applications/alfresco/alfresco4/alf_data
#dir.keystore=${dir.root}/keystore

#
# Sample database connection properties
#
db.username=alfresco4
db.password=alfresco4

#
# MySQL connection
#
db.driver=org.gjt.mm.mysql.Driver
db.url=jdbc:mysql://localhost/alfresco4?useUnicode=yes&characterEncoding=UTF-8
Ricordati che oltre al database Alfresco necessita anche di una porzione di file system in cui andranno a crearsi tutti i contenuti binari e gli indici di ricerca che gli utenti caricheranno nel sistema, questa sezione di filesystem va configurata sempre con un path assoluto con la property dir.root.

Una volta completata la configurazione del file di properties, potrai far partire Alfresco che alla prima esecuzione creerà automaticamente tutte le tabelle all'interno del database e tutta la struttura del repository all'interno del filesystem andando a creare tutti i contenuti di default necessari per il funzionamento del sistema.

Spero ti possa aiutare  Smiley Wink
salvatore_conta
Member II

Re: Installazione Alfresco e DB MySql

Sei stato molto chiaro e ti ringrazio molto.  Smiley Wink
Sicuramente mi sarà molto utile.
grazie ancora
salvatore_conta
Member II

Re: Installazione Alfresco e DB MySql

Un altra piccola domanda. Il driver per il DB MYSQL va scaricato o è già integrato nella versione community 4.0?
Grazie mille anticipatamente.
openpj
Moderator
Moderator

Re: Installazione Alfresco e DB MySql

Alfresco nel package della versione community include solamente il driver per Postgresql.

Il driver JDBC di MySQL lo puoi scaricare direttamente dal seguente indirizzo:
http://dev.mysql.com/downloads/connector/j/

Una volta scaricato lo puoi copiare all'interno delle librerie condivise dell'application server.
salvatore_conta
Member II

Re: Installazione Alfresco e DB MySql

Grazie mille per la tempestività Smiley Wink.
salvatore_conta
Member II

Re: Installazione Alfresco e DB MySql

Ho installato tutta la configurazione di alfresco, ma quando provo a farlo partire si connette correttamente al db ma va in PermGen Space dando prima quest'errore :
2012-02-17 22:59:27,114  INFO  [management.subsystems.ChildApplicationContextFactory] [pool-2-thread-1] Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete
2012-02-17 22:59:39,511  WARN  [alfresco.util.AbstractTriggerBean] [pool-2-thread-1] Job ehCacheTracerJob is not active/enabled
2012-02-17 22:59:40,356  INFO  [management.subsystems.ChildApplicationContextFactory] [pool-2-thread-1] Stopping 'sysAdmin' subsystem, ID: [sysAdmin, default]
2012-02-17 22:59:40,364  INFO  [management.subsystems.ChildApplicationContextFactory] [pool-2-thread-1] Stopped 'sysAdmin' subsystem, ID: [sysAdmin, default]
2012-02-17 22:59:40,415  ERROR [web.context.ContextLoader] [pool-2-thread-1] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'avmRemoteService' defined in class path resource [alfresco/remote-services-context.xml]: Invocation of init method failed; nested exception is java.rmi.server.ExportException: internal error: ObjID already in use
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
   at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
   at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
   at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
Caused by: java.rmi.server.ExportException: internal error: ObjID already in use
   at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:169)
   at sun.rmi.transport.Transport.exportObject(Transport.java:74)
   at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:229)
   at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:393)
   at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:129)
   at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:188)
   at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:100)
   at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:76)
   at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:222)
   at org.springframework.remoting.rmi.RmiServiceExporter.getRegistry(RmiServiceExporter.java:371)
   at org.springframework.remoting.rmi.RmiServiceExporter.getRegistry(RmiServiceExporter.java:336)
   at org.springframework.remoting.rmi.RmiServiceExporter.prepare(RmiServiceExporter.java:268)
   at org.springframework.remoting.rmi.RmiServiceExporter.afterPropertiesSet(RmiServiceExporter.java:229)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
   … 27 more
17-feb-2012 22.59.47 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error listenerStart
17-feb-2012 22.59.47 org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/alfresco] startup failed due to previous errors
17-feb-2012 22.59.49 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
GRAVE: The web application [/alfresco] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
17-feb-2012 22.59.49 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: The web application [/alfresco] appears to have started a thread named [net.sf.ehcache.CacheManager@5667ec05] but has failed to stop it. This is very likely to create a memory leak.
17-feb-2012 22.59.49 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
GRAVE: The web application [/alfresco] created a ThreadLocal with key of type [com.sun.xml.bind.v2.ClassFactory$1] (value [com.sun.xml.bind.v2.ClassFactory$1@46adf2f]) and a value of type [java.util.WeakHashMap] (value [{class org.alfresco.repo.audit.model._3.RecordValue=java.lang.ref.WeakReference@30407e62, class org.alfresco.repo.audit.model._3.Application=java.lang.ref.WeakReference@5a296cad, class org.alfresco.repo.audit.model._3.DataExtractor=java.lang.ref.WeakReference@559e0019, class java.util.ArrayList=java.lang.ref.WeakReference@78189538, class org.alfresco.repo.audit.model._3.GenerateValue=java.lang.ref.WeakReference@15eccd21, class org.alfresco.repo.audit.model._3.AuditPath=java.lang.ref.WeakReference@6d8f3cc5, class org.alfresco.repo.audit.model._3.DataExtractors=java.lang.ref.WeakReference@56dee1b4, class org.alfresco.repo.audit.model._3.PathMap=java.lang.ref.WeakReference@42b41cfa, class org.alfresco.repo.audit.model._3.DataGenerator=java.lang.ref.WeakReference@3eda834c, class javax.xml.bind.annotation.W3CDomHandler=java.lang.ref.WeakReference@7be212d0, class org.alfresco.repo.audit.model._3.PathMappings=java.lang.ref.WeakReference@3741553a, class org.alfresco.repo.audit.model._3.DataGenerators=java.lang.ref.WeakReference@22426f2d, class org.alfresco.repo.audit.model._3.Audit=java.lang.ref.WeakReference@379104ed}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
17-feb-2012 22.59.49 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
GRAVE: The web application [/alfresco] created a ThreadLocal with key of type [com.sun.xml.bind.v2.runtime.Coordinator$1] (value [com.sun.xml.bind.v2.runtime.Coordinator$1@11da801b]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@201075c5]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
17-feb-2012 22.59.49 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
GRAVE: The web application [/alfresco] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@18a3e8f5]) and a value of type [org.apache.cxf.bus.CXFBusImpl] (value [org.apache.cxf.bus.CXFBusImpl@31133976]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
17-feb-2012 22.59.49 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
GRAVE: The web application [/alfresco] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@65218b25]) and a value of type [org.alfresco.util.CachingDateFormat] (value [yyyy-MM-dd]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
17-feb-2012 22.59.50 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /Users/demonium/alfresco/apache-tomcat-7.0.25/webapps/share.war
17-feb-2012 22.59.53 org.apache.catalina.loader.WebappClassLoader findResourceInternal
INFO: Illegal access: this web application instance has been stopped already.  Could not load ehcache-version.properties.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
17-feb-2012 22.59.53 org.apache.catalina.startup.HostConfig deployWARs
GRAVE: Error waiting for multi-thread deployment of WAR files to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
   at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
   at java.util.concurrent.FutureTask.get(FutureTask.java:83)
   at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:751)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:471)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1412)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
   at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
   at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
   at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:346)
   at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1147)
   at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
   at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.OutOfMemoryError: PermGen space
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
   at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2836)
   at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
   at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2836)
   at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
   at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:108)
   at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:58)
   at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:336)
   at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:828)
   at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
   at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
   at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
   at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
17-feb-2012 22.59.53 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Users/demonium/alfresco/apache-tomcat-7.0.25/webapps/docs
17-feb-2012 22.59.56 org.apache.catalina.startup.HostConfig deployDirectories
GRAVE: Error waiting for multi-thread deployment of directories to completehostConfig.deployWar=Deploying web application archive {0}
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
   at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
   at java.util.concurrent.FutureTask.get(FutureTask.java:83)
   at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1018)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1412)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
   at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
   at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
   at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:346)
   at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1147)
   at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
   at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.OutOfMemoryError: PermGen space
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
   at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
   at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
   at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:116)
   at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
   at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
   at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
   at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
   at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
   at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
   … 5 more



Da cosa può dipendere? Grazie mille in anticipo
openpj
Moderator
Moderator

Re: Installazione Alfresco e DB MySql

Assicurati di settare i parametri della JVM nel modo consigliato dalla wiki:
http://wiki.alfresco.com/wiki/JVM_Tuning#General_Case
salvatore_conta
Member II

Re: Installazione Alfresco e DB MySql

Ho risolto il problema e fatto partire finalmente Alfresco. Ho un altra domanda che probabilmente richiederebbe l'apertura di un nuovo post, ma la faccio comunque chissà che qualcuno riesca ad illuminarmi. Come faccio a cominciare a scaricare, integrare e sviluppare funzionalità customizzate su Alfresco?
Grazie anticipatamente
need
Member II

Re: Installazione Alfresco e DB MySql

Ciao Salvatore,

la tua è una bella domanda molto aaaaaaaaaaampia che riguarda la personalizzazione di Alfresco Smiley Happy…se indichi cosa più o meno vorresti estendere ( mi riferisco ai webscript, ai moduli, al lato client, alle action, ecc ) ti linko delle buone risorse per iniziare ad apprendere lo strumento.

Intanto ti linko l'SDK di Alfresco http://wiki.alfresco.com/wiki/Community_file_list_4.0.d, la trovi in fondo alla pagina, da lì puoi vedere dei buoni esempi.

Poi ti consiglio il libro di Piergiorgio Lucidi e Ugo Cei http://www.open4dev.com/book/ veramente ben fatto e utilissimo (almeno per me Smiley Very Happy ) se si vogliono apprendere i meccanismi di integrazione di Alfresco.

Spero ti possa essere di aiuto Smiley Wink