Est-il possible de masquer certaines recherches prédéfinies comme “publique” selon le profil de l’utilisateur ?
Le besoin le plus urgent consiste à pouvoir a minima le faire par code.
Mais serait-il envisageable de remplacer le flag “publique” O/N par un enum “privée/habilitée/publique” (le fonctionnement d’une recherche “habilitée” étant similaire à la gestion des actions avec un hook permettant de surcharger comme isActionEnabled) ? (pas d’urgence particulière mais j’ai déjà pas mal de cas d’usage envisagés car le métier sollicite beaucoup les équipes pour réaliser des extractions ou avoir du support pour appliquer des filtres complexes).
NB: j’ai déjà mis en œuvre un mécanisme permettant de définir des mots-clé “[RULEXXX]” dans les recherches prédéfinies qui sont remplacés dynamiquement par la searchSpec afférente dans le preSearch. Il ne me manque plus qu’à scoper un peu mieux les recherches proposées selon le profil de l’utilisateur courant.
J’ai trouvé ça dans le javadoc qui fait exactement ce dont j’ai besoin à court terme :
@Override
public java.util.List<PredefinedSearch> getPredefinedSearches() {
ArrayList<PredefinedSearch> grantedSearches = new ArrayList<PredefinedSearch>();
ArrayList<PredefinedSearch> predefSearches = (ArrayList<PredefinedSearch>)super.getPredefinedSearches();
if (predefSearches != null) {
for (int i=0; i<predefSearches.size(); i++) {
PredefinedSearch predefSearch = predefSearches.get(i);
if ([condition vérifiée]) grantedSearches.add(predefSearch);
}
}
return grantedSearches;
}
Je restreint du coup ma feature request (pas urgente) à pouvoir sous-traiter au socle un mode d’habilitation (sans code) des recherches via une configuration d’enum “privée/habilitée/publique” + groupes habilités
L’évolution est en cours en 5.4 au sein d’un besoin plus général sur les autorisations.
Nouvel objet Permission qui permet d’autoriser (ou interdire) des groupes sur des entités, via un champ objet pouvant pointer sur :
Anciens droits migrés :
Print template
Crosstab
Shortcut
Constraint
Model template
Nouvelles autorisations :
Predef search (public + permitted)
Treeview
Place map
Agenda
Timesheet
Fin des fonctions pour :
Domain
External object
On va également pouvoir utiliser cette nouvelle fonctionnalité pour surcharger les droits par groupe sur les Attributs d’objet (visible/modifiable/obligatoire) sans avoir besoin de coder ou créer des contraintes habilités.