cancel
Showing results for 
Search instead for 
Did you mean: 

Importing programmatically

oubaid
Champ in-the-making
Champ in-the-making
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 7

rguinot
Confirmed Champ
Confirmed Champ
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
Champ in-the-making
Champ in-the-making
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
Confirmed Champ
Confirmed Champ
’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
Champ in-the-making
Champ in-the-making
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
Confirmed Champ
Confirmed Champ
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
Champ in-the-making
Champ in-the-making
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
Star Contributor
Star Contributor
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