Importing programmatically

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

Importing programmatically

bonjour
j'ai voulu savoir si quelqu'un a arrivé a utilisé le script de de Bulk Importing programmatically
UserTransaction txn = transactionService.getUserTransaction();
   txn.begin();
           
   AuthenticationUtil.setRunAsUser("admin");
                 
   StreamingNodeImporterFactory streamingNodeImporterFactory = (StreamingNodeImporterFactory)ctx.getBean("streamingNodeImporterFactory");
   NodeImporter nodeImporter = streamingNodeImporterFactory.getNodeImporter(new File("importdirectory"));
   BulkImportParameters bulkImportParameters = new BulkImportParameters();
   bulkImportParameters.setTarget(folderNode);
   bulkImportParameters.setReplaceExisting(true);
   bulkImportParameters.setBatchSize(40);
   bulkImportParameters.setNumThreads(4);
   bulkImporter.bulkImport(bulkImportParameters, nodeImporter);

   txn.commit();
comment puisse l'utiliser ?

curl -s -L -G -w "%{http_code} %{url_effective}" -d "sourceDirectory=/Users/user/Documents/Nouveaudossier/metadata&targetPath=/Company%20Home/sites/test" http://admin:admin@localhost:8080/alfresco/service/bulkfsimport -o /dev/null
j'ai essayé avec se ligne de commande qui me réponde a chaque fois 200 mais aucune mise-a-jour a été effectuer
merci d'avance
7 Replies
rguinot
Customer

Re: Importing programmatically

Je ne vois pas le rapport avec votre appel curl et le code d'exemple.
L'appel curl peut être effectué sans ajout de code spécifique. L'exemple de code sert à l'intégrer dans des services custom. Il convient d'ailleurs d'utiliser le RetryingTransactionHelper, plutot que la gestion manuelle du commit / rollback .. 

Avez vous essayé l'import du repertoire en question via l'interface ? cf http://wiki.alfresco.com/index.php?title=Bulk_Importer
oubaid
Member II

Re: Importing programmatically

tous d'abord je vous merci pour votre réponse
effectivement j'ai essayé l'import du repertoire en question via l'interface ? cf http://wiki.alfresco.com/index.php?title=Bulk_Importer

mais plus clairement je veux utiliser ce script automatiquement soit a travers le curl ou soit le code offert http://wiki.alfresco.com/index.php?title=Bulk_Importer
c a d
l’exécution de bulk doit se faire automatiquement sans passer par l’interface http://localhost:8080/alfresco/service/bulkfsimport

merci encore une autre fois
rguinot
Customer

Re: Importing programmatically

’exécution de bulk doit se faire automatiquement sans passer par l’interface http://localhost:8080/alfresco/service/bulkfsimport

Dans ce cas je ne comprends pas bien pourquoi vous voulez mettre en oeuvre du code spécifique… y'a t il un besoin particulier ?
L'accès curl devrait suffir
oubaid
Member II

Re: Importing programmatically

merci encore une fois

mon problème est d'avoir automatisé la tache faite dans le lien http://localhost:8080/alfresco/service/bulkfsimport sans l'intervention de l’utilisateur

je veux exécuter la tache de bulk comme une tache planifiée ,
j'ai essayé avec se ligne de commande qui me réponde a chaque fois 200 mais aucune mise-a-jour n'a été effectue pour mes content

curl -s -L -G -w "%{http_code} %{url_effective}" -d "sourceDirectory=/Users/user/Documents/Nouveaudossier/metadata&targetPath=/Company%20Home/sites/test" http://admin:admin@localhost:8080/alfre … lkfsimport -o /dev/null
merci encore une fois
rguinot
Customer

Re: Importing programmatically

Plusieurs erreurs dans votre commande:
- vous forcez le GET avec -G, or il vous faut un POST
- l'URL n'est pas bonne. ce n'est pas l'UI que vous devez cibler, mais la cible de l'UI, c'est à dire le web script qui initie l'import.
- ne mettez pas curl en silencieux avant d'avoir la bonne URL et compris le mécanisme.
- votre commande semble être un copier-coller d'ailleurs, vous n'avez à priori pas besoin de tous ces paramètres.

Exemple :

curl -u romain -d "sourceDirectory=…&targetPath=…"  "http://server:port/alfresco/service/bulkfsimport/filesystem/initiate"

Remplissez les paramètres sourceDirectory et targetPath (prealablement créé) avec les bonnes valeurs.
Laissez savoir.
oubaid
Member II

Re: Importing programmatically

bonjour
j'ai suivi votre instruction mais j'ai toujours cette erreur
Script url /bulkfsimport/filesystem/initiate does not map to a Web Script
Web Script Status 404 - Not Found

merci
cleseach
Active Member II

Re: Importing programmatically

Bonjour,

L'URL que vous utilisez n'est pas la bonne.
Pour trouver qu'il faut utiliser "/alfresco/s/bulkfsimport/initiate", rendez-vous sur http://localhost:8080/alfresco/s/index/family/Bulk%20Filesystem%20Import. Cette page liste tous les webscripts relatifs au BulkImport.

Cordialement,
Charles Le Seac'h