Formulaires Web Storage System : le registre de formulaires

WSS

Chris Tyner et Jeff Wierer
Microsoft Corporation

Résumé  : Le système de stockage WSS (Web Storage System) fournit une nouvelle plate-forme pour la création d'applications collaboratives. Avec WSS, Microsoft introduit le registre de formulaires WSS (Forms Registry). Le registre de formulaires est une des principales technologies permettant le développement d'applications WSS. Il permet à des applications personnalisées de renvoyer, selon un certain rendu, un élément ou un dossier référencé dans une requête HTTP. Ce rendu est possible via des inscriptions. Cet article explique l'utilisation du registre de formulaires WSS.

Sommaire

Introduction
Éléments logiciels requis
Présentation du registre de formulaires WSS
Propriétés des entrées de registre
Contrôle de la langue du registre
Liaison du serveur de registre
Chemin de recherche du registre
Utilisation de l'Explorateur du Web Storage System
Création d'une inscription avec Visual Basic
Exemple de registre - explication
Inscriptions globales
Informations complémentaires
Glossaire

Introduction

Le registre de formulaires est une notion clé introduite par le système de stockage WSS (Web Storage System). Il lie des formulaires Web (Active Server Pages ou HTML) à un type spécifique de données. Ceci permet au système de remplacer le mode de traitement des données en vigueur lorsqu'une requête HTTP est émise. Pour obtenir ce lien, il convient de créer des entrées de registres, également appelées inscriptions. Celles-ci prennent en charge le processus de liaison des pages Web avec les données stockées dans le Web Storage System. Les inscriptions sont des éléments créés dans la base de données, qui contiennent des propriétés spécifiques (par exemple les types de navigateur, des données de localisation ou des informations sur les versions) permettant de déterminer quel HTML renvoyer au client.

L'inscription détermine à quel moment afficher un formulaire donné. Lorsque le Web Storage System reçoit une requête, la base utilise un ensemble d'en-têtes de requêtes HTTP et de propriétés de l'élément demandé pour identifier une entrée de registre. WSS passe ensuite le contrôle au code ou au script exécutable désigné dans l'inscription afin de gérer la requête HTTP.

Outlook Web Access (OWA) tire parti des inscriptions intégrées qui gèrent le rendu des types d'élément par défaut (ou classes de contenu) définis dans le Web Storage System. Un développeur peut ajouter de nouvelles inscriptions qui seront prioritaires sur le comportement par défaut et permettront de gérer des types de données personnalisés. Au lieu d'utiliser le rendu OWA par défaut lors de l'ouverture d'un élément, il est possible de renvoyer une page ASP ou HTML.

Cet article étudie le registre de formulaires de WSS et explique comment créer les entrées de ce registre.

Éléments logiciels requis

Pour utiliser le registre de formulaires, le système WSS doit être installé. WSS est en effet la technologie de base de données sous-jacente dans Exchange 2000 et SharePoint™ Portal Server 2001. Ces deux produits vous permettent d'utiliser le registre de formulaires.

Présentation du registre de formulaires WSS

Qu'est-ce que le registre de formulaires ?

Le registre de formulaires constitue un moyen pour les applications de connecter les données physiques contenues dans la base à une interface visible par l'utilisateur. En clair, il s'agit d'un dossier qui contient des entrées de registre, ou inscriptions. À leur tour, les applications pointent vers ces dossiers (ou registres) pour référencer les inscriptions. Attention de ne pas confondre ce registre de formulaires avec le registre système de Windows, qui est une entité totalement indépendante.

Les entrées du registre de formulaires

Une inscription est tout simplement un élément du système WSS dont la propriété DAV:contentclass est définie à urn:schemas-microsoft-com:office:forms#registration.

Une inscription contient une série de champs de définition de formulaire. Ces champs spécifient des propriétés à mettre en correspondance, par exemple le type de navigateur et la langue, ainsi que des informations de traitement. Ils permettent de préciser quel formulaire il convient de renvoyer et de quelle manière. Les informations lues dans l'en-tête de la requête HTTP sont traitées et comparées avec celles du navigateur stockées dans le fichier Browsecap.ini, afin de déterminer les fonctionnalités du navigateur. Le fichier DLL ISAPI effectue une comparaison "par ajustement" avec le registre de formulaires pour savoir quel formulaire afficher.

Création d'applications

Souvent, un concepteur Web souhaite utiliser une page Web différente pour charger les mêmes éléments d'information. Pour ce faire, l'utilisateur est invité à sélectionner des préférences pour le site (par exemple le type navigateur et/ou la langue). Grâce au registre de formulaires, ces étapes ne sont plus nécessaires et les applications deviennent davantage "centrées sur les données".

La notion de "centrage sur les données" peut se définir comme la capacité pour les serveurs de renvoyer le format correct d'une information en utilisant une seule URL. Par exemple, si un utilisateur navigue sur Internet depuis un autre pays, la page Web renvoyée peut être automatiquement localisée. De même, il est possible de renvoyer une version légère d'une page Web lorsqu'un navigateur tel que Pocket Internet Explorer est utilisé.

Le registre de formulaires simplifie considérablement la mise en place de ce type de logique. Il est possible de créer des inscriptions qui spécifient les critères relatifs aux différentes pages Web à afficher. (Pour plus d'informations, consultez la section Propriétés des entrées de registre plus loin dans cet article.)

Fonctionnement du registre de formulaires

Le plus simple pour comprendre le fonctionnement du registre de formulaires est d'examiner le processus mis en œuvre. La figure 1 montre comment les données sont demandées et renvoyées au navigateur client. Les numéros indiquent les différentes étapes du processus, chacune d'elles étant explicitée ci-après.

Fonctionnement du registre de formulaires WSS

Figure 1. Fonctionnement du registre de formulaires WSS

  1. L'utilisateur demande des informations à WSS en ouvrant un dossier ou un message. Cette requête est traitée par IIS (Internet Information Services) de Microsoft.

  2. IIS appelle une bibliothèque de liens dynamiques (DLL) ISAPI (Internet Server Application Programming Interface). Il s'agit de la même DLL que celle utilisée par WSS pour traiter toutes les requêtes HTTP de type WebDAV (World Wide Web Distributed Authoring and Versioning). La DLL ISAPI cherche dans le registre de formulaires s'il existe une inscription correspondante.

  3. S'il en existe une, l'ordinateur vérifie l'inscription pour savoir comment renvoyer le formulaire. Dans le cas contraire, les informations demandées sont renvoyées dans un formulaire standard.

  4. Si le formulaire utilise la liaison de formulaire côté serveur, le registre passe deux paramètres au générateur de formulaire :
    • DataURL - URL (Uniform Resource Locator) de l'élément demandé.

    • FormURL - Valeur du paramètre formurl.

    Remarque    Si la liaison de formulaire côté client est utilisée, le formulaire est renvoyé à IIS (étape 6).

  5. Un formulaire WSS peut être renvoyé sous trois formes :
    • en tant que page ASP (Active Server Pages) personnalisée,

    • en tant que page HTML avec le générateur de formulaire,

    • en tant que page ASP en utilisant le générateur de formulaire.
  6. À présent, les éléments de données sont liés au formulaire. Ces éléments peuvent être des messages, des contacts, des données de calendrier, des propriétés personnalisées, etc.

  7. Le générateur de formulaire renvoie le formulaire et les données associées à IIS.

  8. IIS renvoie la page Web au navigateur Web qui est à l'origine de la requête. Selon les fonctionnalités du navigateur Web, les données sont liées sur le serveur ou sur le client.

Porpriétés des entrées de registre

Le registre de formulaires WSS est composée d'entrées, ou inscriptions. Ces inscriptions contiennent un ensemble de propriétés relatives à l'élément ou au dossier auquel se rapport la requête, ainsi que des propriétés concernant l'environnement de l'utilisateur. Dans cette section, nous allons étudier les différentes propriétés d'une inscription.

Exemple d'inscription

Le plus simple consiste à prendre un exemple d'inscription et à en décrire les différents composants. Voici un exemple d'inscription défini avec XML. (Pour plus d'informations sur XML, consultez la rubrique XML Developer Center [en anglais]. leave-msdn france)

<?xml version="1.0"?> 
<g:propertyupdate xmlns:g="DAV:" xmlns:form="urn:schemas-microsoft-com:office:forms"> 
<g:set> <g:prop> 
<g:contentclass>
urn:schemas-microsoft-com:office:forms#registration
</g:contentclass>
 <form:request>GET</form:request>
<form:cmd>new</form:cmd>
<form:browser>*</form:browser>
<form:version>*</form:version>
<form:majorver>*</form:majorver>
<form:minorver>*</form:minorver>
<form:platform>*</form:platform>
<form:language>*</form:language>
 <form:contentclass>urn:content-classes:folder</form:contentclass>
<form:contentstate>*</form:contentstate>
<form:messagestate>*</form:messagestate>
 <form:executeurl>form.asp</form:executeurl>
<form:formurl>form.asp</form:formurl>
<form:executeparameters></form:executeparameters>
<form:binding>server</form:binding>
</g:prop>
</g:set>
</g:propertyupdate>

Le tableau suivant décrit chaque champ de l'exemple d'inscription ci-dessus.

Tableau 1. Propriétés des inscriptions

Nom de la propriété Description
Request La propriété request fait référence à la méthode HTTP utilisée dans la requête. Seules GET et POST sont pris en charge. Le registre de formulaires n'est pas utilisable pour remplacer d'autres méthodes arbitraires.
Cmd Cette propriété fait référence à l'option "cmd" utilisée dans la chaîne de requête de l'URL. Par exemple : http://server/public/folder/item.eml?Cmd=open.
Contentclass Cette propriété est obligatoire. Elle fait référence à la classe de contenu de l'élément sur lequel porte la requête. La correspondance doit être exacte pour qu'il y ait correspondance avec la requête.
Navigateur Navigateur utilisé par le client. Par exemple, Internet Explorer ou Netscape. Cette information est extraite du fichier browscap.ini avec l'en-tête User-Agent.
Version Version du navigateur utilisé par le client, par exemple Internet Explorer 5.01. Version = "5.01".
MajorVer Valeur principale du numéro de version d'un navigateur Web. Par exemple : Netscape 4.76, Majorver = 4
MinorVer Valeur secondaire du numéro de version d'un navigateur Web. Par exemple : Netscape 4.76, Minorver = 76
Platform Système d'exploitation utilisé par le client. Cette information est extraite du fichier browscap.ini avec l'en-tête User-Agent. Par exemple : WINNT
Language Cette propriété désigne la langue du navigateur client qui figure dans l'en-tête Accept-Language envoyé par le navigateur. Un algorithme de correspondance au plus près est utilisé pour rechercher l'inscription adéquate en fonction de la langue exacte et de la préférence définie par l'utilisateur. Il n'est possible de spécifier qu'une langue par inscription.
ContentState Cette propriété est mise en correspondance avec la propriété d'état du contenu (content state) de l'élément. Comme il s'agit d'une chaîne, il est facile de l'utiliser dans une application de type workflow.
MessageState Cette propriété fait référence à l'état du message de l'élément. En général, l'état du contenu est adopté de préférence avec les applications.
ExecuteUrl Pour la liaison serveur, cette propriété doit être une URL référençant un fichier ISAPI ou un fichier script mappé (script ASP par exemple) qui sera exécuté pour traiter la requête.
FormUrl Cette propriété est obligatoire. Il doit s'agir d'une URL vers un formulaire HTML ou ASP dans une racine virtuelle Exchange.
ExecuteParameters Les paramètres d'exécution sont ajoutés à la chaîne de requête utilisée lors de la redirection du paramètre ExecuteUrl. Il est ainsi possible de transmettre des options complémentaires pour personnaliser le mode de traitement de la requête.
Binding Cette propriété peut prendre la valeur "server", "client" "Webclient". En cas de liaison serveur, ExecuteUrl est exécuté. En cas de liaison cliente, le paramètre FormUrl est directement envoyé au client. Pour une liaison Webclient, OWA gère le rendu de l'élément.

Priorités des propriétés

Lorsqu'une recherche est lancée dans un dossier pour détecter l'inscription qui correspond le mieux, toutes les correspondances sont comparées entre elles. L'ordre de priorité le plus élevé est fonction des propriétés qui sont spécifiées dans l'inscription. L'ordre d'importance est celui-ci :

  1. Request

  2. Cmd

  3. MessageState

  4. ContentState

  5. Browser

  6. Version

  7. Platform

  8. MajorVer

  9. MinorVer

  10. Language

Pour les propriétés majorver et minorver, une expression est utilisée avec l'ordre de priorité, comme indiqué ci-après : =, <=, >=, <, > 

Le caractère générique (*) est utilisable dans les inscriptions si aucune correspondance exacte n'est détectée. Le registre ne gère pas les caractères génériques après une valeur telle que "foo*".

La priorité la plus basse est accordée à la valeur "nul". Si une propriété n'est pas utilisée, il est conseillé de la retirer de l'inscription au lieu d'utiliser des caractères génériques.

Contrôle de la langue du registre

Lorsqu'un navigateur Web exécute une requête, il envoie un en-tête Accept-Language qui contient une ou plusieurs langues que l'utilisateur préfère. Examinons la requête suivante :

GET / HTTP/1.1

Host: server
Accept-Language: en-us,ja;q=0.8,fr;q=0.5,de;q=0.3 

Dans cet exemple, "en-us" est le premier choix, suivi de "ja", "fr" et "de". Si une inscription était définie pour language=en, elle correspondrait à la requête, mais une inscription qui spécifierait language=en-us aurait la priorité.

Liaison du serveur de registre

Lorsqu'une liaison du serveur est utilisée, le registre transfère le traitement de la requête vers une extension ISAPI ou un fichier avec un mappage de script associé, tel que asp.dll. Puis il transmet une nouvelle chaîne de requête au gestionnaire avec certains paramètres. Ces paramètres sont décrits dans le tableau suivant.

Tableau 2. Paramètre de liaison du serveur

Paramètres Description
FormUrl URL codée UTF-8 renvoyant au formulaire dans la base Exchange. Ce paramètre est spécifié dans l'inscription.
DataUrl URL codée UTF-8 renvoyant à l'élément de données demandé dans la base Exchange.
RegUrl URL codée UTF-8 renvoyant à l'inscription qui, dans la base Exchange, correspond à la requête.
ExecuteParameters Contenu de la propriété ExecuteParameters de l'inscription.
WebFormsBrowserFlags Contenu de la propriété WebFormsBrowserFlags dans le fichier browscap.ini qui correspond à la chaîne User-Agent du navigateur pour la requête.

La chaîne de requête initialement envoyée au serveur par l'agent utilisateur est toujours disponible. Avec ces informations, un script ASP ou tout autre code peut accéder à l'élément de données et effectuer le traitement requis pour le rendu.

Chemin de recherche du registre

Lorsqu'une requête HTTP porte sur une racine virtuelle pour WSS, IIS la passe d'abord à une extension ISAPI en vue de son traitement. Dans Exchange 2000, il s'agit de davex.dll. Avec SharePoint Portal Server 2001, il s'agit de msdmisap.dll. Cette DLL est en réalité un wrapper pour le fichier davex.dll qui fournit une fonctionnalité supplémentaire. Selon l'en-tête de conversion, la requête est gérée par DAV ou par OWA. Pour toute requête GET ou POST gérée par OWA, une recherche dans le registre de formulaire est déclenchée afin de déterminer s'il convient d'utiliser un formulaire personnalisé pour traiter la requête. Si aucune inscription correspondante n'est trouvée, OWA traite la requête en renvoyant l'élément ou en générant une page HTML.

L'algorithme employé pour la recherche est le même que la recherche d'un schéma. Lorsqu'une requête est émise sur un élément de la base, la première phase consiste à rechercher le dossier de schéma à explorer. L'élément référencé est soumis à une vérification qui permet de savoir si la propriété urn:schemas-microsoft-com:exch-data:schema-collection-ref (SCR) est définie pour un dossier spécifique. Si c'est le cas, l'inscription est recherchée dans le dossier référencé. Le plus souvent, la propriété SCR n'est pas définie pour désigner des éléments particuliers mais plutôt pour un dossier parent. Si SCR n'est pas définie pour un élément particulier, le dossier parent est soumis à une recherche, et c'est la première étape exécutée dans le cas d'une requête portant sur un dossier. Si SCR est introuvable dans le dossier parent, les inscriptions sont recherchées dans le dossier de schémas global (voir la section Inscriptions globales plus loin dans cet article). Si aucune inscription n'est trouvée, le rendu OWA par défaut est adopté.  

Lorsqu'une SCR est trouvée, une recherche est lancée dans le dossier SCR pour toutes les inscriptions. Si une correspondance est détectée, elle est utilisée pour renvoyer l'élément demandé. Dans le cas contraire, une recherche de type largeur en premier est effectuée sur les dossiers spécifiés par la propriété à valeurs multiples urn:schemas-microsoft-com:exch-data:baseschema. Le premier dossier contenant une correspondance est utilisé. Pour chaque dossier, les inscriptions du registre de formulaires font l'objet d'un classement afin de déterminer quelle est la meilleure correspondance.

Utilisation de l'Explorateur du Web Storage System

Le SDK WSS offre un certain nombre d'outils utilisables pour développer des applications sur le système WSS. Un de ces outils est l'Explorateur du Web Storage System de Microsoft (Explorateur WSS). L'Explorateur WSS peut explorer des dossiers, des éléments et des métadonnées. Vous pouvez créer des définitions de classes de contenus et de propriétés et configurer l'étendue des schémas. L'Explorateur propose aussi des assistants pour créer des inscriptions de formulaire et des inscriptions d'événement. Dans cette section, nous allons apprendre à utiliser l'Explorateur WSS pour accéder au registre de formulaires et créer une inscription.

Pour plus d'informations sur l'installation et l'utilisation des outils du SDK WSS, consultez la section Web Storage System Site en anglais sur MSDN Online leave-msdn france.

Pour exécuter l'Explorateur de Web Storage System

  1. Cliquez sur le bouton Démarrer, pointez sur Programmes, Web Storage System SDK et Web Storage System Tools.

  2. Cliquez sur Web Storage System Explorer.

  3. Dans la boîte de dialogue Authorization, entrez votre nom d'utilisateur, votre mot de passe et l'URL racine vers la base de boîtes aux lettres, les dossiers publics ou l'arborescence de dossiers publics.

  4. L'Explorateur WSS démarre (voir figure 2).

    Explorateur du Web Storage System

    Figure 2. Explorateur du Web Storage System

Pour créer une inscription de formulaire
  1. Accédez au dossier dans lequel vous souhaitez créer une inscription de formulaire.

  2. Dans le menu File, cliquez sur Add Form Registration. L'assistance du registre de formulaires démarre (voir figure 3).

    Assistant du registre de formulaires de l'Explorateur Web Storage System

    Figure 3. Assistant du registre de formulaires de l'Explorateur Web Storage System

  3. Entrez un nom pour l'inscription et cliquez sur Next.

  4. Entrez l'URL (Uniform Resource Locator) du formulaire et cliquez sur Next.

  5. Dans la liste déroulante, entrez ou sélectionnez une action exécutée par le formulaire puis cliquez sur Next.

  6. Dans la liste déroulante, sélectionnez les navigateurs pris en charge par le formulaire puis cliquez sur Next. Sélectionnez "any" pour choisir tous les navigateurs.

  7. Sélectionnez le type de liaison de données : Client, Serveur ou WebClient, puis cliquez sur Next.

  8. Sélectionnez la méthode de requête : Any, Post ou Get, puis cliquez sur Next.

  9. Entrez ou choisissez une classe de contenus et cliquez sur Next.

  10. Cliquez sur Finish.

L'assistant crée l'inscription de formulaire en tant qu'élément caché dans le dossier actif.

Affichage et modification des inscriptions de formulaire

Vous pouvez utiliser l'Explorateur WSS pour afficher et modifier les inscriptions existantes.

Pour effectuer des modifications avec l'assistant Formulaires :
  1. Accédez au dossier contenant les inscriptions de formulaire.

  2. Dans la zone Detail View, développez Items Collection.

  3. Sélectionnez une inscription dans la liste des éléments développés.

  4. Avec le bouton droit de la souris, cliquez sur l'inscription et choisissez Modify Form Registration. Cette option démarre l'assistant d'inscription de formulaire qui vous permet de modifier l'élément.

Pour effectuer une modification avec la vue Property :

  1. Accédez au dossier contenant les inscriptions de formulaire.

  2. Dans la zone Detail View, développez Items Collection.

  3. Sélectionnez une inscription dans la liste des éléments développés.

  4. Dans la fenêtre des propriétés en bas à gauche, sélectionnez les propriétés à modifier, en double-cliquant sur les éléments.

Les propriétés des inscriptions de formulaire sont nommées selon le format urn:schemas-microsoft-com:office:forms# suivi du nom de la propriété.

Exemple : urn:schemas-microsoft-com:office:forms#cmd).

Pour consulter la liste de toutes les propriétés, consultez le tableau 1.

Par ailleurs, vous pouvez cliquer avec le bouton droit de la souris sur la fenêtre des propriétés et ajouter ou supprimer des propriétés relatives à l'élément.

Outils futurs

Résolument tourné vers l'avenir, Visual Studio .NET propose un "Server Explorer". Server Explorer vous permet de créer et de gérer des éléments d'application au sein de WSS et de les intégrer dans vos projets Visual Studio .NET.

Server Explorer offre les fonctionnalités suivantes :

  • création de dossiers d'application et définition des propriétés adéquates ;

  • création et gestion de schéma personnalisé pour votre application Web Storage System ;

  • création d'inscriptions de formulaire ;

  • création d'inscriptions d'événement ;

  • incorporation de dossiers Web Storage System en tant que sources de données dans vos projets Web Application ou Web Service de Visual Studio .NET.

Pour plus d'informations sur Visual Studio .NET et Server Explorer, consultez les rubriques .NET Developer Center leave-msdn france Site en anglais et Exchange Developer Center Site en anglais leave-msdn france.

Création d'une inscription avec Visual Basic

Il est possible d'écrire avec Visual Basic des inscriptions de formulaire sous forme de script, de composant ou d'application qui s'exécute localement sur le serveur Exchange ou SharePoint Portal. L'exemple de code suivant illustre la création d'une inscription de formulaire à l'aide d'un script Visual Basic.

'Where scrFolder points to a public folder
Set oCon = CreateObject("ADODB.connection")
oCon.connectionString = scrFolder + "/resources"
oCon.Provider = "ExOledb.Datasource"
oCon.Open

Set oRec = CreateObject("ADODB.Record")
oRec.Open "defaultASPForm.frg", oCon, 3, 0
oRec.Fields("DAV:contentclass") = _
"urn:schemas-microsoft-com:office:forms#registration"
oRec.Fields("urn:schemas-Microsoft-com:office:forms#binding") = "server"
oRec.Fields("urn:schemas-microsoft-com:office:forms#cmd") = "*"
oRec.Fields("urn:schemas-microsoft-com:office:forms#contentclass") = _
"Report"
oRec.Fields("urn:schemas-microsoft-com:office:forms#contentstate") = "*"
oRec.Fields("urn:schemas-microsoft-com:office:forms#executeurl") = _
"Report.asp"
oRec.Fields("urn:schemas-microsoft-com:office:forms#formurl") = _
"Report.asp"
oRec.Fields("urn:schemas-microsoft-com:office:forms#request") = "*"
oRec.Fields.Update
oRec.Close

Exemple de registre - explication

Cette section explique comment créer une inscription en utilisant l'Explorateur WSS (consultez la section précédente, Utilisation de l'Explorateur du Web Storage System). L'inscription est liée au client et remplace ce qui est renvoyé en cas de requête portant sur un fichier texte.

Pour visualiser un élément sans utiliser d'inscription de formulaire, procédez comme suit dans Exchange Server :

  1. Ouvrez l'Explorateur WSS en cliquant sur Démarrer->Programmes->Web Storage System SDK->Web Storage System Tools->Web Storage System Explorer. Vous êtes invité à entrer un nom d'utilisateur et un mot de passe. Utilisez les références d'un compte qui possède les autorisations adéquates et spécifiez une URL du type http://<votreserveur>/public.

  2. Avec l'Explorateur WSS, sélectionnez le nœud racine (http://<votreserveur>/public) et cliquez avec le bouton droit de la souris sur Create Folder. Choisissez "Sample" comme nom du nouveau dossier.

  3. Avec l'Explorateur Windows, accédez au lecteur M: et sélectionnez le dossier Sample (exemple : m:\MICROSOFT.COM\PUBLIC FOLDERS\Sample).

  4. Dans le dossier, créez un fichier texte "data.txt" et entrez les données ci-dessous dans le fichier :

    "--- DATA Vous avez l'élément de données.  Correspondance dans le registre introuvable."

  5. Créez un fichier supplémentaire "form.htm" et entrez-y les données suivantes :

    "--- Correspondance dans le registre correcte.  La requête a été mise en correspondance avec une inscription."

  6. À l'aide d'un navigateur Web, accédez au fichier http://<votreserveur>/public/sample/data.txt. Vous remarquerez que le corps du fichier texte est renvoyé au navigateur.

Exécutez les opérations suivantes pour créer une inscription de formulaire afin de visualiser le fichier texte.

  1. À l'aide de l'Explorateur WSS, sélectionnez le dossier Sample afin qu'il devienne l'élément actif.

  2. Dans la zone Detail View, développez le dossier de schéma et sélectionnez schema-collection-ref.

  3. Avec le bouton droit de la souris, sélectionnez Edit Schema-Collection-Reg. La fenêtre de sélection d'URL s'affiche.

  4. Accédez au dossier Sample puis cliquez sur OK. Le dossier Sample est ainsi désigné comme registre de formulaires pour l'application.

  5. Dans la zone Detail View, sélectionnez le dossier Items qui dépend de Sample. Ce dossier va contenir les éléments stockés dans le dossier. (Pour actualiser la liste, cliquez avec le bouton droit de la souris sur Refresh Items.)

  6. Avec le bouton droit de la souris, cliquez sur le dossier Items et sélectionnez Form Registration wizard. L'assistant démarre et vous guide dans le processus de création d'une inscription de formulaire.

    Pour répondre aux questions de l'assistant, utilisez les informations suivantes.

Propriété Valeur
Nom Registration.freg
URL formulaire form.htm
Action *
Navigateur Any
Type de liaison Client
Méthode de requête GET
Classe de contenus urn:content-classes:document

  1. Accédez au fichier http://<votreserveur>/public/sample/data.txt. Vous constatez que le texte renvoyé est celui de form.htm et non celui de data.txt, ce qui signifie que le formulaire personnalisé a été utilisé.

    Remarque   Du fait de la mise en cache appliqué dans IIS, l'inscription peut ne pas être immédiatement effective. Le redémarrage des services Web (IIS) efface le contenu du cache.

Pour corser l'affaire, nous allons ajouter un formulaire et une inscription afin de déterminer le navigateur Web à utiliser :

  1. À l'aide de l'Explorateur Windows, créez un fichier supplémentaire "form2.htm" dans le dossier Sample et entrez-y les données suivantes :

    "--- Correspondance dans le registre correcte.  Ceci concerne les navigateurs Netscape."

  2. Dans l'Explorateur WSS, cliquez avec le bouton droit de la souris sur le dossier Items et sélectionnez Form Registration Wizard.

    Pour répondre aux questions de l'assistant, utilisez les informations suivantes.

Propriété Valeur
Nom Netscape.freg
URL formulaire Form2.htm
Action *
Navigateur Netscape Navigator
Type de liaison Client
Méthode de requête GET
Classe de contenus urn:content-classes:document

  1. Dans le dossier Items, sélectionnez l'inscription Netscape qui vient d'être créée.

    Remarque :  Il est peut-être nécessaire d'actualiser l'affichage pour voir l'élément.

  2. Dans la fenêtre des propriétés située en bas à gauche, parcourez les propriétés de l'inscription.

  3. Repérez la propriété "urn:schemas-microsoft-com:office:forms#browser" et vérifiez que la valeur = "Netscape" (pas Netscape Navigator). Pour modifier la propriété, double-cliquez sur l'élément afin d'ouvrir la fenêtre de modification.

  4. Accédez au fichier http://<votreserveur>/public/sample/data.txt à l'aide d'Internet Explorer et de Netscape. Vous remarquez que des formulaires différents sont chargés en fonction du navigateur employé.

Cet exemple décrit les principes élémentaires d'utilisation du registre de formulaires pour renvoyer une interface personnalisée avec les données stockées dans le système WSS. Examinez les propriétés des inscriptions de formulaire qui ont été créés. formurl pointe vers l'URL du formulaire HTML et executeurl vers le générateur de formulaire. Le générateur de formulaire est fourni avec Exchange 2000 Service Pack 1 ou SharePoint Portal Server. Pour utiliser un formulaire ASP, modifiez les propriétés formurl et executeurl afin qu'elles pointent vers la page ASP. En utilisant les autres propriétés disponibles (voir le Tableau 1.), nous pouvez créer d'autres inscriptions afin de charger des formulaires différents, adaptés à de nombreuses situations.

Inscriptions globales

Dans certains cas, vous devez créer une inscription qui s'applique à tous les éléments de la base Exchange. Vous en avez la possibilité au niveau TLH en utilisant le dossier de schéma global. Le schéma global est stocké dans le dossier /non_ipm_subtree/schema/ pour l'arborescence publique et une application TLH.

Pour des applications résidant dans des dossiers privés, le dossier de schéma global s'applique à l'ensemble des boîtes aux lettres. Le chemin diffère selon les serveurs, mais il ressemble à celui-ci : /exchange/SystemMailbox{GUID}/non_ipm_subtree/schema/. 

L'emplacement du schéma global est différent pour Technology Preview For Exchange 2000, Exchange 2000 Service Pack 1 et SharePoint Portal Server 2001. Les inscriptions globales doivent être créées dans le dossier /virtual root/##schemauri##/DEFAULT. Le jeton ##schemauri## est utilisable dans n'importe quel dossier et sa résolution désigne toujours le même emplacement. Le jeton ##SchemaUri## est mappé avec le dossier /non_ipm_subtree/schema-root/.

Remarque   Dans les navigateurs Web et de nombreux outils, ##SchemaUri## doit être entré sous la forme %23%23SchemaUri%23%23.

Informations complémentaires

Pour plus d'informations sur le développement d'applications sur le Web Storage System, consultez le site WSS Developer Center Site en anglais leave-msdn france.

Vous trouverez des informations complémentaires sur le développement Exchange 200 à l'adresse Exchange Server Developer Center Site en anglais leave-msdn france .

Pour plus d'informations sur le serveur "Tahoe", consultez le site Microsoft Portal Server 2001.

Pour plus d'informations sur Visual Studio .NET, consultez le Centre d'informations Microsoft .NET sur MSDN pour les développeurs.

Glossaire

Le glossaire ci-après récapitule les termes et expressions utilisés dans cet article.

Application

Dossier du système Web Storage System de Microsoft qui combine des documents créés par des utilisateurs avec des pages HTML et des inscriptions créées par un concepteur d'application.

DAV

Distributed Authoring and Versioning : protocole servant à accéder à des éléments dans un système Web Storage System de Microsoft. Ce protocole permet d'accéder non seulement au contenu d'un élément, mais aussi à un ensemble extensible de propriétés associées. On parle également de protocole HTTP/WebDAV.

Définition de propriété

Tous les attributs qui décrivent une propriété dans l'absolu : son nom, son type de données, sa capacité à gérer l'écriture ou à accepter plusieurs valeurs, etc.

DLL

Bibliothèque de liens dynamique (Dynamic-link library).

Dossier

Conteneur dans lequel résident des éléments du système Web Storage System.

Entrée de registre

Voir Entrée du registre de formulaires.

Entrée du registre de formulaires

Une entrée du registre de formulaires, également appelée inscription de formulaire, est un élément de WSS qui comprend une série de champs de définition de formulaire. Ces champs spécifient des propriétés à mettre en correspondance, par exemple le type de navigateur et la langue, ainsi que des informations de traitement. Ils permettent de préciser quel formulaire il convient de renvoyer et de quelle manière. Les informations lues dans l'en-tête de la requête HTTP sont traitées et comparées avec celles du navigateur stockées dans le fichier Browsecap.ini, afin de déterminer les fonctionnalités du navigateur. Le fichier ISAPI.dll effectue une comparaison "par ajustement" avec le registre de formulaires pour savoir quel formulaire afficher.

Formulaire

Page HTML qui peut afficher ou mettre à jour les propriétés d'un élément dans le système Web Storage System. Certains formulaires peuvent à la fois afficher et mettre à jour des éléments.

IIS

Internet Information Server. Services Web d'entreprise, de Microsoft, qui sont fournis avec Windows 2000 Server.

ISAPI

Internet Server Application Programming Interface.

Liaison de données

Processus qui consiste à connecter des données dans le système Web Storage System à du HTML via une inscription. La liaison peut avoir lieu au niveau du client (s'il s'agit d'un navigateur Internet Explorer version 5 ou supérieure), ou au niveau du serveur. La liaison au niveau serveur peut être gérée par le générateur de formulaire de WSS ou par un script ASP. De même, on dit d'une balise HTML utilisée pour afficher une propriété spécifique de WSS qu'elle est liée à cette propriété.

OWA

Voir ci-après, Outlook Web Access.

Outlook Web Access

Environnement d'interface utilisateur (qui ressemble à l'application Outlook Office) pour le Web Storage System. Cet environnement offre des formulaires et des vues par défaut pour de nombreux types d'éléments et de dossiers, ainsi que des options de navigation dans le Web Storage System.

Propriété

La plus petite unité de stockage dans le Web Storage System. Une propriété possède un nom, un type de données et d'autres attributs. Dans le cadre d'un formulaire, les propriétés sont souvent appelées "champs". Dans le cadre d'une vue, on parle de "colonnes".

Registre de formulaires

Liste complète des inscriptions, ou éléments du Web Storage System qui connectent des données à des pages HTML.

SDK de la plate-forme WSS

Fournit des informations techniques et des exemples de code leave-msdn france Site en anglais pour la création d'applications sur le Web Storage System.

Vue

Rendu du contenu d'un dossier dans le Web Storage System, le plus souvent sous la forme d'un tableau HTML dans lequel chaque ligne représente un élément et chaque colonne une propriété de cet élément.

WebDAV

Voir DAV.

Web Storage System

Nouvelles technologie de base de données qui combine le stockage de documents, l'affichage et le rendu HTML, ainsi que des fonctions collaboratives dans une plate-forme permettant la collaboration sur le Web.

WSS

Voir Web Storage System.

XML

Extensible Markup Language : langage de marquage qui offre un format permettant de décrire des données structurées. Il autorise une plus grande précision au niveau des déclarations de contenu et des résultats de recherche dans un environnement multi-plate-forme.



Dernière mise à jour le mercredi 23 mai 2001



Page view tracker