FAQ XMLRADConsultez toutes les FAQ
Nombre d'auteurs : 4, nombre de questions : 55, dernière mise à jour : 26 octobre 2006
XMLRAD est un environnement de développement Web basé sur la technologie XML/XSL, c'est à dire que les pages HTML sont générés par transformation d'un document XML par un XSL. le document XML est généré en général par extraction de données d'une base de données SQL.
L'environnement permet de créer des écrans à partir de description d'extraction de la base de données. très peu de code est à faire pour obtenir cela. Les applications que XMLRAD génère sont dites dirigées par les données.
XMLRAD s'associe aux environnements de développement tel que Delphi, Kylix, Borland C++Builder, Visual Studio .NET, JBuilder, Eclipse et permet de générer des applications pour les plateformes Windows (Win32), .NET et Linux avec les Serveurs Web IIS ou Apache.
Vous trouverez la documentation sur le site officiel de XMLRAD dans les appendix du Training Manual:
Training Manual
Guide d'installation
Configuration de l'accès aux données
Debuggage des applications
Dépoiement des applications
Mots et actions réservés du framework
Documentation du framework
Guide de référence du programmeur
Guide de référence des instructions du XMLGram
Description des paramètres InitParams et GlobalParams
Descirption des paramètres XMLC_Params
Guide de référence de xslc.xsl
Guide de référence du profile
Guide de référence de xslc.js
Guide de référence du Partial Update
Cours et tutoriels de Developpez.com
Le principal problème pour migrer les applications est de gérer les nouveaux pools.
- Le fichier AdmXMLModules.xml doit être maintenant intégré dans le fichier XMLModules.xml
<
XMLModules
>
<
XMLModule
>
<
Name
>
dmdXMLAdm<
/
Name
>
<
XMLPath
>
XML\Adm<
/
XMLPath
>
<
Import
>
<
HRef
>
dmdXMLAdm.XMLServices.xml<
/
HRef
>
<
NodePath
>
/XMLServices<
/
NodePath
>
<
/
Import
>
<
/
XMLModule
>
...
<
/
XMLModules
>
- Enregistrez votre projet dans XMLRAD 2005.
- Dans XMLRAD, assignez tous les XMLModules dans au moins le pool User. Sur l'écran de configuration du XMLModule, cliquez sur le bouton Options, sélectionnez le pool User et cliquez sur plus.
- le module dmdXMLAdm doit être assigné au pool XMLCAdm
- Dans l'écran de configuraition du datasource, cliquez sur le bouton Options, sélectionnez le pool User et cliquez sur plus.
- Copiez du Repository \e-delos\XMLRAD\Bin\Repository\XML\* dans le répertoire \Bin\XML de votre application.
- Copiez du Repository \e-delos\XMLRAD\Bin\Repository\XML\Adm\* dans le répertoire \Bin\XML\Adm de votre application.
- Copiez du Repository \e-delos\XMLRAD\Bin\Repository\XML\XMLC\* dans le répertoire \Bin\XML\XMLC de votre application.
- Si vous utilisez Delphi pour coder les gestionnaires d'événements, recompilez votre projet.
- Si vous utilisez le scripting, remplacez votre dll de projet avec celle qui se trouve dans \e-delos\XMLRAD\Bin\Repository\Common\Bin\IIS\XMLServer.dll. Renommez la en votre nom de projet.
- Config.xml
- dmdXMLAdm.XMLServices.xml
- EventLog.xml
- Hooks.xml
- Pools.xml
- Profiles.xml
- XDBServerWM.XMLServices.xml
- XMLMailWM.XMLServices.xml
- XMLMessengerWM.XMLServices.xml
- XMLProfileWM.XMLServices.xml
- XMLSecurityWM.XMLServices.xml
- XMLUtilsWM.XMLServices.xml
- Le fichier AdmXMLModules.xml peut être maitenant supprimé.
- Copiez du Repository \e-delos\XMLRAD\Bin\Repository\Common\Config\ les fichiers suivants dans le répertoire Bin de l'application à migrer:
NB: Si vous avez une erreur du style "Component X not found", vérifiez si votre XMLModule contenant le XMLService X est assigné à un pool (comme User).
A partir de la version 2005 R2, XMLRAD intègre un module d'importation automatique des applications faites avec des versions précédentes.
Pour ce faire, faites register project dans XMLRAD et indiquez le chemin d'accès au fichier de configuration principal (Config.xml ou <nom du projet>.xml). L'écran suivant essaye de détecter la version de XMLRAD avec laquelle l'application a été générée. Vous pouvez modifier si ce n'est pas correct. Puis, vous avez un ensemble d'option de migration:
- Upgrade Binary: Met à jour la DLL de l'application ou du framework. Cochez cette case si vous êtes en Scripting, en .NET ou en Java.
- Upgrade XML configuration files: Met à jour les fichier de configuration XML (InitParams, XMLModules.xml, ...). Il est conseillé de laisser cette case cochée.
- Upgrade Adm Directory: Met à jour le répertoire Adm avec toutes les actions d'administration. Il est conseillé de laisser cette case cochée sauf si vous avez modifié un écran comme XMLC_FormLogin.
- Upgrade xslc.xsl: Met à jour le fichier xslc.xsl en l'écrasant avec la nouvelle version. Si vous avez modifié xslc.xsl, ne cochez pas cette case et faites la mise à jour à la main.
- Upgrade XMLC Directory: Met à jour le répertoire XMLC avec toutes les actions du framework (XMLC_*). Il est conseillé de laisser cette case cochée.
- Create a quick backup before Upgrade: Crée une sauvegarde de votre projet avant d'effectuer la mise à jour. Il est conseillé de laisser cette case cochée.
Pour .NET, Java et Delphi, il est nécessaire de recompiler votre application pour prendre en compte les modifications du framework.
Pour Java, le répertoire WEB-INF ayant bougé du répertoire du projet vers Bin, il vous faut retirer le répertoire Bin dans l'appel à System.load: voilà a quoi doit ressembler la méthode init:
if
(!
loaded)
{
ServletContext context =
config.getServletContext
();
String path =
context.getRealPath
("
/
"
);
if
(System.getProperty
("
os.name
"
).startsWith
("
Windows
"
))
System.load
(path+
"
/XMLCLX.dll
"
);
else
System.load
(path+
"
/XMLCLX.so
"
);
loaded =
true
;
}
Le Context est un objet du framework XMLCLX qui peut être assimilé a une sorte de pot de données. Nous y versons, ou bien le framework le fait pour nous, des données provenant de sources diverses: Paramètres HTTP, cookies, enregistrements de base de données, variables, constantes, etc.
Techniquement c'est une liste d'association de noms et de valeurs. Pour ceux qui ont déjà travaillé avec les conteneurs Java ou C++, le Context est une Map.
Le Context est initialisé par le framework au début de la requête HTTP avec les paramètres HTTP, les cookies et quelques valeurs du framework.
Les enregistrements de base de données y passent aussi lors des extractions et les paramètres de requêtes sont pris de cet objet.
On peut accéder au Context et aux données qui s'y trouvent à partir des gestionnaires d'événements. Pour récupérer une valeur on utilise la méthode GetValue:
Value := Context.GetValue('
Prenom
'
);
Value =
Context.
GetValue
("
Prenom
"
);
Value =
Context.
GetValue
("
Prenom
"
);
Value =
context.getValue
("
Prenom
"
);
pour y stocker une valeur on utilisera la méthode SetValue:
Context.SetValue('
Prenom
'
, '
Jean-Philippe
'
);
Context.
SetValue
("
Prenom
"
,
"
Jean-Philippe
"
);
Context.
SetValue
("
Prenom
"
,
"
Jean-Philippe
"
);
context.setValue
("
Prenom
"
, "
Jean-Philippe
"
);
pour plus d'info sur l'utilisation du Context: Le Context ou comment transmettre des valeurs d'une page à l'autre
Lien : Le Context ou comment transmettre des valeurs d'une page à l'autre
L'OutputDoc est un document XML qui est généré par tout XMLService. Ce document XML contient les donnes propres aux XMLServices et le résultat de l'execution des instructions du XMLGram. Ce document est utilisé pour générer la page HTML à l'aide du fichier XSL associé au XMLService.
Voici un exemple d'OutputDoc:
<
document
>
<
XMLC_Params
>
<
XMLC_Date
>
2004/12/22 22:40:07<
/
XMLC_Date
>
<
XMLC_RequestNo
>
13<
/
XMLC_RequestNo
>
<
XMLC_XMLModule
>
PubsWM<
/
XMLC_XMLModule
>
<
XMLC_Action
>
Listpublishers<
/
XMLC_Action
>
<
XMLC_NavigatorName
>
Mozilla<
/
XMLC_NavigatorName
>
<
XMLC_NavigatorVersion
>
5<
/
XMLC_NavigatorVersion
>
<
XMLC_InstanceName
>
Pubs<
/
XMLC_InstanceName
>
<
XMLC_HTTPS
>
0<
/
XMLC_HTTPS
>
<
XMLC_Host
>
amaryl<
/
XMLC_Host
>
<
XMLC_ScriptName
>
/DemosBin/Pubs/Bin/Pubs.dll<
/
XMLC_ScriptName
>
<
XMLC_InputParams
/
>
<
XMLC_NavigationParams
/
>
<
XMLC_AbsolutePortal
>
0<
/
XMLC_AbsolutePortal
>
<
XMLC_Portal
>
SharedPortal<
/
XMLC_Portal
>
<
XMLC_Skin
>
graylight<
/
XMLC_Skin
>
<
XMLC_Pictos
>
msn<
/
XMLC_Pictos
>
<
XMLC_TrapJavascriptError
/
>
<
XMLC_DisplayTabControl
>
1<
/
XMLC_DisplayTabControl
>
<
XMLC_DisplayTabs
>
1<
/
XMLC_DisplayTabs
>
<
XMLC_DisplayToolbar
>
0<
/
XMLC_DisplayToolbar
>
<
XMLC_DisplayPageTitle
>
1<
/
XMLC_DisplayPageTitle
>
<
XMLC_DisplayActionMenu
>
0<
/
XMLC_DisplayActionMenu
>
<
XMLC_DisplayButtonRollover
>
1<
/
XMLC_DisplayButtonRollover
>
<
XMLC_DisplayToolbarRollover
>
1<
/
XMLC_DisplayToolbarRollover
>
<
XMLC_Culture
>
EN<
/
XMLC_Culture
>
<
XMLC_Language
>
FRANCAIS<
/
XMLC_Language
>
<
XMLC_UserID
>
1003<
/
XMLC_UserID
>
<
XMLC_UserName
>
supervisor@mycorp.com<
/
XMLC_UserName
>
<
XMLC_Authenticated
>
0<
/
XMLC_Authenticated
>
<
XMLC_Administrator
>
1<
/
XMLC_Administrator
>
<
XMLC_Supervisor
>
1<
/
XMLC_Supervisor
>
<
XMLC_User
>
1<
/
XMLC_User
>
<
XMLC_Guest
>
0<
/
XMLC_Guest
>
<
XMLC_PoweredBy
>
Powered by XMLRAD<
/
XMLC_PoweredBy
>
<
XMLC_RegisteredEmail
>
jpbempel@fr.delos.us<
/
XMLC_RegisteredEmail
>
<
XMLC_RegisterURL
>
http://e-delos.com/index.html?http://e-delos.com/DownloadBin/Download.dll/<
/
XMLC_RegisterURL
>
<
XMLC_ProductName
>
XMLRAD<
/
XMLC_ProductName
>
<
XMLC_OptionMail
>
1<
/
XMLC_OptionMail
>
<
XMLC_OptionMessenger
>
1<
/
XMLC_OptionMessenger
>
<
/
XMLC_Params
>
<
publishersS
EOF
=
"
1
"
StartingRow
=
"
0
"
LastRow
=
"
7
"
RowCount
=
"
8
"
MaxRows
=
"
10
"
RecordName
=
"
publishers
"
>
<
publishers
>
<
pub_id
>
0736<
/
pub_id
>
<
pub_name
>
New Moon Books<
/
pub_name
>
<
city
>
Boston<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
0877<
/
pub_id
>
<
pub_name
>
Binnet &
Hardley<
/
pub_name
>
<
city
>
Washington<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
1389<
/
pub_id
>
<
pub_name
>
Algodata Infosystems<
/
pub_name
>
<
city
>
Berkeley<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
1622<
/
pub_id
>
<
pub_name
>
Five Lakes Publishing<
/
pub_name
>
<
city
>
Chicago<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
1756<
/
pub_id
>
<
pub_name
>
Ramona Publishers<
/
pub_name
>
<
city
>
Dallas<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
9901<
/
pub_id
>
<
pub_name
>
GGG&
G</pub_name>
<
city
>
München<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
9952<
/
pub_id
>
<
pub_name
>
Scootney Books<
/
pub_name
>
<
city
>
New York<
/
city
>
<
/
publishers
>
<
publishers
>
<
pub_id
>
9999<
/
pub_id
>
<
pub_name
>
Lucerne Publishing<
/
pub_name
>
<
city
>
Paris<
/
city
>
<
/
publishers
>
<
/
publishersS
>
<
XMLC_Profile
>
<
XMLC_ProfileName
>
Standard<
/
XMLC_ProfileName
>
<
XMLC_ActionMenuPosition
>
LEFT<
/
XMLC_ActionMenuPosition
>
<
XMLC_Culture
>
EN<
/
XMLC_Culture
>
<
XMLC_DisplayActionMenu
>
0<
/
XMLC_DisplayActionMenu
>
<
XMLC_DisplayButtonPad
>
1<
/
XMLC_DisplayButtonPad
>
<
XMLC_DisplayButtonRollover
>
1<
/
XMLC_DisplayButtonRollover
>
<
XMLC_DisplayHeaderGradient
>
0<
/
XMLC_DisplayHeaderGradient
>
<
XMLC_DisplayPageTitle
>
1<
/
XMLC_DisplayPageTitle
>
<
XMLC_DisplayTabControl
>
1<
/
XMLC_DisplayTabControl
>
<
XMLC_DisplayTabs
>
1<
/
XMLC_DisplayTabs
>
<
XMLC_DisplayToolbar
>
0<
/
XMLC_DisplayToolbar
>
<
XMLC_DisplayToolbarButtonPad
>
0<
/
XMLC_DisplayToolbarButtonPad
>
<
XMLC_DisplayToolbarGradient
>
0<
/
XMLC_DisplayToolbarGradient
>
<
XMLC_DisplayToolbarRollover
>
1<
/
XMLC_DisplayToolbarRollover
>
<
XMLC_Language
>
FRANCAIS<
/
XMLC_Language
>
<
XMLC_MainAction
/
>
<
XMLC_MenuWidth
>
300<
/
XMLC_MenuWidth
>
<
XMLC_Pictos
>
msn<
/
XMLC_Pictos
>
<
XMLC_Skin
>
graylight<
/
XMLC_Skin
>
<
TreeviewStyle
>
XP<
/
TreeviewStyle
>
<
DisplayPageTitle
>
0<
/
DisplayPageTitle
>
<
/
XMLC_Profile
>
<
Aliases
>
<
PubsDLL
>
/DemosBin/Pubs/Bin/Pubs.dll/<
/
PubsDLL
>
<
XMLRADDLL
>
/XMLRADBin/XMLRAD.dll/<
/
XMLRADDLL
>
<
/
Aliases
>
<
Locales
>
<
New
>
Nouveau<
/
New
>
<
publishers
>
Editeurs<
/
publishers
>
<
pub_name
>
Editeur<
/
pub_name
>
<
city
>
Ville<
/
city
>
<
Listpublishers
>
Editeurs<
/
Listpublishers
>
<
DataGridpublishers
>
Grille des éditeurs<
/
DataGridpublishers
>
<
Searchpublishers
>
Recherche éditeurs<
/
Searchpublishers
>
<
ListpublishersTitle
>
Liste éditeurs<
/
ListpublishersTitle
>
<
Done
>
Sauvegarder et archiver l'événement<
/
Done
>
<
Save
>
Sauvegarder<
/
Save
>
<
Permissions
>
Permissions<
/
Permissions
>
<
Submit
>
Valider<
/
Submit
>
<
Reset
>
Réinitialiser<
/
Reset
>
<
Refresh
>
Rafraîchir<
/
Refresh
>
<
Delete
>
Supprimer<
/
Delete
>
<
DoublePrevious
>
2 pages en arrière<
/
DoublePrevious
>
<
Previous
>
Page précédente<
/
Previous
>
<
More
>
Page suivante<
/
More
>
<
DoubleMore
>
2 pages en avant<
/
DoubleMore
>
<
ShowHideActionMenu
>
Afficher / Masquer le menu action<
/
ShowHideActionMenu
>
<
errorMessageNotNull
>
Ce champ doit être saisi : <
/
errorMessageNotNull
>
<
questionDeleteRecordBegin
>
Etes vous sûr de vouloir supprimer ce <
/
questionDeleteRecordBegin
>
<
questionDeleteRecordEnd
>
?\nCliquez OK pour confirmer.<
/
questionDeleteRecordEnd
>
<
DeletePrompt
>
Etes vous sûre de vouloir supprimer cet élément ?<
/
DeletePrompt
>
<
AltEmail
>
Envoyer cette page par e-mail<
/
AltEmail
>
<
AltFax
>
Faxer le document attaché <
/
AltFax
>
<
AltIM
>
Envoyer cette page par message instantané<
/
AltIM
>
<
AltPrint
>
Imprimer cette page<
/
AltPrint
>
<
AltHome
>
Accueil<
/
AltHome
>
<
AltHelp
>
Aide<
/
AltHelp
>
<
AltLogin
>
Login<
/
AltLogin
>
<
AltLogout
>
Logout<
/
AltLogout
>
<
AltOpenThisActionInXMLRAD
>
Ouvrir XMLRAD<
/
AltOpenThisActionInXMLRAD
>
<
AltRefresh
>
Rafraîchir<
/
AltRefresh
>
<
AltXMLOutputFormat
>
Afficher le document XML<
/
AltXMLOutputFormat
>
<
PublishersActionTitle
>
Editeurs<
/
PublishersActionTitle
>
<
ListpublishersAction
>
Liste éditeurs<
/
ListpublishersAction
>
<
DataGridpublishersAction
>
Edition éditeurs<
/
DataGridpublishersAction
>
<
SearchFormpublishersAction
>
Recherche éditeur<
/
SearchFormpublishersAction
>
<
FormCreatepublishersAction
>
Nouvel éditeur<
/
FormCreatepublishersAction
>
<
TitlesActionTitle
>
Livres<
/
TitlesActionTitle
>
<
ListtitlesAction
>
Liste livres<
/
ListtitlesAction
>
<
DataGridtitlesAction
>
Edition livres<
/
DataGridtitlesAction
>
<
SearchFormtitlesAction
>
Recherche livre<
/
SearchFormtitlesAction
>
<
FormpublishersAction
>
Edition éditeur<
/
FormpublishersAction
>
<
/
Locales
>
<
/
document
>
Dans cet OutpuDoc on retrouve généralement les informations suivantes:
- Les XMLC_Params: Donnes du frameworks souvent utilisées par les composants de xslc.xsl
- Les données des XMLInstructions: résultat de l'execution par exemle du DBExtract (noeuds Params,publishers)
- Le XMLC_Profile: Profile utilisateur
- Le XMLC_Aliases: URL de l'application utilisée pour contruire les liens
- Les XMLC_Locales: Traduction des libellées utilisées pour gérer le multilingue