[résolu] activer le mode debug pour alfresco

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

[résolu] activer le mode debug pour alfresco

Bonsoir Smiley Happy

J'essaie de développer une extension pour Alfresco. J'ai eclipse d'un côté avec mon projet et j'ai alfresco installé dans C:\alfresco de l'autre. En suivant diverses indications sur internet, j'ai crée deux variables d'environnement (JPPDA_TRANSPORT et JPDA_ADDRESS) et j'ai bien remplacé la ligne exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@" dans le startup.sh du dossier C:\alfresco\tomcat\bin.

Lorsque je lance alfresco, j'ai bien la ligne "listening for transport dt_socket at port 8000" qui apparait au début du script. Maintenant j'aimerais pouvoir debuguer le code d'une action que j'ai créée dans mon projet eclipse. J'ai déjà déployé mon extension dans le dossier webapp d'alfresco. J'ai mis des points d'arrêt sur la première ligne de code de ma classe mais lorsque j'utilise alfresco et que je clique sur le lien de l'action en question, rien ne se produit dans eclipse.

Il y a deux solutions possibles :

- soit je n'ai pas mis les breakpoints dans le bon fichier (je les ai mis dans le fichier .java de ma classe) auquel cas, est ce qu'il faut utiliser le .class qui est dans le jar dans mon eclipse plutôt ? Soit

- soit le lien de mon action ne fonctionne pas :/

Pourriez-vous m'aider?

Merci Smiley Happy
8 Replies
dranakan
Active Member

Re: [résolu] activer le mode debug pour alfresco

Hello,

Je vous conseille de tout d'abord voir si votre action démarre avant d'essayer le debug en live. Pour se faire, vous pouvez placer message (logger) dans votre code, ou, si vous n'êtes pas sûr que le logger fonctionne, faite planter l'application (division par zéro) et ceci se verra dans les logs… dès que vous savez que l'action est exécuter, tester le mode debug. (démarrer le serveur Alfresco, mettez un break point dans votre code (fichier Java), démarrer le mode debug dans eclipse (qui doit se connecter sur le serveur).

Pour configurer eclipse en mode debug live
regardez par ici : http://forums.alfresco.com/en/viewtopic.php?f=10&t=16023#p53463

Pour activer le logger dans votre module (écrire dans la console)
Dans C:\Alfresco\tomcat\webapps\alfresco.war\WEB-INF\classes\log4j.properties
Ajouter
log4j.logger.com.monModule=debug

Toutes les classes de ce paquetage seront loggées.

(Note : Vous pouvez aussi configurer le log4j dans votre module (ici com.monModule))

Utiliser le mode debug dans une classe

public class monAction extends ActionExecuterAbstractBase {
   private Logger logger = Logger.getLogger(monAction .class);

   ….
   if (logger.isDebugEnabled()) {
      logger.debug("Action : OCRization");
   }

Bonne chance
ethan
Member II

Re: [résolu] activer le mode debug pour alfresco

Bonjour et merci pour ton aide Smiley Happy

En suivant les indications, j'ai pu activer le mode debug. J'ai testé en mettant un point d'arrêt sur une page jsp et ça fonctionne. J'ai aussi activé log4j pour mon package et j'ai rajouté le code que tu m'as fourni dans mes classes. J'ai deux actions: une classe action définie avec son fichier -context.xml et son affichage dans web-client-config-custom.xml et une bean que j'ai déclarée dans le fichier faces-config-custom.xml et que j'ai appelé via un <h:commandLink>.

Or que je clique sur le lien de l'action ou sur le commandLink, rien ne se passe :/ j'ai mis des points d'arrêt à l'intérieur de chacune de ces deux classes mais ils ne sont pas déclenchés. J'ai remarqué que mon action n'apparaissait pas dans la liste des actions losque je clique sur "run action". Pourtant elle est bien déclarée dans son fichier -context.xml et je n'ai pas d'erreur au démarrage d'alfresco.
dranakan
Active Member

Re: [résolu] activer le mode debug pour alfresco

L'action devrait apparaître dans la liste des actions… Tentez de regarder si vous n'avez pas oublier une étape : http://ecmarchitect.com/images/articles/alfresco-actions/actions-article.pdf
ethan
Member II

Re: [résolu] activer le mode debug pour alfresco

Est-ce qu'une action a obligatoirement besoin d'une classe handler (ou listener) pour fonctionner ? En lisant l'article j'ai compris que mon action n'apparaissait pas dans la liste de "run action" parce que je n'ai pas ajouté le handler de mon action dans la configuration du Action Wizards (dans web-client-config-custom.xml). Je pense ne pas en avoir besoin puisque je n'ai pas de page jsp custom a appeler car pas de paramètres à remplir manuellement par l'utilisateur.
dranakan
Active Member

Re: [résolu] activer le mode debug pour alfresco

Est-ce qu'une action a obligatoirement besoin d'une classe handler (ou listener) pour fonctionner ?
Non. Mais elle doit quand même s'afficher dans la liste des actions. Le handler+jsp seront utilisés dans la configuration de l'action quand on clique sur "Set value and add"


Run Action Wizard

Step One - Select Actions
1.   Select Action
….(liste des actions)…
2.    Click to set values and add to list
"Set value and add"
ethan
Member II

Re: [résolu] activer le mode debug pour alfresco

D'accord Smiley Happy

Bon il y a du progrès. Après avoir redémarré Alfresco et vidé le dossier temp de tomcat, je vois enfin mon action dans la liste de run action et lorsque je clique sur finish, elle se lance bien, avec le mode debug Smiley Very Happy. Par contre, lorsque je clique directement sur cette action dans le panel des actions de la page qui montre les détails d'un document, il ne se passe rien.
dranakan
Active Member

Re: [résolu] activer le mode debug pour alfresco

Par contre, lorsque je clique directement sur cette action dans le panel des actions de la page qui montre les détails d'un document, il ne se passe rien.
Désolé… je ne peux pas vous aider là-dessus… je n'ai jamais fait ceci…
ethan
Member II

Re: [résolu] activer le mode debug pour alfresco

Merci quand même pour votre aide Smiley Happy Ça m'a bien servi ^^