Création manuelle de types de données
Types de fichiers, voir types de données<$nopage>Types de données
création manuelleUn type de données
peut être défini de deux façons:
à l'aide de l'utilitaire Créer action. Pour
plus de détails sur cet utilitaire, reportez-vous au
en créant manuellement la définition du type
de données.
Pour créer manuellement un type de données, vous devez
modifier un fichier de base de données.
Le présent chapitre décrit la procédure de création
manuelle.
Informations connexes :
Pour une présentation des types de données,
reportez-vous au .
Pour plus de détails sur les définitions de
types de données, reportez-vous à la page de manuel dtdtsfile(4).
Pourquoi créer un type de données
manuellement ?
La création manuelle d'un type de données permet de tirer
parti des possibilités de la syntaxe des définitions de types
de données.
Types de donnéescréation
manuelleUn type de données doit être
créé manuellement si vous souhaitez bénéficier
des fonctions suivantes:
type de données associé au chemin
possibilité d'indiquer les actions (autres qu'Ouvrir
et Imprimer) associées au type de données
multiplicité des critères de noms, modèles
et contenus d'un même type de données, par exemple un type de
données basé sur des fichiers *.abc ou *.def
type de données basé sur des liens
Critères et attributs d'une définition
de type de données
La définition d'un type de données est constituée
de deux définitions distinctes de base de données.
DéfinitionDATA_ATTRIBUTES
définition DATA_ATTRIBUTES
Elle indique le nom du type de données, l'apparence et le comportement
des fichiers de ce type.
Définition DATA_CRITERIAdéfinition DATA_CRITERIA
Elle indique les critères du type de données. Chacune
des définitions de critères indique la définition du
paramètre DATA_ATTRIBUTES à laquelle les
critères s'appliquent.
Il doit exister moins une définition de
DATA_CRITERIAavec DATA_ATTRIBUTES
DATA_CRITERIA pour chaque définition de DATA_ATTRIBUTES; une définition de DATA_ATTRIBUTES peut être associée à plusieurs paramètres DATA_CRITERIA.
Vous pouvez, par exemple, créer une définition d'attributs
pour fichiers PostScript qui détermine la présentation et le
comportement de ces fichiers dans le Gestionnaire de fichiers. Etablissez
ensuite deux critères distincts pour le type de données PostScript,
l'un basé sur le nom du fichier et l'autre basé sur son contenu.
Pour plus de détails, reportez-vous à la section .
Procédure de création manuelle d'un
type de données
La présente section décrit la procédure à
suivre pour créer un fichier de configuration de type de données.
Fichiers de configuration pour types de données
Types de donnéesfichiers de configurationFichiers de configuration
types de données
Les fichiers de configuration contenant des définitions de types
de données doivent:
respecter la convention d'appellation nom.dt
figurer sur le chemin de recherche de la base de données
qui est, par défaut:
personnel
RépPersonnel/.dt/types
système
/etc/dt/appconfig/types/langue
intégré
/usr/dt/appconfig/types/langue. Il est préférable
de ne pas utiliser ce répertoire.
Pour plus de détails sur la modification du chemin, reportez-vous
à la section .
Définition d'un type de données
Types de donnéesdéfinition
Ouvrez un fichier de base de données existant ou créez-en
un nouveau.
Pour plus de détails, reportez-vous à la section précédente .
Définissez les attributs du type de données
à l'aide de la syntaxe:
DATA_ATTRIBUTESsyntaxe
DATA_ATTRIBUTES nom_type_données
{
ICON nom_image
DESCRIPTION chaîne
zone_attribut
zone_attribut
…
}
Où:
nom_type_données
Nom unique affecté à
ce type de données.
nom_image
Nom de fichier ou chemin d'un fichier
d'icône. Utilisez le nom de base du fichier. Par exemple, pour les fichiers
d'icônes image.m.pm et image.t.pm,
utilisez image.
zone_attribut
Zone définissant l'apparence
ou le comportement d'un type de données.
chaîne
Chaîne de caractères.
Le contenu correspondra à l'aide sur le type de données.
Reportez-vous à la section .
Définissez les critères du type de données
à l'aide de la syntaxe:
DATA_CRITERIAsyntaxe
DATA_CRITERIA nom_critère
{
DATA_ATTRIBUTES_NAME nom_type_données
zone_critères
zone_critères
…
}
Où:
nom_critères
Nom unique de la définition
de ces critères.
nom_type_données
Nom utilisé dans la définition
du paramètre DATA_ATTRIBUTES.
zone_critères
Zone utilisée pour définir
les critères d'affectation d'un fichier à un type de données.
Reportez-vous à la section .
Enregistrez le fichier de base de données.
Créez les icônes de ce type de données.
Pour plus de détails, reportez-vous à la section .
Au besoin, créez les actions listées dans la
zone ACTIONS de la définition des attributs.
Cliquez deux fois sur Recharger actions dans le groupe d'applications
Outils_Bureau pour recharger la base de données.
Exemple de création
Types de donnéesexemple
Action et type de données personnelscréation
Cet exemple suppose que le système contient une application xgif, permettant l'affichage d'images GIF. Ce programme est généralement
lancé à l'aide de la commande:
xgif nom_fichier
Vous pouvez afficher des images GIF de différentes façons:
en cliquant deux fois sur un fichier GIF
en sélectionnant le fichier et l'application dans le
menu Objets sélectionnés
Ouvrez un nouveau fichier RépPersonnel/.dt/types/GifViewer.dt pour le modifier.
Entrez les définitions des types de données
:
DATA_ATTRIBUTES Gif
{
DESCRIPTION Fichier image Gif.
ICON GifIcon
ACTIONS Visualiser
}
DATA_CRITERIA Gif_Criteria
{
DATA_ATTRIBUTES_NAME Gif
NAME_PATTERN *.gif
}
Entrez la définition de l'action GifViewer:
ACTION GifViewer
{
EXEC_STRING xgif %(File)Arg_1"Fichier Gif à visualiser:"
WINDOW_TYPE NO_STDIO
DESCRIPTION Cliquez deux fois ou posez un fichier\
pour lancer l'application.
}
La définition ne comportant pas de zone ICON,
l'action fera appel à l'icône par défaut du système.
Entrez l'action de correspondance suivante pour associer l'action
GifViewer à l'action Visualiser figurant dans la définition
du type de données. Utilisez la zone ARG_TYPE
pour limiter cette action aux fichiers de type Gif.
ACTION Visualiser
{
ARG_TYPE Gif
TYPE MAP
MAP_ACTION GifViewer
}
Enregistrez le fichier.
Cliquez deux fois sur Recharger actions dans le groupe d'applications
Outils_Bureau pour recharger la base de données.
Définition des attributs d'un type de données
DATA_ATTRIBUTESdéfinition
Types de donnéesattributs
La définition de DATA_ATTRIBUTES indique
l'apparence, le comportement et le nom du type de données et permet
de préciser:
l'icône du Gestionnaire de fichiers (zone ICON)
le contenu du menu Sélectionné(s) et son comportement
lors d'un double clic (zone ACTIONS)
l'aide sur le type de données (zone DESCRIPTION
ZoneDESCRIPTION
Types de donnéesaide
Aidetype de données)
Indication de l'image de l'icône associée
au type de donnéesIcônestypes de donnéesTypes
de donnéesicônes
Utilisez la zone ZoneICONtype de donnéesICON pour indiquer l'icône utilisée dans le Gestionnaire
de fichiers. Si vous ne l'indiquez pas, ce dernier affichera uniquement un
libellé.
Il existe deux types de valeur pour la zone ZoneICONvaleursICON.
NomNom de base du fichier
Icônesnom de base du fichier
de base du fichier:
Le nom de base du fichier est le nom du fichier contenant l'image de
l'icône moins les suffixes de la taille (l, m et t) et du type d'image (bm
et pm). Par exemple, si des fichiers s'appellent IcôneJeu.m.pm et IcôneJeu.t.pm,
utilisez IcôneJeu.
Si vous utilisez un nom de fichier de base, les fichiers d'icône
doivent être copiés dans un répertoire figurant sur le
chemin de recherche d'icône:
icônes personnelles: Rép_Personnel/.dt/icons
icônes appliquées au système: /etc/dt/appconfig/icons/langue
Chemin de recherche absolu, comprenant le nom complet du fichier:
Utilisez le chemin absolu uniquement si le fichier d'icône ne
figure pas sur le chemin de recherche de l'icône. Par exemple, si le
fichier IcôneJeu.m.pm se trouve dans le répertoire /doc/projects, qui ne figure pas sur le chemin de recherche, la
valeur de la zone ICON sera /doc/projects/IcôneJeu.m.pm.
Le répertorie les tailles d'icônes à
créer et les noms de fichiers correspondants.
Noms et tailles des icônes de types de données
Taille en pixels
Nom du bitmap
Nom du pixmap
48 x 48
nom.l.bm
nom.l.pm
32 x 32
nom.m.bm
nom.m.pm
16 x 16
nom.t.bm
nom.t.pm
Association de types de données
Types de donnéesassociation avec des
actions avec des actionsActionsassociation avec des types de données
Types de donnéesassociation avec des actions
Les types de données peuvent être associés à
des actions de deux manières:
La zone ZoneACTIONSACTIONS figurant dans la définition
du paramètre DATA_ATTRIBUTES répertorie
les actions qui apparaîtront dans le menu Objets sélectionnés
du Gestionnaire de fichiers. La première action de la liste est l'action
par défaut (double clic).
Il est possible de limiter les actions aux types de données
indiqués à l'aide de la zone ZoneARG_TYPEARG_TYPE
figurant dans la définition de l'action.
La définition suivante, par exemple, crée un type de données
concernant les fichiers “readme créés par l'administrateur
système à l'aide de la convention d'appellation *.rm.
DATA_ATTRIBUTES FichierSysReadme
{
ICON SysReadMe
ACTIONS Ouvrir,Répondre
}
DATA_CRITERIA CritèresFichierSysReadme
{
NAME_PATTERN *.rm
DATA_ATTRIBUTES_NAME FichierSysReadme
}
Une action de réponse est définie ci-dessous pour le fichier.
Elle permet d'ouvrir une copie modifiable du fichier dans l'Editeur de texte.
Une fois le fichier sauvegardé et l'Editeur de texte fermé,
le fichier est transmis à l'administrateur système (adresse sysadmin@utd).
ACTION Répondre
{
ARG_TYPE FichierSysReadme
EXEC_STRING /bin/sh -c 'cp %Arg_1% $HOME/readme.temp;\
chmod +w $HOME/readme.temp; \
dtpad $HOME/readme.temp; \
cat $HOME/readme.temp | \
/usr/bin/mailx sysadmin@utd; \
rm $HOME/readme.temp'
WINDOW_TYPE NO_STDIO
}
Masquage des fichiers en fonction du type de données
Fichierscachés
Types de donnéesfichiers cachésFichierscachés
Si le type de données d'un fichier est invisible, ce dernier
n'apparaît pas dans le Gestionnaire de fichiers.
Utilisez la zone PROPERTIES figurant dans la définition
de DATA_ATTRIBUTES pour cacher les icônes de ce
type:
PROPERTIES invisible
Comportement d'un fichier manipulé
Les zones DATA_ATTRIBUTES suivantes sont utilisées
principalement par les programmeurs système. Elles indiquent le comportement
des fichiers lorsque l'utilisateur exécute certaines tâches.
Pour plus de détails, reportez-vous au manuel Common
Desktop Environment Programmer's Guide.
ZoneDescription
ZoneMOVE_TO_ACTIONMOVE_TO_ACTION
Concerne les conteneurs tels que les
répertoires. Cette zone indique une action qui doit être exécutée
lors du transfert d'un fichier vers un conteneur de ce type.
CZoneCOPY_TO_ACTION OPY_TO_ACTION
Concerne les conteneurs tels que les
répertoires. Cette zone indique une action qui doit être exécutée
lors de la copie d'un fichier dans un conteneur de ce type.
ZoneLINK_TO_ACTIONLINK_TO_ACTION
Cette zone indique une action qui doit
être exécutée lors de l'association d'un fichier à
un autre fichier de ce type.
ZoneIS_TEXTIS_TEXT
Indique que les fichiers de ce type
contiennent du texte affichable dans une boîte de message.
Zone
MEDIAMEDIA
Indique le type de support ToolTalk
correspondant.
ZoneMIME_TYPE_MEDIAMIME_TYPE
Indique le type MIME correspondant.
ZoneX400_TYPEX400_TYPE
Indique le type X400 correspondant.
Définition des critères d'un type
de donnéesTypes de donnéescritèresTypes de donnéesdifférenciation
Types de donnéescritères
2
La définition du paramètre DATA_CRITERIAdéfinitionDATA_CRITERIA indique les critères utilisés pour affecter un type
d'objet à un fichier ou à un répertoire.
Vous pouvez utiliser les critères ci-dessous pour indiquer les
types d'objets.
Critères
Description
Nom de fichier
Il doit correspondre à un modèle
donné. Utilisez la zone Zone
NAME_PATTERNNAME_PATTERN.
Emplacement du fichier
Le chemin doit correspondre à
un modèle donné. Utilisez la zone ZonePATH_PATTERNPATH_PATTERN.
Contenu du fichier
Une partie donnée du contenu
du fichier doit correspondre à des données spécifiques.
Utilisez la zone ZoneCONTENTCONTENT.
Mode du fichier
Le fichier doit disposer des autorisations
spécifiées (accès en lecture et écriture, exécutable
et répertoire). Utilisez la zone ZoneMODEMODE.
Liens symboliquescritèresLiens symboliques
Le type est basé sur le fichier
auquel l'objet est lié.
Un type de données accepte pusieurs critères. Il est cependant
préférable de ne pas utiliser les critères NAME_PATTERN et PATH_PATTERN pour un même
type.
Types de données basés sur le nomTypes de donnéesbasés sur le nom
Utilisez la zone NAME_PATTERN pour indiquer les
exigences de l'appellation. Les caractères génériques
suivants sont acceptés:
?Caractère
générique
?
Remplace tout caractère.
*Caractère générique
*Types de données
Remplace une séquence de caractères
(pouvant être une chaîne nulle).
[cc…]
Remplace le(s) caractère(s)
(c) entre crochets.
[c−c]
Remplace le(s) caractère(s)
compris entre c et c.
Exemples
La définition suivante crée un type de données
basé sur le nom du fichier. Ce nom doit commencer par QS
et se terminer par .doc.
DATA_ATTRIBUTES Doc_QS
{
DESCRIPTION Ce fichier contient un document pour le projet QS
ICON Word_Doc
ACTIONS Ouvrir
}
DATA_CRITERIA CritèresDoc_QS
{
NAME_PATTERN QS*.doc
DATA_ATTRIBUTES_NAME Doc_QS }
La définition suivante crée un type de données
pour les répertoires portant le nom Demo_n où n correspond
à un chiffre compris entre 0 et 9.
DATA_ATTRIBUTES Répertoire_Demo
{
DESCRIPTION Ceci est un répertoire. Cliquez deux fois\
dessus pour l'ouvrir.
ICON Demo
ACTIONS OpenInPlace,OpenNewView
}
DATA_CRITERIA Critères_répertoire_Demo
{
NAME_PATTERN Demo_[0-9]
MODE d
DATA_ATTRIBUTES_NAME Répertoire_Demo}
Types de données basés sur l'emplacement
Types de donnéesbasés sur le cheminTypes de données
basés sur l'emplacement
Types de donnéesbasés sur l'emplacementTypes de données
basés sur le chemin
Utilisez la zone ZonePATH_PATTERNsyntaxePATH_PATTERN pour indiquer le chemin. Vous pouvez utiliser les mêmes
caractères génériques que pour le critère NAME_PATTERN.
Par exemple, le type de données suivant fait appel à un
critère basé sur le chemin.
DATA_ATTRIBUTES Graphique_projet
{
DESCRIPTION Fichier graphique pour le projet QS. Cliquez \
deux fois sur l'icône pour voir le graphique.
ICON QSgraphics
}
DATA_CRITERIA Critères_graphique_projet
{
DATA_ATTRIBUTES_NAME Graphique_projet
PATH_PATTERN */projects/QS/graphics/*
}
Types de données basés sur le nom et l'emplacement
Pour créer un type de données basé à la
fois sur le nom et sur l'emplacement, ajoutez le nom à la valeur PATH_PATTERN. Vous ne pouvez pas utiliser à la fois NAME_PATTERN et PATH_PATTERN pour le même
critère de définition.
Exemples
Le type de données QS_Source_Files défini ci-dessous
s'applique à tous les fichiers appn.c, où n
est un chiffre compris entre 1 et 9, situé dans des sous- répertoires
de */projects/QS.
DATA_ATTRIBUTES Fichiers_source_QS
{
…
}
DATA_CRITERIA Critères_fichiers_source_QS
{
PATH_PATTERN */projects/QS/*/app[1-9].c
DATA_ATTRIBUTES_NAME Fichiers_source_QS
}
Le type de données suivant s'applique à tous
les fichiers du répertoire /doc/project1 dont
le nom est chnn.xxx où n
est un chiffre compris entre 0 et 9, et xxx
est une extension à trois caractères.
DATA_ATTRIBUTES Fichiers_chapitre
{
DESCRIPTION Chapitre du projet.
ICON chapter
ACTIONS Editer,Imprimer
}
DATA_CRITERIA Critères_chapitre
{
PATH_PATTERN /doc/project1/ch[0-9][0-9].???
DATA_ATTRIBUTES_NAME Fichiers_chapitre
}
Utilisation des modes de fichiers comme critères
Types de donnéescritères de mode
Utilisez la zone ZoneMODEsyntaxeMODE pour
indiquer les autorisations requises.
Les critères de mode sont généralement associés
à un type de données basé sur le nom, l'emplacement ou
le contenu des fichers. Ils permettent de limiter un type de données
à un fichier ou à un répertoire, ou d'indiquer l'autorisation
de lecture, d'écriture ou d'exécution requise.
La zone MODE peut comporter les caractères
ou les opérateurs logiques suivants:
Opérateur
Description
!
Opérateur logique
Opérateur
NOTzone MODE NOT
&
Opérateur logique
Opérateur
ANDzone MODE AND
|
Opérateur logique
Opérateur
ORzone MODE OR
Caractère
Description
fFichier critères de type de données
Type de données s'appliquant
uniquement aux fichiers.
dRépertoirecritères de type de données
Type de données s'appliquant
uniquement aux répertoires.
r
Fichier lisible par un utilisateur
quelconque.
wAccès en lecture seule
Types de données
lecture seule
Fichier accessible en écriture
par un utilisateur quelconque.
xTypes de données
fichier exécutableFichierexécutable
critères
Le fichier est exécutable par
un utilisateur quelconque.
lLiencritères
Le fichier est un lien.
u
The file is set-uid
g
The file is set-gid
Par défaut, le mode n'est pas supporté.
Exemples
Les zones suivantes limitent le type de données à
la description correspondante:
f&!w
Fichiers accessibles en mode Lecture
seulement
!w
Fichiers et répertoires accessibles
en mode Lecture seulement
f&x
Fichiers exécutables
f&w&x
Fichiers accessibles en modes Lecture
et Exécution
x|!w
Fichiers exécutables ou accessibles
en mode Lecture seulement
La définition suivante crée un type de données
pour les fichiers non-exécutables accessibles en lecture seule dont
le nom respecte la convention d'appellation *.doc. Cette
définition suppose qu'une action Visualiser a été définie
pour ce type de données.
DATA_ATTRIBUTES Document_lecture_seule
{
ICON read_only
DESCRIPTION Ce document n'est pas modifiable. \
Cliquez deux fois pour ouvrir une \
copie accessible en lecture seule \
dans l'éditeur.
ACTIONS Visualiser
}
DATA_CRITERIA Critères_document_lecture_seule
{
NAME_PATTERN *.doc
MODE !d&!x&!w
DATA_ATTRIBUTES_NAME Document_lecture_seule
}
Type de données basé sur le contenuTypes de donnéesbasés sur le contenu
Utilisez la zone ZoneCONTENTCONTENT pour indiquer un type de
données basé sur le contenu du fichier. Un tel type de données
peut être utilisé avec des types de données basés
sur le nom ou sur l'emplacement.
Le type peut dépendre d'une chaîne ou de chiffres contenus
dans le fichier. Le premier octet du fichier porte le numéro 0.
Pour une chaîne, utilisez la syntax:
CONTENT octet_début string chaîne
Pour des chiffres, utilisez la syntaxe:
CONTENT octet_début byte numéro
CONTENT octet_début short numéro
CONTENT octet_début long numéro
Pour le contenu d'un répertoire, utilisez la syntaxe
:
CONTENT 0 filename “nom_fichier
Utilisez la notation C standard pour la numérotation octale (0
de tête) et hexadécimale (0X de tête).
L'utilisation d'un type de données basé sur le contenu
peut provoquer un ralentissement des performances du système. Utilisez
de préférence un type basé sur le nom ou sur l'emplacement.
Par exemple, le type de données suivant, Wingz_modifiable, s'applique
à tous les fichiers accessibles en écriture et contenant la
chaîne WNGZ en début de fichier.
DATA_ATTRIBUTES Wingz_modifiable
{
…
}
DATA_CRITERIA Critères_Wingz_modifiable
{
CONTENT 0 string WNGZ
MODE w&!d
DATA_ATTRIBUTES_NAME Wingz_modifiable
}
Création d'un type de données à
l'aide de plusieurs critères indépendantsTypes de donnéescritères multiples
Vous pouvez créer un type de données à l'aide de
plusieurs critères indépendants, c'est-à-dire que le
fichier est affecté à un type de données s'il répond
à l'un des critères suivants (ou au deux).
Créez la définition du paramètre DATA_ATTRIBUTES du type de données.
Créez une définition de
DATA_CRITERIAmultiplesDATA_CRITERIA pour chaque critère.
Utilisez la zone DATA_ATTRIBUTES_NAME pour associer
chacun des critères à une définition de DATA_ATTRIBUTES unique.
Par exemple, les définitions suivantes permettent de créer
le type de données Mif. Le type est basé sur le nom et le contenu.
DATA_ATTRIBUTES Mif
{
ICON Frame
ACTION_LIST Ouvrir,Imprimer
}
DATA_CRITERIA Critères_Nom_Mif
{
DATA_ATTRIBUTES_NAME Mif
NAME_PATTERN *.mif
}
DATA_CRITERIA Critères_Contenu_Mif
{
DATA_ATTRIBUTES_NAME Mif
CONTENT 1 string MIFFile
}
Création de types de données adaptés au pays
Types de donnéesadaptés au paysAdaptationtype de données
Le chemin de recherche de types de données comporte des emplacements
liés à la langue utilisée. Le Bureau utilise la valeur
deVariableLANGeffet sur le type de données la variable LANG
pour déterminer les emplacements des définitions de types de
données.
Emplacements des types de données adaptés au pays
Les définitions de ces types de données doivent figurer
dans les répertoires correspondant à la langue, sur le chemin
de recherche des actions.
Le chemin par défaut est:
Actions personnelles: RépPersonnel/.dt/types
Actions système: /etc/dt/appconfig/types/langue
Actions intégrées: /usr/dt/appconfig/types/langue
Adaptation d'un type de données
Créez un fichier dans le répertoire correspondant
à la langue (par exemple, dans /etc/dt/appconfig/types/japanese ).
Copiez la définition du type de données dans
le fichier de configuration lié à la langue.
Adaptez les zones de la définition de ce type de données.