[Résolu]Le code java script ça ne marche pas

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

[Résolu]Le code java script ça ne marche pas

Bonjour à tous
Je m’approche à Alfresco depuis quelque mois.
J’ai téléchargé Alfresco Lab 3.0.0, Tomcat, MySql et  mon S.O est windows XP.

Je suis en train de m’approcher à la programmation. 
Je suis déboutant et alors pour mieux comprendre Alfresco et sa programmation j’ai acheté des livres.
Maintenant je suis en train de lire « Alfresco Enterprise Content Management Implementation ».

Je suis les exemples et j’ai copie un fichier Java Script qui permet de déplacer un document dans un espace Y à partir de un espace X si la date indiquée sous « effective from «  est la date d’aujourd’hui.

Mes pas sont :
1)Tous les documents qui sont dans l’espace X ont l’aspect « effective from« défini avec la data d’aujourd’hui.
2)J’ai copié  le code dans Bloc-Notes et je l’ai appelé effective-from.js
Voici le code :
//——————————————————-
// Name: Effective-from.js
// Description : Deplace le contenu dans l'espace prouve-script
//———————————————————


var  myworddocumentFolder = companyhome.childByNamePath("User Home/UtilisateurA/My word document");
var  prouvescriptFolder = companyhome.childByNamePath("User Home/UtilisateurB/prouve-script");

if (myworddocumentFolder  != null )
{
var i = 0;
var today = new Date ();

myworddocumentChildren = myworddocumentFolder.children;
myworddocumentTotal = myworddocumentChildren.lenght;

for ( i = 0; i < myworddocumentTotal ; i++)
{
child =  myworddocumentChildren [i];
if(child.properties["cm:from"]<= today)
{child.move(prouvescriptFolder);
}
}
}

3)J’ai inséré ce fichier dans « Company Home /Data Dictionary/Script ».
4)Je me suis déplacé dans l’espace X ( My Word Document) et en utilisant « Run action « j’ai exécuté le script.
Problème :

Le  script ne donne pas des erreurs mais les documents ne se déplacent pas .
J'ai lancé le script à partir de document mais rien.

Quelqu’un peux me donner une indication ? Qu’est que  j’ai oublié  de faire.
Je suis sure que c’est une bêtise mais je suis vraiment déboutant

Je vous remercie en avance
Anbira
12 Replies
rivarola
Active Member

Re: [Résolu]Le code java script ça ne marche pas

Bonjour,

Essaie avec le débogueur JavaScript intégré à Alfresco :
http://wiki.alfresco.com/wiki/3.0_JavaScript_API#Alfresco_JavaScript_Debugger
anbira
Member II

Re: [Résolu]Le code java script ça ne marche pas

Merci Beaucoup pour l'indication.
Anbira
anbira
Member II

Re: [Résolu]Le code java script ça ne marche pas

Bonjour
Le probléme n’est pas encor résolus.

J’ai utilisé l’outil que vous m’avez indiqué et je dois dire qu’est très intéressant.
J’ai fait le dubagg du script mais donne un errer déjà à partir de la premier instruction.
L’errer est le suivant :
Org. mozilla. javascript. Ecma Error :Reference Error
« companyhome »n’est pas define (C:/Tmp/JavaScript/effective-from.js#11)

Moi je sais que le variable comme companyhome sont reconnu par default:

En plus j’ai essayé de faire le dubbag aux scripts que sont déjà présents sur Alfresco come backup.js et j’ai la même erreur. (mais sur la mot space ) 

Il y a quelque chose que je dois activé?     :?  :?: Il y a quelche chose dans le code que il n'y a pas? :?  :?:

Je suis perdue  :cry:
Je vous remercie encor pour votre patience.
Anbira
thomasb
Member II

Re: [Résolu]Le code java script ça ne marche pas


var  myworddocumentFolder = companyhome.childByNamePath("User Home/UtilisateurA/My word document");
var  prouvescriptFolder = companyhome.childByNamePath("User Home/UtilisateurB/prouve-script");

if (myworddocumentFolder  != null )
{
[…]

Problème :

Le  script ne donne pas des erreurs mais les documents ne se déplacent pas .

A priori, myworddocumentFolder est null, tout simplement.



Side note:
4)Je me suis déplacé dans l’espace X ( My Word Document) et en utilisant « Run action « j’ai exécuté le script.
[…]
J'ai lancé le script à partir de document mais rien.

Le script se basant uniquement sur des chemins partant de "companyhome" (i.e. il n'utilise pas les variables "document" ni "space"), peut importe où on se place pour lancer le script, le résultat sera le même.

Par contre, ça peut peut-être venir de "My Word Document" vs. "My word document", je sais plus comment fonctionne childByNamePath…
anbira
Member II

Re: [Résolu]Le code java script ça ne marche pas

Merci beaucoup pour cette réponse rapide

Vous avez raison la variable « myworddocumentFolder » est null j’ai activé show_audit.ftl sur l’espace My word document (malheureusement il est bien écrit) et comme « result » j’ai
 
 org.mozilla.javascript:undefinided@348f8a 
En cherchant sur le forum
J’ai trouvé un post qui  dit que le Xpath (childByNamePath (Xpath)) n’aime pas les espaces dans le nom.

J’ai changé le nom My_word_document mais le résulta est encor une variable undefinided.
En plus pour ne pas avoir User Home (nom avec l’espace) j’ai ecrit:
var  myworddocumentFolder = userhome.childByNamePath("UtilisateurA/My_word_document");
var  prouvescriptFolder = userhome.childByNamePath(UtilisateurB/prouve-script");

Mais Rien
Je crains qu’il ne soit pas un problème de code mais de quelque chose que je n’ai pas fait.
Il est mon premier script je ne sais pas si je dois habilité ou modifié quelque xml, ou par example le script je dois le mettre aussi dans un path particulier (C:/Alfresco/……../ ) Smiley Surprisedops:
Merci encor

Anbira

P.S. je m’excuse pour mon française je suis en train de l’étudier et il est au même niveau de java script
thomasb
Member II

Re: [Résolu]Le code java script ça ne marche pas

En cherchant sur le forum
J’ai trouvé un post qui  dit que le Xpath (childByNamePath (Xpath)) n’aime pas les espaces dans le nom.

Le paramètre passé à childByNamePath n'est pas un chemin XPath (il y a childrenByXPath pour ça; il est vrai que XPath est utilisé en interne *par* childByNamePath, mais c'est une autre affaire), mais bien un "chemin de système de fichier".
Il n'y a pas à ma connaissance de problème avec les espaces, mais je peux me tromper…

Pour info, companyhome.childByNamePath("User Home/UtilisateurA/My word document") sera traduit en l'équivalent de companyhome.childrenByXPath("*[@cm:name='User Home']/*[@cm:name='UtilisateurA']/*[@cm:name='My word document']")[0]

En plus pour ne pas avoir User Home (nom avec l’espace) j’ai ecrit:
var  myworddocumentFolder = userhome.childByNamePath("UtilisateurA/My_word_document");
var  prouvescriptFolder = userhome.childByNamePath(UtilisateurB/prouve-script");

userhome est le "répertoire personnel" de l'utilisateur courant (probablement "Company Home/User Home/UtilisateurA" si l'utilisateur courant est "UtilisateurA", et par défaut "Company Home" si l'utilisateur courant est "admin").

Je crains qu’il ne soit pas un problème de code mais de quelque chose que je n’ai pas fait.
Il est mon premier script je ne sais pas si je dois habilité ou modifié quelque xml, ou par example le script je dois le mettre aussi dans un path particulier (C:/Alfresco/……../ ) Smiley Surprisedops:

Pas que je sache.

P.S. je m’excuse pour mon française je suis en train de l’étudier et il est au même niveau de java script

Le JavaScript doit être plus qu'acceptable alors ;-)
anbira
Member II

Re: [Résolu]Le code java script ça ne marche pas

Bonjour  Thomas

Je m’excuse pour ma réponse tardive.
Merci pour votre explication j’ai appris quelque chose de nouveau.

Si vous me le permettez je vous dérange encore.
Pour mon problème ça semble qu’il n’est pas installé quelque « librairie », parce-que il ne reconnait pas la variable companyhome.

En plus par exemple si (en utilisant « run action ») je lance le script Bakup.js (fourni par alfresco) il va crée un espace backup avec la copy du document  mais dans cette espace il y a une erreur
Error during processing of the template 'null'. Please contact your system administrator
Je ne sais pas si cet épisode est ou no lieu à ma problème.
Je ne trouve pas outre question ou idée sur lesquelles je peux encor réfléchir
Qu'est que vous en penser?
Thomas a écrit
Le JavaScript doit être plus qu'acceptable alors

Soi le française soi le java et java script sont des belles « langue » mais tres difficile  :shock:
Merci pour votre patience
Anbira
michel
Member II

Re: [Résolu]Le code java script ça ne marche pas

Bonjour,

Petite idée en passant part là…

as-tu testé en admin?
Le problème vient peut-être de droit d'accès.
anbira
Member II

Re: [Résolu]Le code java script ça ne marche pas

Buonjourn
Merci du intéressement mais malheureusement je tout testé comme admin.
Maintenant je vais installer  la version lab 3 Stable et je recommence  en espérant qu’il puisse marcher.
Merci encor
Anbira