cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco newbie

bakalfresco
Champ in-the-making
Champ in-the-making
Bonjour à tous,

J'ai un problème bloquant avec une installation d'Alfresco Community Edition 3.3 en production.

Je ne connais pas bien les détails de l'installation car elle a été faite par un ancien collègue qui est maintenant parti. Or je dois m'occuper aujourd'hui de la maintenance.

Le symptôme est tout "simplement" que je n'arrive pas à accéder aux espaces utilisateur.       
      
Plus précisément, je peux accéder à la console d'administration. Créer un nouvel espace, y accéder. Mais quand je redémarre tomcat et mysql (via un script qui positionne les variables et tout…), les espaces ne sont plus accessibles et me donnent l'exception ci-dessous.
J'ai eu beau parcourir la doc laissée par celui qui s'en était occupé, je n'arrive pas à avoir l'ombre d'un petit début de piste.

javax.servlet.ServletException: Could not resolve view with name 'site/XXXX/dashboard' in servlet with name 'Spring Surf Dispatcher Servlet'
   org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1042)
   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:67)


Si quelqu'un a une idée à me proposer, ne serait-ce que m'aiguiller vers un fichier de config à vérifier… l'architecture même des répertoires me perd car je travaille au quotidien sur des appli ASP.Net : donc même avec beaucoup de bonne volonté je n'ai pas vraiment les compétences pour investiguer ça tout seul.

Merci d'avance pour la moindre réponse/indice/suggestion que vous pourriez me proposer.
3 REPLIES 3

ecarbenay
Star Contributor
Star Contributor
Bonjour,

pour pouvoir vous aider, pouvez-vous nous donner un peu plus d'informations. Notamment quel est l'environnement de votre Alfresco (OS, base de données) ?

Cela fonctionnait-il avant, et ne fonctionne plus maintenant ?
Avez-vous modifié quelque chose à votre instance Alfresco qui a fait apparaitre le problème ?

Pouvez-vous nous indiquer si des customisations ont été faites sur votre instance Alfresco ? Notamment les presets de site ont-ils été modifiés, ou des presets ont-ils été ajoutés ?
Après avoir créer le site, même s'il n'est pas accessible, est-il visible lors d'une recherche des sites ?

Le problème apparait-il pour tous les utilisateurs ?
Les sites existant fonctionnent-ils correctement ?

Merci pour votre réactivité 🙂

Voilà plus de détails sur mon installation :

<cite> Notamment quel est l'environnement de votre Alfresco (OS, base de données) ?</cite>

OS : Windows 2008 R2 SP1
BDD : MySql 5.1.35-community for Win32 on ia32 (MySQL Community Server (GPL)(fournie avec l'installation d'Alfresco)

<cite>Cela fonctionnait-il avant, et ne fonctionne plus maintenant ?</cite>
Je ne peux malheureusement pas affirmer ça avec une certitude absolue car je n'ai pris en main le sujet qu'à partir de ce problème. Mais il me semble bien que l'application était fonctionnelle.

<cite>Avez-vous modifié quelque chose à votre instance Alfresco qui a fait apparaitre le problème ?</cite>

Le seul élément que j'ai modifié avant de redémarrer l'instance est un lien qui se trouve dans \tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\header\header.get.html.ftl
Une fois ma modification faite, j'ai redémarré le site et commencé à constater le problème (accès ko aux sites pré-existants)

<cite>Pouvez-vous nous indiquer si des customisations ont été faites sur votre instance Alfresco ? Notamment les presets de site ont-ils été modifiés, ou des presets ont-ils été ajoutés ?</cite>

Oui quelques customisations ont été faites :

<ul>
<li>
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\repository.properties
- Modification des ports
</li>
<li>
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\alfresco-shared.properties
- Modification des ports
</li>
<li>
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\clt-context.xml
- Modification des ports
</li>
<li>
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\remote-avm-test-context.xml
- Modification des ports
</li>
<li>
\tomcat\conf\server.xml
- Modification des ports
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-data\presets\presets.xml
- Réorganisation du tableau de bord des sites
- Simplification de la barre des menus
</li>
<li>
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\model\datalistModel.xml
- Suppression des fonctionnalités autres que sondage dans les DataLists de l’onglet Sondages
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\header\header.get.html.ftl
- Suppression des icônes dans l’entête
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\navigation\collaboration-navigation.get.html.ftl
- Suppression onglet Membres dans la barre des menus
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\title\collaboration-title.get.html.ftl
- Suppression des boutons sur la ligne des titres
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\document-details\document-actions.get.config.xml
- Modifier la liste des actions disponibles dans la page des détails d’un document
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\templates\org\alfresco\document-details.ftl
- Page des détails d’un document
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\dashlets\colleagues.get.html.ftl
- Suppression avatar sur la page d’accueil
</li>
<li>
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\modules
- custom-site.get.desc.xml
- custom-site.get.html.ftl
- custom-site.get.js
</li>
<li>
\tomcat\shared\classes\alfresco\web-extension\share-config-custom.xml
- Ajout d'une balise "config" [config evaluator="string-compare" condition="SitePages" replace="true"][pages]…[/pages][/config]
</li>
</ul>
Quelques fonctionnalités ont été configurées :
- Accès à google docs
- Paramétrage de l'application en français
- Sondage
- Charte graphique

<cite>
Après avoir créer le site, même s'il n'est pas accessible, est-il visible lors d'une recherche des sites ?</cite>
Je ne vois pas comment effectuer une "recherche des sites" : je viens à l'instant de créer un nouvel espace et en le cherchant grâce à son libellé dans la zone de recherche "globale", je n'ai que des documents dans la liste des résultats.
Par contre, en accédant à la page /share/page/user/admin/dashboard, je peux voir tous les sites ayant été créés dans le bloc "Mes sites".

<cite>Le problème apparait-il pour tous les utilisateurs ?</cite>
Oui, c'est systématique.

<cite>Les sites existant fonctionnent-ils correctement ?</cite>
Tant qu'on ne redémarre pas l'application, ils semblent bien fonctionner : intégration avec google docs notamment. Bien que n'ayant pas encore beaucoup utilisé l'application, les utilisateurs ont commencé à travailler avec et ne se sont pas plaints jusqu'à présent. Je suppose donc que oui, les sites fonctionnent normalement.

Bonjour,

J'ai pu avoir du temps pour continuer à investiguer le problème et j'ai décidé de refaire une installation depuis 0.
J'ai utilisé l'installeur d'Alfresco comunity 3.3g et ai configuré tomcat pour fonctionner sur le port 8090.

Les customisations que j'ai dû faire se résument ce coup-ci à 4 fichiers :
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\modules
custom-site.get.desc.xml
qui contient
<webscript>
<shortname>Utility Service for creating site programmatically</shortname>
<description>Utility Service for creating site programmatically</description>
<url>/modules/custom-site</url>
</webscript>

custom-site.get.html.ftl
qui contient
<div id="florent">
Espace actif
</div>

custom-site.get.js
qui contient
var tokens = new Array();
tokens["siteid"] = args.shortName;
sitedata.newPreset(args.sitePreset, tokens);

\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\repository\person
person.put.json.js
Ce fichier vient remplacer un existant mais juste pour ajouter une propriété et sans rien toucher d'autre

   if (!json.isNull("googleusername"))
   {
      person.properties["googleusername"] = json.get("googleusername");
   }


Résultat des courses : le comportement est le même que celui observé sur le site en production. A savoir : je peux créer un nouvel espace et y accéder mais dès que je dois redémarrer tomcat je tombe à nouveau sur l'exception ci-dessous
<java>javax.servlet.ServletException: Could not resolve view with name 'site/XXXX/dashboard' in servlet with name 'Spring Surf Dispatcher Servlet'
   org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1042)
   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:67)</java>

Pourtant j'ai demandé confirmation à mon collègue qui a assisté (de loin) celui qui s'était occupé de ce projet (et qui n'est plus dans nos murs) et il m'a assuré qu'à l'époque de leurs tests tout fonctionnait normalement (et ils avaient naturellement fait des redémarrages). Je reste donc preneur pour la moindre idée sur une piste pour trouver d'où vient le problème…

Autre détail, je ne sais pas si c'est pertinent mais à chaque arrêt, il y a une pluie d'erreurs java disant qu'il ne faut pas créer de bean lors de la destruction d'une factory :

<java>10:18:17,949 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'googledocs' subsystem, ID: [googledocs, default]
10:18:17,950 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'googledocs': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:17,954 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'email' subsystem, ID: [email, inbound]
10:18:17,954 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'InboundSMTP': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:17,984 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'Synchronization' subsystem, ID: [Synchronization, default]
10:18:17,984 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'shutdownBackstop': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:17,988 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'fileServers' subsystem, ID: [fileServers, default]
10:18:19,988 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'shutdownBackstop': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:19,997 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'OOoDirect' subsystem, ID: [OOoDirect, default]
10:18:19,999 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'shutdownBackstop': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:20,009 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'email' subsystem, ID: [email, outbound]
10:18:20,009 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'shutdownBackstop': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:20,016 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'imap' subsystem, ID: [imap, default]
10:18:20,016 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'shutdownBackstop': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:20,033 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'thirdparty' subsystem, ID: [thirdparty, default]
10:18:20,033 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'permissionServiceImpl': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:20,044 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]
10:18:20,044 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'indexerComponent': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>

<java>10:18:20,048 INFO  [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Stopping 'sysAdmin' subsystem, ID: [sysAdmin, default]
10:18:20,048 ERROR [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext] Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'indexerComponent': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)</java>