cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Share - DL - Link a Documenti

domenicoscafuro
Champ in-the-making
Champ in-the-making
Ciao a tutti,
sono nuovo del Forum ma soprattutto di Alfresco, quindi non so quanto banale o non sia la mia domanda.  Smiley Happy 
Sto utilizzando questo strumento per la migrazione di dati (File doc, Pdf, xls…) da un altro sistema, e nello specifico sto utilizzando i suoi WS.
Ora avrei la necessità di effettuare l'Upload di un documento, SampleFile, in diverse cartelle, e fin qui tutto bene.
Però ho anche la necessità di modificare il Documento in una qualsiasi delle cartelle create ed avere il versioning in tutte gli altri SampleFile.
Avevo pensato di creare un link simbolico a SampleFile, posto sotto SampleFolder1, e caricarlo sotto le altre.
E quindi arrivo alla domanda… è possibile farlo?

Es.: - DL(documentLibrary)
         - SampleFolder1
            - SampleFile
         - SampleFolder2
            - SampleFile
         - SampleFolder3
            - SampleFile

Es.: - DL(documentLibrary)
         - SampleFolder1
            - SampleFile
         - SampleFolder2
            - LinkToSampleFile
         - SampleFolder3
            - LinkToSampleFile

Grazie,
D.S.
10 REPLIES 10

openpj
Elite Collaborator
Elite Collaborator
Per fare questo io suggerirei di utilizzare semplicemente, tramite l'utilizzo di una action JavaScript o Java, l'aggiunta del tuo nuovo contenuto di un n padri secondari, uno per ogni folder in cui deve essere visibile.

In pratica in questo modo il nodo risulterà virtualmente residente in tutti gli spazi di Alfresco di interesse e senza necessità di utilizzare i link.

Precisamente sarà necessario aggiungere un'istanza di associazione cm:contains sul documento, una per ogni padre secondario, ma questo è necessario farlo via Alfresco API tramite una regola ad esempio impostata sul primo spazio su cui viene droppato il documento.

Spero di essere stato chiaro.

domenicoscafuro
Champ in-the-making
Champ in-the-making
Ciao Piergiorgio,
non ho capito bene come procedere. Ti dispiacerebbe farmi un esempio?
Scusami ma ti ripeto sono un "neonato" di Alfresco e quindi…

Grazie,
D.S.

zufolo441
Champ in-the-making
Champ in-the-making
buondì,
anch'io sarei MOLTO interessato a questa soluzione, devo mostrare lo stesso documento in più cartelle.
Il mio vincolo è che gestisco i dati da un programma Win32, quindi accedo ad alfresco tramite webservices e CMIS. c'è modo ?

Se non fosse possibile, passerò alla creazione di link ai documenti…

grazie mille

Francesco Consumi
Ufficio Sistemi Informatici
Istituto degli Innocenti
Firenze

openpj
Elite Collaborator
Elite Collaborator
Eccovi un esempio di utilizzo delle associazioni in un repository tramite la Javascript API di Alfresco.

Questo tipo di approccio è tipico nello scenario di utilizzo di strumenti come Alfresco.
Nell'esempio seguente vi mostro uno script che crea due spazi ed un contenuto di tipo testo all'interno della Company Home.
Inoltre farà in modo di associare lo stesso contenuto ai due nuovi spazi, facendo risultare il contenuto testo non solo figlio della Company Home ma anche degli spazi test1 e test2.

Il modello di lavoro tramite associazioni è quello suggerito quando vengono utilizzati strumenti come Alfresco.

Spero vi possa essere utile.

Per poter testare il codice è necessario creare un file di testo con il contenuto dello snippet di codice e salvarlo con estensione .js.
Poi basterà eseguire l'upload dello script all'interno del seguente path all'interno del repository: Company Home/Data Dictionary/Scripts

Per eseguire lo script, utilizzando l'interfaccia Alfresco Explorer, basterà cliccare su un qualsiasi nodo il link View Details->Run Action->Execute a script->fileDiTesto.js

var folder1 = companyhome.createFolder("test1");
var folder2 = companyhome.createFolder("test2");

var node = companyhome.createNode("newContent.txt", "cm:content");
node.properties.description = "File Created by JavaScript";
node.content = "This is a sample content";
node.save();


folder1.addNode(node);
folder2.addNode(node);

zufolo441
Champ in-the-making
Champ in-the-making
grazie mille della pronta risposta e dell' esempio.
altra domanda: ho modo di fare la stessa cosa via web service ?
ho un nostro programma Win32 che carica, riomina ed elimina i files su Alfresco (sono allegati ad atti, per ogni atto una cartella con gli allegati dentro). dovrei fare in modo che ogni cartella compaia in più di una cartella, secondo l' argomento.
Come posso aggiungere una cartella a più di un nodo via web service ?

grazie di nuovo,

Francesco Consumi

openpj
Elite Collaborator
Elite Collaborator
Basta utilizzare l'oggetto CMLAddChild per eseguire le stesse operazioni tramite il linguaggio Content Manipulation Language di Alfresco.

zufolo441
Champ in-the-making
Champ in-the-making
scusa la pedanteria, ma sono un po' alle basi… come lancio degli script CML via web service ? 🙂

openpj
Elite Collaborator
Elite Collaborator
Devi scaricare la Alfresco SDK e prendere come esempio di interfacciamento della Web Services API di Alfresco il progetto SDK FirstWebServiceClient.
Tutte le dipendenze necessarie per il classpath Java le trovi all'interno del progetto SDK AlfrescoRemote.

mturatti
Champ in-the-making
Champ in-the-making
…oppure compri il libro di OpenPj e impari tutto sui Web Services con Alfresco  Smiley Wink