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
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.
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.
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.
Figure 1. Fonctionnement du
registre de formulaires WSS
- 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.
- 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.
- 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.
-
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).
-
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.
- À 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.
- Le générateur de formulaire renvoie le
formulaire et les données associées à
IIS.
- 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.
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].
)
<?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 :
- Request
- Cmd
- MessageState
- ContentState
- Browser
- Version
- Platform
- MajorVer
- MinorVer
- 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.
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é.
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.
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.
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
sur MSDN Online
.
Pour exécuter l'Explorateur de Web Storage System
- Cliquez sur le bouton Démarrer, pointez sur
Programmes, Web Storage System SDK et Web Storage System
Tools.
- Cliquez sur Web Storage System Explorer.
- 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.
-
L'Explorateur WSS démarre (voir figure 2).
Figure 2. Explorateur du Web
Storage System
Pour créer une inscription de formulaire
- Accédez au dossier dans lequel vous souhaitez
créer une inscription de formulaire.
-
Dans le menu File, cliquez sur Add Form Registration.
L'assistance du registre de formulaires démarre (voir
figure 3).
Figure 3. Assistant du
registre de formulaires de l'Explorateur Web Storage
System
- Entrez un nom pour l'inscription et cliquez sur
Next.
- Entrez l'URL (Uniform Resource Locator) du formulaire et
cliquez sur Next.
- Dans la liste déroulante, entrez ou
sélectionnez une action exécutée par le
formulaire puis cliquez sur Next.
- 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.
- Sélectionnez le type de liaison de
données : Client, Serveur ou WebClient, puis
cliquez sur Next.
- Sélectionnez la méthode de requête :
Any, Post ou Get, puis cliquez sur Next.
- Entrez ou choisissez une classe de contenus et cliquez
sur Next.
- 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 :
- Accédez au dossier contenant les inscriptions de
formulaire.
- Dans la zone Detail View, développez Items
Collection.
- Sélectionnez une inscription dans la liste des
éléments développés.
- 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 :
- Accédez au dossier contenant les inscriptions de
formulaire.
- Dans la zone Detail View, développez Items
Collection.
- Sélectionnez une inscription dans la liste des
éléments développés.
- 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
et
Exchange Developer Center
.
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
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 :
- 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.
- 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.
- Avec l'Explorateur Windows, accédez au lecteur M: et
sélectionnez le dossier Sample (exemple :
m:\MICROSOFT.COM\PUBLIC FOLDERS\Sample).
-
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."
-
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."
- À 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.
- À l'aide de l'Explorateur WSS, sélectionnez le
dossier Sample afin qu'il devienne l'élément
actif.
- Dans la zone Detail View, développez le dossier de
schéma et sélectionnez
schema-collection-ref.
- Avec le bouton droit de la souris, sélectionnez
Edit Schema-Collection-Reg. La fenêtre de
sélection d'URL s'affiche.
- Accédez au dossier Sample puis cliquez sur OK. Le
dossier Sample est ainsi désigné comme registre de
formulaires pour l'application.
- 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.)
-
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 |
-
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 :
-
À 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."
-
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 |
-
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.
- Dans la fenêtre des propriétés située
en bas à gauche, parcourez les propriétés de
l'inscription.
- 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.
- 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.
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.
Pour plus d'informations sur le développement
d'applications sur le Web Storage System, consultez le site
WSS Developer Center
.
Vous trouverez des informations complémentaires sur le
développement Exchange 200 à l'adresse
Exchange Server Developer Center
.
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.
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
.gif)
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