Support #5866
ferméPortlet "Mes brouillons" affiche des publications dont l'utilisateur n'a pas les droits d'accès.
100%
Description
Résultat obtenu:
Actuellement le portlet "Mes brouillons" affiche des publications dont l'utilisateur n'a pas les droits d'accès.
Résultat Attendu:
Afficher uniquement les publications dont l'utilisateur a les droits d'accès.
Fichiers
Mis à jour par Nicolas Eysseric il y a environ 10 ans
- Statut changé de New à Feedback
Merci de fournir un cas concret afin de qualifier l'anomalie constatée...
Mis à jour par Anonyme il y a environ 10 ans
Un cas concret est présent sur notre intranoo :
http://intranoo.silverpeas.com/silverpeas/admin/jsp/MainFrameSilverpeasV5.jsp
Dans la capture d'écran on trouve notamment des brouillons qui concernent Mantis dont les liens aboutissent à la page suivante :
http://intranoo.silverpeas.com/silverpeas/admin/jsp/accessForbidden.jsp
Veux tu que je récupère les logs sur l'intranoo également ?
Mis à jour par Nicolas Eysseric il y a environ 10 ans
Quels sont les liens pour ces favoris Mantis ?
Mis à jour par Anonyme il y a environ 10 ans
Mis à jour par Anonyme il y a environ 9 ans
Après une rapide analyse sur un environnement particulier, il existe des publications dans la table SB_Publication_Publi qui référence des applications qui n'existent plus.
Ainsi la publication 15315 référence l'application kmelia953 qui n'est pas présente dans la table ST_ComponentInstance.
Je ne sais pas ce qui est à l'origine de cette incohérence de données puisque la suppression d'une application de type GED supprime correctement l'ensemble des publications qu'elle contient.
Une solution consisterait à créer un script de purge des publications à supprimer en base de données pour retrouver un état cohérent.
select count(*) FROM dbo.SB_Publication_Publi where instanceId like 'kmelia%' GO -- 9098 select count(*) FROM dbo.SB_Publication_Publi publi, dbo.ST_ComponentInstance app where publi.instanceId like 'kmelia%' and publi.instanceId = concat(app.componentName, app.id) GO -- 9009
Mis à jour par Anonyme il y a environ 9 ans
La requête à exécuter sur le serveur SQL Serveur (MS) pour obtenir la liste des publications orphelines:
select pubId FROM dbo.SB_Publication_Publi where instanceId like 'kmelia%' and pubId not in (select publi.pubId FROM dbo.SB_Publication_Publi publi, dbo.ST_ComponentInstance app where publi.instanceId like 'kmelia%' and publi.instanceId = {fn CONCAT(app.componentName,cast(app.id as varchar(20)))}) GO
Mis à jour par Anonyme il y a environ 9 ans
Requête SQL Server pour obtenir la liste des instance id de type kmelia présent dans la définition des dossiers (SB_Node_Node) mais dont l'application n'existe plus dans la table ST_componentInstance
select distinct instanceId from SB_Node_Node where instanceId like 'kmelia%' and instanceId not in (select {fn CONCAT(app.componentName,cast(app.id as varchar(20)))} as instanceId from ST_componentInstance app where componentName = 'kmelia') order by instanceId -- 44 résultats
Mis à jour par Anonyme il y a environ 9 ans
- Tracker changé de Bug à Support
- Priorité changé de Low à Normal
Mis à jour par David Lesimple il y a environ 8 ans
- Statut changé de Feedback à Closed
- % réalisé changé de 0 à 100