Documenti approvati visibili a guest solo nella versione 1.0

thumbnail
Marco Azzalini, modified 6 Years ago. Regular Member Posts: 146 Join Date: 11/18/14 Recent Posts
ciao a tutti, scrivo per uno strano problema che mi è capitato relativo ai documenti ed alle loro versioni. Su un sistema 6.2 in produzione un cliente mi ha segnalato di aver caricato un documento ma che questi non fosse visibile agli utenti  guest. Dopo opportune verifiche, la situazione era questa:
-) Il documento aveva i diritti di VIEW per il ruolo guest (al pari di tutti gli altri documenti)
-) erano presenti 3 versioni (1.0, 1.1 e 1.2) con l'ultima in stato Approvato
-) solo gli utenti con ruolo Content Reviewer potevano vedere la versione finale in stato approvato mentre tutti gli altri ruoli (che hanno comunque la VIEW) vedevano sempre e solo la versione 1.0
 Ho confrontato quel documento con gli altri presenti nello stesso folder e non ho trovato differenze a livello di asset, dlfileentry, dlfileversion (3 righe che correttamente fanno riferimento all'unico dlFileEntry), resources., etc
In pratica, gli utenti 'lettori' visualizzano un documento grazie al fatto che la sua versione finale è approvata ma in realtà accedono (e ricercano) solo la versione (1.0) ... da cosa può essere dovuto un simile comportamento? E come posso correggerlo? Il riavvio del server e la reindicizzazione di tutto la DL non ha cambiato nulla.Aggiungo che il problema si è presentato su due file. Uno dei due è stato cancellato e successivamente reinserito (da parte dello stesso utente) ed ora è correttamente visibile e ricercabile al pari di tutti gli altri.
Spero di non aver tralasciato informazioni importanti, nel caso chiedetemi pureciao e grazie per qualsiasi suggerimento vi possa venire.Marco
thumbnail
Daniele Baggio, modified 6 Years ago. Expert Posts: 336 Join Date: 12/5/08 Recent Posts
Giusto una domanda per capire.
Gli utenti Guest attraverso che cosa hanno accesso ai documenti?
thumbnail
Marco Azzalini, modified 6 Years ago. Regular Member Posts: 146 Join Date: 11/18/14 Recent Posts
Ciao, utilizzano anche loro (come gli  utenti contributori) la DL Portlet con alcune personalizzazioni. Sia nella vista delle cartelle e sia nella pagina di anteprima vedono la versione 1.0.
In home page, c'è un Asset Viewer con un mio ADT ed anche li c'è lo stesso fenomeno. I guest vedono il titolo del documento pre-approvazione mentre i contributori vedono correttamente l'ultima versione con il titolo modificato al momento della pubblicazione. E' come se la 'catena' delle versioni fosse interrotta per i  guest...  ciao e grazieMarco
thumbnail
Marco Azzalini, modified 5 Years ago. Regular Member Posts: 146 Join Date: 11/18/14 Recent Posts
Salve a tutti, dato che sono riuscito a risolvere il caso, scrivo qui la soluzione ;-)Avevo erroneamente dato la colpa ai permessi e questo mi aveva portato fuori strada. In realtà tutto nasce dal fatto che nelle pagine jsp della portlet della DL che visualizzano i file di una cartella o l'anteprima di un documento la particolare versione del documento viene caricata con un codice del genere:
if ((user.getUserId() == fileEntry.getUserId()) || permissionChecker.isContentReviewer(user.getCompanyId(), scopeGroupId) || DLFileEntryPermission.contains(permissionChecker, fileEntry, ActionKeys.UPDATE)) {
    fileVersion = fileEntry.getLatestFileVersion();
}
else {
    fileVersion = fileEntry.getFileVersion();
}
il problema è che getFileVersion() per determinare qual'è la versione approvata, fa riferimento al campo version della tabella dlfileentry, che esiste probabilmente per puri motivi prestazionali, e che sostanzialmente duplica il campo version della dlfileversion relativo all'ultimo FileVersion approvato.
Purtroppo, nel mio caso, probabilmente per un conflitto tra l'aggiornamento di stato effettuato da Kaleo ed un update di un metadato operato invece dal mio codice in una portlet, è successo che il campo version del dlfileentry non fosse allineato e puntasse  alla versione precedente. Una volta corretto quel dato, la visualizzazione del documento riprende a funzionare come dovrebbe.Mi rimane da indagare perché avvenga questo conflitto e come evitarlo ma questo è un altro problema.Con l'augurio che questo possa evitare dei mal di pancia a qualcun altro ;-)  vi salutociao,
Marco