0

6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés



Méthode Web : divers

Méthodes et fonctions propres au web

Préambule

Les méthodes propres au web prennent en charge chacune une action précise. Elles sont fournies dans leur contexte d'exploitation dans les ressources standard et ne font l'objet d'une description que si cela peut être utile à la personnalisation de votre application. Elles sont regroupées par thèmes dans le présent document.

Méthodes relatives à la recherche et aux listes

Catégorisation de résultat

u_select2subList ("rubriques")

Prépare les valeurs permettant d'effectuer des sous-sélections.

u_subList ("chapitres")

Charge les tableaux contenant les rubriques pour lesquelles des valeurs ont été trouvées.

u_subList ("disp"; "parametres")

Charge les tableaux des valeurs / enregistrements trouvés.

En savoir plus sur la catégorisation.

Autres méthodes relatives aux recherches

u_SelectConstr ("1") ou u_SelectConstr ("0")

Construit les éléments nécessaires aux requêtes sur le web (File://Select.htm), le paramètre "0" permet de désactiver l'apparition automatique de la sélection des opérateurs.

u_SelectLibre (action)

Permet de construire les écrans de recherche libre où l'utilisateur peut sélectionner ses critères de recherche ainsi que les opérateurs de combinaison (File://SelectL.htm).

action Description

1 Charge les critères possibles (en tenant compte du paramètre "table")

2 Propose la requête avec des lignes pré-formatées, une par critère

3 Propose la requête sans ligne pré-formatée

Critères possible : si un nom de requête est spécifié dans l'URL (paramètre "NomReq"), ou si une requête dont le nom commence par "Generic_" existe, ce sont les critères proposés par cette requête qui seront proposés à l'utilisateur, sinon, ce sont toutes les rubriques cherchables (ie : indexées) qui seront proposées.

u_SelectNews (code action ; "Noms des tableaux" )

Charge les nouveautés calculées par le méthode ID_SelectNews et alimente les tableaux en vue de leur affichage sur la page d'accueil (File://Main.htm ; code action 101 à 103) ou sur la liste des dossiers personnels (code action 201 à 203). Crée la liste de navigation (code action 99). Charge le contenu d'un dossier (code action > 1000).

Gestion des paniers

u_SelectManuel_Act

Gestion des paniers (ou sélections) : nouveau panier, modification, ajout d'enregistrements...

Navigation dans une liste

u_range ("code" ; "destination" ; "lien sur" ou "option")

Code : voir le détail fourni ci-après.

Destination : URL si différente de l'URL courante

Lien : affiche le contenu de ce paramètre s'il y a lieu en générant le lien sur son contenu

Option : nombre de pages possibles si le code est "list"

Lors d'une requête, le logiciel constitue un tableau (LTNumRecList) comportant les numéros des enregistrements trouvés. Le nombre d'éléments de la liste affichés dans une page de résultat est fixé par la variable EList_NbElements dont la valeur est réglée par défaut en paramétrage du serveur web mais qui peut être modifiée ponctuellement (exemple : EList_NbElements:=100 provoquera l'affichage de listes de 100 éléments). Ce tableau est enregistré sur disque dans le dossier de contexte de l'utilisateur (WEBUSERS...). Lors de la navigation au sein d'une liste, le tableau est restitué à partir de son indice de liste (paramètre &idlist=...).

Naviguer entre les pages d'une liste

Première page :

!4D=insert;u_range ("--";"";"<img src='GIF/NavP1.gif' border=0>");3!

Page précédente :

!4D=insert;u_range ("-";"";"<img src='GIF/NavPre.gif' border=0>");3!

Si la page affichée est la première page, l'appel à cette fonction avec ces codes renverra une chaîne vide.

Accès direct à une page avec 10 pages possibles :

!4D=insert;u_range ("list";"";"10");3!

Page suivante :

!4D=insert;u_range ("+";"";"<img src='GIF/NavSui.gif' border=0>");3!

Dernière page :

!4D=insert;u_range ("++";"";"<img src='GIF/NavDer.gif' border=0>");3!

Si la page affichée est la dernière page, l'appel à cette fonction renverra une chaîne vide.

Naviguer entre les enregistrements d'une liste

Premier enregistrement :

!4D=insert;u_range("r--";"";"<img src='GIF/NavP1.gif' border=0>");3!

Enregistrement précédent :

!4D=insert;u_range("r-";"";"<img src='GIF/NavPre.gif' border=0>");3!

Retour à la liste :

!4D=insert;u_range("r=";"ListRecord.htm";"<img src='GIF/NavList.gif' border=0>");3!

Enregistrement suivant :

!4D=insert;u_range("r+";"";"<img src='GIF/NavSui.gif' border=0>");3!

Dernier enregistrement :

!4D=insert;u_range("r++";"";"<img src='GIF/NavDer.gif' border=0>");3!

Gestion des dossiers

u_dossier (code action)

Cette méthode tient compte des autorisations de l'utilisateur.

Code action Description

1 Crée la sélection des requêtes "dossiers web" de premier niveau

2 Construire le tableau de l'arborescence complète :

LTx1 contient les numéros de requête

LTx2 contient le niveau d'indentation

>100 Calcule l'arborescence à partir de la requête dont le n° est égal à : code-100

Elle est à utiliser lorsque l'on veut proposer une approche différente de l'accès aux dossiers (ie : autre que par les options hiérarchiques proposées dans les menus).

Exemple

!4D=exec;u_dossier (1)!

!4D=exec;SELECTION VERS TABLEAU([Requete]Requete_num;LTx)!

!4D=begin;LTx!

!4D=exec;CHERCHER ([Requete];[Requete]Requete_num=LTx{LTx})!

<font class="titleblack10">

!4D=field;$0202/(Requete)Libelle;end=^p;encode=H!

!4D=exec;XRAZ_Tab (->LTx1)!

!4D=exec;XRAZ_Tab (->LTx2)!

!4D=exec;u_dossier (100+[Requete]Requete_num)!

<font class="textblack10">

!4D=begin;LTx1!

!4D=exec;CHERCHER ([Requete];[Requete]Requete_num=LTx1{LTx1})!

!4D=insert;LTx2{LTx1}*" . "!

<a href="ListRecord.htm?list=folder&folder=!4D=field;$0201/(Requete)Requete num! ">

!4D=field;$0202/(Requete)Libelle;end=^p;encode=H!</a>

!4D=end;LTx1!

!4D=end;LTx!

Ceci permet d'afficher la liste des dossiers de l'utilisateur dans une page avec une indentation par niveau et le lien sur chaque dossier.

Utilitaires

u_AdrIPabs ou u_AdrIPabs ("*")

Un lien qui permet d'invoquer une URL au sein d'une page peut être exprimé en relatif si l'URL fait appel au même serveur (exemple : <a href="Record.htm?record=...">). Par contre, si l'URL n'appelle pas le même serveur, il faut que l'URL soit complète (exemple : <a href="www.monsite.net/Record.htm?record=...">).

Cette fonction permet d'insérer l'adresse du serveur lorsqu'elle est appelée dans un contexte autre que dans le serveur web (exemple : en préparation d'un email). Avec le paramètre optionnel "*", elle permet d'insérer l'adresse du serveur dans tous les cas.

Lx:= u_colorhtml2RVB ( "color html")

Convertit une couleur du type #AABB22 en couleur RVB 4D

TCom:= u_colorRVB2html (N° de couleur)

Convertit une couleur RVB 4D en couleur du type #AABB22

TCom:=u_GetGoogleMapURL ("adresse XML" ; facteur de zoom)

Permet de convertir une rubrique adresse XML en une chaîne de caractères pouvant être transmise à GoogleMap. Si le premier paramètre est omis, le logiciel cherche une adresse sur la fiche courante. Si le facteur de zoom est omis, c'est la valeur par défaut 15 qui est utilisée.

Exemple

La ressource AWEB_LinkMap :

# TCom:=u_GetGoogleMapURL

#IF (TCom#"")

<a href="http://maps.google.fr/maps?f=q&hl=fr&q=!4D=insert;TCom;3!&z=15&iwloc=addr">voir le plan</a>

Calcule l'adresse de la fiche courante et propose un lien sur GoogleMap si cette fiche à une adresse.

x_Autorize ("code autorisation")

Permet de tester une autorisation en vue de montrer / cacher certaines options.

Gestion des éléments de profil

Ces quatres méthodes sont utilisées pour la constitution des différentes options auxquelles l'utilisateur connecté aura accès sur le web et ne sont jamais appelées en dehors de ce contexte.

u_menu_dyn : calcule les options des menus

u_menuWeb : calcule les tableaux javascripts contenant les options

u_optionDyn : calcule les tableaux javascripts contenant les options proposées en bas de chaque liste

Gestion des enregistrements

u_recordInit (Record_Num)

Charge les variables contenant les couleurs de fond (ColF) et de texte (ColT), l'appel à l'image propre au type d'enregistrement (TForm_Logo) ainsi que le type d'enregistrement exprimé dans la langue de l'utilisateur (AForm_Record_Type). Crée la sélection de la table des archives.

u_Geide (sélecteur ; num archive ; "nom fichier" ; largeur max ; hauteur max)

Plus de détails sur la fonction u_Geide.

u_list_exemp ("champ" ; "attributs du tableau html" ; "Titres des colonnes")

Prépare un tableau html à afficher directement dans une page html, avec l'ensemble des exemplaires d'une fiche document.

Les trois paramètres sont optionnels.

Paramètre champs : est exprimé sous la forme d'une série de 0 et de 1 indiquant parmis les champs suivants, quels sont ceux qui doivent figurer : N° exemp. ; Cote ; Code barre ; Commentaire ; Emprunt autorisé ; n° inventaire ; Date dépot ; Date de restitution ; disponibilité

Exemple

111100001 : affichera 5 colonnes : N° exemp. ; Cote ; Code barre ; Commentaire ; disponibilité

Paramètre attributs du tableau. Par défaut, le code html généré est :

<table border="0" cellpadding="0" cellspacing="0">, pour modifier les valeurs, il faut passer une chaîne de caractères composée de trois nombres entiers : border ; cellpadding ; cellspacing.

Exemple

u_list_exemp ("";"3 2 1 ")

génèrera le code suivant :

<table border="3 " cellpadding="2 " cellspacing="1 ">

Titre des colonnes : pour personnaliser les titre des colonnes (qui sont, par défaut, les noms des rubriques), il suffit de les placer dans ce paramètre en les séparant par des "/".

http_4DWrite

Permet d'envoyer le contenu 4D Write d'une fiche. Cette méthode ne peut être appelée que dans un "exec".

Exemple

!4D=exec;http_4DWrite !

html_HList_TG ("nom de la page" ; "séparateur")

A partir du descripteur courant, calcule la hiérarchie en générant un lien sur chacun des niveaux ascendants.

Paramètre optionnel : nom de la page.

La valeur par défaut est "Record.htm?record=".

Pour obtenir, par exemple, la liste des documents liés à la place de la fiche descripteur, il suffit d'indiquer dans ce paramètre :"ListRecord.htm?list=link&table=3&link=141&xRecord=".

Paramètre optionnel : séparateur.

Par défaut, chaque descripteur est séparé du suivant par " - ". Ceci peut être remplacé par tout autre code html.

Exemple

!4D=exec;Select_X(-3;5;-141)!!4D=exec;Filtre_Table (5)!

!4D=exec;SELECTION VERS TABLEAU ([Thesaurus]Record_num;LTx1)!

!4D=begin;LTx1! !4D=exec;Goto_record (LTx1{LTx1})!

<font class="textblack10"><img src="GIF/PuceG.gif" border="0">

!4D=insert;html_HList_TG ;3!

<a href="Record.htm?record=!4D=insert;html_code (Chaine (Record_num (5)))!" class="titleblack10"> - !4D=field;$0501/(Thesaurus)Descripteur;end=^p;encode=H;hl=on!</a>

!4D=end;LTx1!

html_code

Permet de coder un numéro d'enregistrement ou d'archive afin d'éviter qu'un utilisateur puisse accéder en direct à un enregistrement à partir d'un numéro.

html_addURL ("Intitulé" ; "table;type;site;filtre" ; "URL")

Exemple

!4D=insert;html_AddURL ("Nouvel article";"3;Article;$1");3!

Si l'utilisateur a le droit de saisir un nouveau document (table 3) de type article sur le site $1, cette fonction génèrera un lien sur l'intitulé "Nouvel article" et permettant d'accèder directement à la saisie d'un nouvel article.

<a href='EditRecord.htm?act=add&key=103 '>Nouvel article</a>

NB : pour des raisons de sécurité, il n'est pas possible à un utilisateur de connaître la correspondance entre le paramètre "key" et les caractéristiques de la saisie proposée.

Gestion de pages spéciales

u_Contribution : saisie, modification des contributions.

u_moderator : page du modérateur permettant de valider ou de rejeter des contributions

u_previews : gestion de la planche contact

u_profil : gestion de la page "Ma fiche identité"

u_RecordAddEdit : gestion de la page de saisie de valeur dans une table lors de la saisie d'une fiche

u_RecordEdit : préparation de la page de saisie

u_RecordLinks : prépare les tableaux des enregistrements liés à une fiche en vue de leur affichage

u_RecordModify2 : prépare les données pour la saisie des données de gestion

u_RecorsSave : enregistre les modifications apportées à une fiche

u_SubmitURL : lors de l'envoi d'une URL ou d'un fichier au serveur en vue de créer un nouvel enregistrempent, en analyse le contenu et propose une fiche pré-remplie

u_Survey : gestion des sondages

u_ListLoans : dans la liste des emprunts, prépare les 4 ensembles permettant d'afficher : Emprunts en retard ; Emprunt à rendre ce jour ; Emprunts en cours ; Réservations dépassées ; Réservations

u_Web_Fields : gestion de la page de saisie / modification de rubrique

u_Web_Loan : gestion de la page de saisie des emprunts / réservations / retour

u_Web_Params : gestion de la page de saisie des paramètres

u_Web_PurchaseRequest : gestion de la page de saisie d'une demande d'achat

u_Web_Reserve : gestion de la saisie d'une réservation d'un document

u_web_Serials : gestion de la page de réception des numéros des revues

u_Web_Structure : gestion de la page de création / modification de types

u_StatPerso : gestion de la page des statistiques personnelles (saisie / modif / consultation par table)