FIXME translate this page

Base de données VHFFS

Cette page décrit la base de données de VHFFS (les champs et leur utilité). Elle est à compléter et se rapporte à la versin 4.1 de VHFFS.

vhffs_object

Il s'agit de la table de base. Elle permet l'implantation d'un système d'héritage. Ainsi, les utilisateurs, les groupes, les différentes entités composant les services sont tous des objets. Cela permet d'éviter la duplication de champs.

\d vhffs_object
                                          Table «public.vhffs_object»
    Colonne    |            Type             |                          Modificateurs
---------------+-----------------------------+------------------------------------------------------------------
 object_id     | integer                     | not null default nextval('vhffs_object_object_id_seq'::regclass)
 owner_uid     | integer                     |
 date_creation | timestamp without time zone |
 state         | character varying           | not null
 description   | text                        |
 type          | integer                     | default 0
Index :
    «vhffs_object_pkey» PRIMARY KEY, btree (object_id)
    «idx_vhffs_object_state» btree (state)
  • object_id : identifiant de l'objet
  • owner_uid : identifiant de l'utilisateur propriétaire de l'objet
  • date_creation : date de création de l'objet
  • state : état de l'objet (défini dans Vhffs::Constants)
  • description : description de l'objet (saisie par l'utilisateur)
  • type : type de l'objet (défini dans Vhffs::Constants)

DNS

vhffs_dns

Table contenant les données globales sur une zone. Cette table était auparavant décomposée en plusieurs tables (vhffs_dns_global et vhffs_dns_soa). Les données qu'elle contient sont destinées à |MyDNS, elles lui sont présentées via la vue vhffs_dns_soa qui assure la conversion des noms de champs.

\d vhffs_dns
                                        Table «public.vhffs_dns»
  Colonne  |          Type          |                           Modificateurs
-----------+------------------------+-------------------------------------------------------------------
 dns_id    | integer                | not null default nextval('vhffs_dns_global_dns_id_seq'::regclass)
 domain    | character varying(255) | not null
 owner_gid | integer                |
 owner_uid | integer                |
 object_id | integer                |
 ns        | character varying(255) | not null
 mbox      | character varying(255) | not null
 serial    | integer                | not null default 1
 refresh   | integer                | not null default 28800
 retry     | integer                | not null default 7200
 expire    | integer                | not null default 604800
 minimum   | integer                | not null default 86400
 ttl       | integer                | not null default 86400
Index :
    «vhffs_dns_pkey4» PRIMARY KEY, btree (dns_id)
Contraintes de clés secondaires :
    «fk_vhffs_dns_vhffs_groups» FOREIGN KEY (owner_gid) REFERENCES vhffs_groups(gid)
    «fk_vhffs_dns_vhffs_object» FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE
    «fk_vhffs_dns_vhffs_users» FOREIGN KEY (owner_uid) REFERENCES vhffs_users(uid)

Les cinq premiers champs formaient auparavant la table vhffs_dns_global, les suivant vhffs_dns_soa.

  • dns_id : identifiant autogénéré du domaine
  • domain : nom du domaine
  • owner_gid : identifiant du groupe propriétaire
  • owner_uid : identifiant de l'utilisateur propriétaire
  • object_id : identifiant de l'objet correspondant
  • ns : nom du serveur de nom primaire (c-à-d. nom du serveur de nom MyDNS, paramètre default_ns1 de la configuration VHFFS)
  • mbox : adresse email de la personne gérant le serveur DNS (default_mbox)
  • serial : numéro de série des données de zone (format AAAAMMJJVV)
  • refresh : période de rafraîchissement des serveurs secondaires en secondes
  • retry : délai avant de réessayer un rafraîchissement si le transfert échoue (en seconde)
  • expire : délai d'expiration des données lorsque le serveur ne répond plus
  • minimum : TTL minimum pour tous les rr de ce domaine, si un enregistrement de vhffs_dns_rr contient une valeur inférieure pour son champ ttl, c'est la valeur de minimum qui est utilisée
  • ttl : Durée de conservation dans les caches DNS.

vhffs_dns_rr

Table contenant les “resource records” d'une zone.

\d vhffs_dns_rr
                               Table «public.vhffs_dns_rr»
 Colonne |          Type          |                       Modificateurs
---------+------------------------+-----------------------------------------------------------
 id      | integer                | not null default nextval('vhffs_dns_rr_id_seq'::regclass)
 zone    | integer                | not null
 name    | character varying(64)  | not null
 type    | character varying(5)   | not null
 data    | character varying(128) | not null
 aux     | integer                | not null default 0
 ttl     | integer                | not null default 86400
Index :
    «vhffs_dns_rr_pkey» PRIMARY KEY, btree (id)
Contraintes :
    «fk_vhffs_dns_rr_chk_type» CHECK ("type"::text = 'A'::text OR "type"::text = 'AAAA'::text OR "type"::text = 'CNAME'::text
    OR "type"::text = 'HINFO'::text OR "type"::text = 'MX'::text OR "type"::text = 'NS'::text OR "type"::text = 'PTR'::text
    OR "type"::text = 'RP'::text OR "type"::text = 'SRV'::text OR "type"::text = 'TXT'::text)
Contraintes de clés secondaires :
    «fk_vhffs_dns_rr_vhffs_dns» FOREIGN KEY ("zone") REFERENCES vhffs_dns(dns_id) ON DELETE CASCADE
  • id : identifiant de l'enregistrement (autogénéré)
  • zone : identifiant du SOA auquel se rapporte l'enregistrement
  • type : type de l'enregistrement (A, AAAA, CNAME, etc.)
  • name et data : nom auquel se rapporte l'enregistrement et données correspondantes. La signification varie selon les cas :
    • type A ou AAAA : nom d'hôte et IP correspondante
    • type CNAME : alias et nom réel de la machine
    • type MX : hôte et serveur mail correspondant
    • type NS : nom d'hôte et nameserver correspondant
    • type PTR : adresse IP et nom d'hôte correspondant
    • type SRV : name contient le nom du service et data contient [poids] [port] [machine]
    • type TXT : Nom de l'hote et texte associé
  • aux : Informations complémentaires (priorité dans le cas d'enregistrements MX ou SRV)
  • ttl : Temps de vie dans le cache

Mailing lists

vhffs_ml

Table contenant les informations sur les mailing lists de la plateforme.

\d vhffs_ml
                                     Table «public.vhffs_ml»
   Colonne    |          Type          |                      Modificateurs
--------------+------------------------+----------------------------------------------------------
 ml_id        | integer                | not null default nextval('vhffs_ml_ml_id_seq'::regclass)
 local_part   | character varying      | not null
 domain       | character varying      |
 prefix       | character varying      |
 owner_uid    | integer                |
 owner_gid    | integer                |
 object_id    | integer                |
 admin        | character varying(250) |
 open_post    | boolean                |
 open_archive | boolean                |
 open_sub     | boolean                |
 reply_to     | boolean                |
 moderated    | boolean                |
 signature    | character varying(250) |
Index :
    «vhffs_ml_pkey» PRIMARY KEY, btree (ml_id)
    «vhffs_ml_unique_address» UNIQUE, btree (local_part, "domain")
Contraintes de clés secondaires :
    «fk_vhffs_ml_vhffs_groups» FOREIGN KEY (owner_gid) REFERENCES vhffs_groups(gid)
    «fk_vhffs_ml_vhffs_object» FOREIGN KEY (object_id) REFERENCES vhffs_object(object_id) ON DELETE CASCADE
    «fk_vhffs_ml_vhffs_users» FOREIGN KEY (owner_uid) REFERENCES vhffs_users(uid)

Note : il n'existe pas de contrainte entre le domaine et la table vhffs_mxdomain. Cette contrainte est vérifiée logiciellement sauf dans le cas où le domaine est celui défini par default_domain dans la section mailing de la configuration.

  • ml_id : Identifiant autogénéré de la mailing list
  • local_part : préfixe de la mailing list (partie avant le @)
  • domain : domaine de la mailing list (après le @)
  • prefix : préfixe ajouté à tous les mails envoyés sur la mailing list
  • owner_uid : identifiant de l'utilisateur propriétaire
  • owner_gid : identifiant du groupe propriétaire
  • object_id : identifiant de l'objet correspondant
  • admin : adresse email de l'administrateur de la liste (par défaut, adresse email de l'utilisateur créateur)
  • open_post : indique si les personnes non inscrites à la mailing list peuvent poster
  • open_archive : indique si les archives sont disponibles publiquement
  • open_sub : indique si les inscriptions sont publique (sinon il est possible d'ajouter des membres via le panel
  • reply_to : valeur du champ Reply To des mails envoyés
  • moderated : indique si la liste est modérée
  • url : ????
  • signature : Signature de la ml ajoutée à chaque pied de mail

vhffs_ml_subscribers

Table répertoriant toutes les personnes ayant souscrit à une mailing list.

\d vhffs_ml_subscribers
                                   Table «public.vhffs_ml_subscribers»
 Colonne  |         Type          |                             Modificateurs
----------+-----------------------+-----------------------------------------------------------------------
 sub_id   | integer               | not null default nextval('vhffs_ml_subscribers_sub_id_seq'::regclass)
 member   | character varying     | not null
 perm     | integer               | not null
 hash     | character varying     |
 ml_id    | integer               | not null
 language | character varying(16) |
Index :
    «vhffs_ml_subscribers_pkey» PRIMARY KEY, btree (sub_id)
Contraintes de clés secondaires :
    «fk_vhffs_ml_subscribers_vhffs_ml» FOREIGN KEY (ml_id) REFERENCES vhffs_ml(ml_id)  ON DELETE CASCADE
  • sub_id : Identifiant de l'abonné
  • member : Adresse de l'abonné
  • perm : Niveau d'autorisation de l'abonné :
    • ML_RIGHT_SUB_WAITING_FOR_REPLY : Utilisateur ayant demandé une inscription mais ne l'ayant pas encore validée
    • ML_RIGHT_SUB : Utilisateur classique (ajouté directement ou ayant confirmé son inscription)
    • ML_RIGHT_ADMIN : Administrateur de la liste (accès aux commandes d'administration via xxx-request@domain.com
    • ML_RIGHT_SUB_WAITING_FOR_DEL : Utilisateur ayant demandé sa désinscription mais ne l'ayant pas encore confirmée
  • active : Indique si l'utilisateur est actif (??? semble inutilisé)
  • hash : Hash lié à la requête de l'utilisateur (pour inscription ou désinscription)
  • ml_id : Identifiant de la liste à laquelle l'utilisateur est inscrit
  • language : Langue de l'utilisateur (pour les tâches administratives)

La clé fk_vhffs_ml_subscribers_vhffs_ml permet la suppression de tous les abonnés à une liste lors de la suppression de celle-ci.

vhffs_acl

Cette table contient les autorisations au niveau du panel pour les différents objets. Elle permet d'indiquer quels sont les groupes et/ou utilisateurs qui vont pouvoir consulter, modifier, supprimer, etc. un service.

\d vhffs_acl
                            Table «public.vhffs_acl»
 Colonne |  Type   |                       Modificateurs
---------+---------+------------------------------------------------------------
 acl_id  | integer | not null default nextval('vhffs_acl_acl_id_seq'::regclass)
 oid_src | integer |
 perm    | integer | not null
 oid_dst | integer |
Index :
    «vhffs_acl_pkey» PRIMARY KEY, btree (acl_id)
Contraintes de clés secondaires :
    «fk_vhffs_acl_vhffs_object_dst» FOREIGN KEY (oid_dst) REFERENCES vhffs_object(object_id) ON DELETE CASCADE
    «fk_vhffs_acl_vhffs_object_src» FOREIGN KEY (oid_src) REFERENCES vhffs_object(object_id) ON DELETE CASCADE
  • acl_id : Identifiant de l'ACL ;
  • oid_src : Identifiant de l'objet correspondant au groupe ou à la personne disposant d'un accès (FIXME renommer le champ) ;
  • perm : Niveau d'accès de l'utilisateur/groupe ;
  • oid_dst : Objet (service) concerné par l'ACL.
dev/database.txt · Last modified: 2011/03/28 19:59 by gradator
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki