<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Best practices per personalizzazione/sviluppo in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54616#M32632</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ciao Pierluigi e grazie per la pronta risposta. Il problema me lo sono posto quando un nostro partner ci ha proposto una soluzione di gestione "pratiche" ove i documenti risiedono in alfresco, i metadati sono in Oracle ed il tutto è gestito da un'applicazione esterna. Quando ho chiesto come poter "pubblicare" sul sito aziendale alcuni documenti in modo contestualizzato e filtrato mi è stato detto che dovevo interfacciarmi sia con alfresco che con Oracle.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Questa "prassi" mi ha lasciato un pò perplesso in quanto in futuro potrei avere N altre applicazioni che potrebbero dover interagire con questi documenti e mi ritroverei a dover ereditare sempre la doppia interrogazione, aumentando enormemente, tra l'altro, la complessità della manutenzione. Se il partner, infatti, modificasse lo schema dei metadati sarei costretto a riaggiornare tutte le N applicazioni.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Personalmente, invece, mi ero convinto (più o meno in accordo con la tua risposta) che i metadati che hanno la loro connotazione naturale assieme al documento dovessero risiedere in alfresco, mentre quelli specifici dell'elaborazione nell'applicazione esterna.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Faccio un esempio che magari mi aiuta ad esporre meglio il problema. Supponiamo dunque di dover trattare un'applicazione document-centric, ad esempio per la scrittura, firma digitale, archiviazione e pubblicazione su web di atti amministrativi. In questo caso immagino di creare un custom model e/o aspects per associare al "pdf" dei metadati come l'autore, l'ufficio di competenza, il responsabile, la data di emissione, il progressivo dell'atto e così via.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Un app esterna gestisce la scrittura collaborativa e l'apposizione della firma digitale, l'interrogazione/integrazione con il sistema di gestione contabile, il flusso, etc. quando il documento è "finito" e firmato lo carico in alfresco associandovi i metadati (e qui viene in aiuto il webscript che mi garantisce atomicità, associazione tipo/aspetti, presenza dei metadati minimi, etc.). Ora posso facilmente scrivere un plugin per il mio cms che interroga alfresco (magari tramite un'altro webscript) *senza* dover interfacciarmi con l'applicazione di gestione e/o il database oracle.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Il partner dal canto suo mi spiegava che la loro scelta progettuale nasceva dalla complessità di gestione dei metadati in alfresco. In pratica mi riferivano che modificare una proprietà di un custom model spesso comportava dei grossi problemi. Se ad esempio una proprietà era ad esempio "nome ufficio" e dopo aver caricato i documenti si voleva trasformare la stessa in un'associazione ad un'elenco di nodi "ufficio" bisognava cancellare tutti i documenti e ricominciare daccapo. A prescindere dalla correttezza di quanto affermato, la cosa era vista come molto macchinosa soprattutto in riferimento ad una evoluzione del modello dei dati molto dinamica.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Come orientarsi dunque?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Poichè alfresco consente anche altre funzionalità, quali gestione del workflow, degli utenti, dei permessi, perchè non sfruttarlo anche per questi aspetti? anche qui il partner mi diceva che più "si mette mano" ad alfresco e più il sistema rischia di divenire poco stabile/manutenibile.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Infine, tornando anche al topic principale, vorrei comunque provare a scrivere qualche form/data web script per caricamento/reperimento dei documenti, per allargare l'utilizzo di alfresco anche ad utenti informaticamente poco skillati. Trattandosi di cose semplici, scrivere una webapps apposita mi sembra attualmente esagerato, ho visto che si possono scrivere facilmente dei presentation web script, ma non sono integrati in share. Volendo dunque realizzare la presentazione in share senza utilizzare java come mi consigliate di procedere?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;grazie&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Nico&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 18 Nov 2014 09:57:59 GMT</pubDate>
    <dc:creator>nidroide</dc:creator>
    <dc:date>2014-11-18T09:57:59Z</dc:date>
    <item>
      <title>Best practices per personalizzazione/sviluppo</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54614#M32630</link>
      <description>Salve a tutti,dopo aver utilizzato alfresco per quasi un anno nella sua forma "base" per la gestione documentale (con l'aggiunta di tipi ed aspetti custom) vorremo iniziare a personalizzarlo e strutturarlo in modo da semplificarne l'utilizzo. Attualmente gli utenti operano direttamente con le funzio</description>
      <pubDate>Mon, 17 Nov 2014 10:31:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54614#M32630</guid>
      <dc:creator>nidroide</dc:creator>
      <dc:date>2014-11-17T10:31:13Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices per personalizzazione/sviluppo</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54615#M32631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Se devi creare una gestione di contenuti diversa da Alfresco Share ti suggerisco di utilizzare Alfresco come un ECM puro e di crearti una webapp esterna custom che effettui chiamate ai WebScript di Alfresco relativi al tuo dominio di interesse. In realtà è tipicamente questo l'utilizzo di un repository come Alfresco &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I Web Script che dovrai sviluppare sono Data Web Scripts ovvero metodi REST che ritornano un formato di output di tipo JSON, XML, CSV o altri. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;La risposta dei Web Script dovrà essere poi processata dalla tua webapp custom che poi presenterà i contenuti agli utenti.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Utilizzando Web Script puoi incapsulare atomicamente diverse operazioni di Alfresco in un unica chiamata HTTP.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Se invece non hai problemi di atomicità delle operazioni potresti pensare di utilizzare il protocollo CMIS per interfacciarti ad Alfresco, oramai ci sono diverse implementazioni di CMIS (Java, PHP, .NET, Objective C, Python e JavaScript).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sia utilizzando Web Scripts che CMIS puoi sviluppare la tua webapp con qualsiasi tecnologia da PHP a .NET &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Spero ti sia utile.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Nov 2014 10:38:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54615#M32631</guid>
      <dc:creator>openpj</dc:creator>
      <dc:date>2014-11-17T10:38:56Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices per personalizzazione/sviluppo</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54616#M32632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ciao Pierluigi e grazie per la pronta risposta. Il problema me lo sono posto quando un nostro partner ci ha proposto una soluzione di gestione "pratiche" ove i documenti risiedono in alfresco, i metadati sono in Oracle ed il tutto è gestito da un'applicazione esterna. Quando ho chiesto come poter "pubblicare" sul sito aziendale alcuni documenti in modo contestualizzato e filtrato mi è stato detto che dovevo interfacciarmi sia con alfresco che con Oracle.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Questa "prassi" mi ha lasciato un pò perplesso in quanto in futuro potrei avere N altre applicazioni che potrebbero dover interagire con questi documenti e mi ritroverei a dover ereditare sempre la doppia interrogazione, aumentando enormemente, tra l'altro, la complessità della manutenzione. Se il partner, infatti, modificasse lo schema dei metadati sarei costretto a riaggiornare tutte le N applicazioni.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Personalmente, invece, mi ero convinto (più o meno in accordo con la tua risposta) che i metadati che hanno la loro connotazione naturale assieme al documento dovessero risiedere in alfresco, mentre quelli specifici dell'elaborazione nell'applicazione esterna.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Faccio un esempio che magari mi aiuta ad esporre meglio il problema. Supponiamo dunque di dover trattare un'applicazione document-centric, ad esempio per la scrittura, firma digitale, archiviazione e pubblicazione su web di atti amministrativi. In questo caso immagino di creare un custom model e/o aspects per associare al "pdf" dei metadati come l'autore, l'ufficio di competenza, il responsabile, la data di emissione, il progressivo dell'atto e così via.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Un app esterna gestisce la scrittura collaborativa e l'apposizione della firma digitale, l'interrogazione/integrazione con il sistema di gestione contabile, il flusso, etc. quando il documento è "finito" e firmato lo carico in alfresco associandovi i metadati (e qui viene in aiuto il webscript che mi garantisce atomicità, associazione tipo/aspetti, presenza dei metadati minimi, etc.). Ora posso facilmente scrivere un plugin per il mio cms che interroga alfresco (magari tramite un'altro webscript) *senza* dover interfacciarmi con l'applicazione di gestione e/o il database oracle.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Il partner dal canto suo mi spiegava che la loro scelta progettuale nasceva dalla complessità di gestione dei metadati in alfresco. In pratica mi riferivano che modificare una proprietà di un custom model spesso comportava dei grossi problemi. Se ad esempio una proprietà era ad esempio "nome ufficio" e dopo aver caricato i documenti si voleva trasformare la stessa in un'associazione ad un'elenco di nodi "ufficio" bisognava cancellare tutti i documenti e ricominciare daccapo. A prescindere dalla correttezza di quanto affermato, la cosa era vista come molto macchinosa soprattutto in riferimento ad una evoluzione del modello dei dati molto dinamica.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Come orientarsi dunque?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Poichè alfresco consente anche altre funzionalità, quali gestione del workflow, degli utenti, dei permessi, perchè non sfruttarlo anche per questi aspetti? anche qui il partner mi diceva che più "si mette mano" ad alfresco e più il sistema rischia di divenire poco stabile/manutenibile.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Infine, tornando anche al topic principale, vorrei comunque provare a scrivere qualche form/data web script per caricamento/reperimento dei documenti, per allargare l'utilizzo di alfresco anche ad utenti informaticamente poco skillati. Trattandosi di cose semplici, scrivere una webapps apposita mi sembra attualmente esagerato, ho visto che si possono scrivere facilmente dei presentation web script, ma non sono integrati in share. Volendo dunque realizzare la presentazione in share senza utilizzare java come mi consigliate di procedere?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;grazie&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Nico&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Nov 2014 09:57:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54616#M32632</guid>
      <dc:creator>nidroide</dc:creator>
      <dc:date>2014-11-18T09:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices per personalizzazione/sviluppo</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54617#M32633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;lt;blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ciao Pierluigi e grazie per la pronta risposta. Il problema me lo sono posto quando un nostro partner ci ha proposto una soluzione di gestione "pratiche" ove i documenti risiedono in alfresco, i metadati sono in Oracle ed il tutto è gestito da un'applicazione esterna. Quando ho chiesto come poter "pubblicare" sul sito aziendale alcuni documenti in modo contestualizzato e filtrato mi è stato detto che dovevo interfacciarmi sia con alfresco che con Oracle.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mi dispiace dirlo ma credo che questo partner non abbia ben chiaro che cosa sia Alfresco e come si possa utilizzare a 360 gradi. Alfresco tipicamente viene utilizzato proprio per fare in modo di persistere tutte le informazioni necessarie al dominio di interesse. Questo facilita di parecchio le logiche dell'applicazione esterna che tipicamente dovrà semplicemente invocare metodi REST sul repository (Web Scripts o CMIS).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Il partner dal canto suo mi spiegava che la loro scelta progettuale nasceva dalla complessità di gestione dei metadati in alfresco. In pratica mi riferivano che modificare una proprietà di un custom model spesso comportava dei grossi problemi. Se ad esempio una proprietà era ad esempio "nome ufficio" e dopo aver caricato i documenti si voleva trasformare la stessa in un'associazione ad un'elenco di nodi "ufficio" bisognava cancellare tutti i documenti e ricominciare daccapo.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Vero, ma è per questo che il modello Alfresco deve essere progettato bene anche per prevedere questi dinamismi. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Evidentemente c'è una carenza di analisi del content model in questo contesto.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;La dinamicità del modello la si può dare attraverso la definizione degli aspetti (aspect).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Definendo ogni singola proprietà come un aspetto si può rendere il modello super dinamico senza necessità di dover eliminare i contenuti per poter ripristinare il modello.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Poichè alfresco consente anche altre funzionalità, quali gestione del workflow, degli utenti, dei permessi, perchè non sfruttarlo anche per questi aspetti? anche qui il partner mi diceva che più "si mette mano" ad alfresco e più il sistema rischia di divenire poco stabile/manutenibile.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Falso, Alfresco può essere utilizzato pienamente con tutti i suoi componenti in modo ottimale. Certo è che se chi implementa le estensioni, non conosce bene l'API di Alfresco, allora si che può rendere la piattaforma instabile. Dipende dalle competenze e dall'esperienza pregressa che si ha su questo sistema ECM, evidentemente questo partner non ha mai implementato progetti di importante rilevanza.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Nov 2014 16:08:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/best-practices-per-personalizzazione-sviluppo/m-p/54617#M32633</guid>
      <dc:creator>openpj</dc:creator>
      <dc:date>2014-11-18T16:08:56Z</dc:date>
    </item>
  </channel>
</rss>

