Projet

Général

Profil

Actions

Support #5866

fermé

Portlet "Mes brouillons" affiche des publications dont l'utilisateur n'a pas les droits d'accès.

Ajouté par Anonyme il y a environ 10 ans. Mis à jour il y a environ 8 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
-
Catégorie:
Portlets
Version cible:
-
Début:
15/09/2014
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
5.14.1
Système d'exploitation:
Livraison en TEST:
Livraison en PROD:

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 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
Actions

Formats disponibles : Atom PDF