Est-il possible d’avoir une url permettant d’accèder directement au rendu d’un objet externe dans l’UI Simplicité (en passant avant par l’authent login/mot de passe Simplicité ou SSO si besoin) ? et de pouvoir récupérer les éventuels paramètres passé dans l’url dans les paramètres de la méthode display() de l’objet externe ?
Le besoin serait d’avoir le même comportement que pour les urls suivantes :
Avec ces urls si l’utilisateur est déjà authentifié il arrive directement sur la bonne page et s’il n’est pas authentifié il passe par la page de connexion avant d’arriver directement sur la bonne page.
Merci j’arrive bien a accéder directement à la page de l’objet externe en utilisant le deeplink ou le permalink. Par contre quand j’utilise le permalink les paramètres passés dans l’url sont perdus.
Le code Java de DemoCatalog :
package com.simplicite.extobjects.Demo;
import java.util.*;
import com.simplicite.util.*;
import com.simplicite.util.exceptions.*;
import com.simplicite.util.tools.*;
/**
* UI component external object DemoCatalog
*/
public class DemoCatalog extends com.simplicite.webapp.web.ResponsiveExternalObject {
private static final long serialVersionUID = 1L;
// Note: in most cases no server-side Java code is needed
// Just implement the 3 client-side resources: HTML, SCRIPT (Javascript with the render function), STYLES
/*@Override
public void init(Parameters params) {
AppLog.warning("DEBUG / params: " + params.toString(), null, getGrant());
}*/
@Override
public String content(Parameters params) {
AppLog.warning("DEBUG / params: " + params.toString(), null, getGrant());
return super.content(params);
}
}
Merci pour ton analyse.
On va corriger ça, les paramètres sont perdus dans la conversion Permalink => Deeplink.
Le code utilise un request.getPathInfo() qui ne récupère que /demo-catalog.
Ce sera livré en 6.1.11 en lui ajoutant le request.getQueryString().
Je laisse @Francois répondre si c’est backportable en 6.0 mais j’attire l’attention sur le fait que la 6.0 est désormais en toute fin de maintenance (31/10/24) la 6.0 est une version mineure, il s’agit donc d’une maintenance court terme uniquement destinée à laisser un peu de temps pour upgrader en 6.1 (ce n’est pas une maintenance long terme comme pour la v5 avec la 5.3).
Il est donc largement temps de passer en 6.1, c’est en général indolore sauf si vous utilisez les choses indiquées ici: release note 6.1 / compatibility-breaking-changes pour lesquelles le refactoring est simple