Table document

Description

La table document contient toutes les informations collectées par Watchdoc dans les spools Windows. Cette table est la plus importante de la solution Watchdoc.

Chaque document imprimé représente une ligne.

Chaque document possède plusieurs identifiants :

  • docID est un compteur SQL auto-incrémenté utilisé pour désigner une ligne ;

  • docJOBID est l’identifiant interne à Windows ou au copieur, qui peut être réutilisé plusieurs fois ;

  • docKEY est une clé de découpage générée de manière reproductible à partir des attributs du document (titre, taille, user, date, ...) afin de pouvoir retrouver un document non imprimé suite à un redémarrage serveur (pour éviter de rajouter un doublon dans les statistiques). Il faut normalement utiliser docID pour désigner une ligne de la table, les autres identifiants n’étant pas significatifs.

  • docPRINTED permet de déterminer si un document a réellement été imprimé (et doit être refacturé) ou non (ignoré) ;

  • docCOLOR permet de savoir si le document contenait au moins 1 page couleur ;

  • docPAGES contient le nombre de feuilles physiques, alors que le champ docLPAGES contient le nombre de pages logiques (côtés imprimés). Ils sont normalement égaux sauf en mode duplex (recto/verso). Le champ docCPAGES contient le nombre de pages du document contenant de la couleur, et ne peut pas dépasser docLPAGES. Normalement, si docCOLOR vaut 0, docCPAGES vaut 0 également.

  • docDATESPOOLED, docDATEUNBLOCKED et docDATEOPERATION permettent de déterminer le temps de traitement global du document. La durée d’attente d’impression du document est normalement de (docDATEOPERATION - docDATEUNBLOCKED). Le temps d’attente sur le serveur est normalement de (docDATEOPERATION - docDATESPOOLED).

    Attention : certains copieurs ne sont pas à l’heure et il est possible que docDATESPOOLED et docDATEOPERATION soient dans le futur, et supérieur à docDATEOPERATION !!!

  • docCACHEYEAR, docCACHEMONTH, docCACHEDAY, et docCACHEHOUR sont utilisés pour accélérer l’affichage des statistiques. Ils sont calculés par rapport au champ docDATEOPERATION et servent à optimiser les requêtes GROUP BY.

  • docVCOST, docRCOST servent au calcul du coût à la page et sont apparus à partir de la version 4.0. docRCOST contient le coût à la page (en €) du document imprimé (ou 0) et docVCOST le coût à la page initial du même document. Dans le cas d’une redirection sur une autre file, les deux peuvent être différents. Dans tout les cas, docVCOST - docRCOST correspond à l’économie réalisée sur ce document. A noter également que l’économie peut être négative si la redirection est effectuée sur une imprimante plus chère.

  • champs docIN… indiquent un état initial relevé dans le spool avant opération de transformation et permettent une comparaison après transformation éventuelle du spool.

     

Schéma

Champ

Type

Requis

CléPrimaire

Description

docID

bigint

*

*

Identifiant unique du document

docQUEUE

varchar(64)

*

 

Nom de la file sur laquelle le document est imprimé

docJOBID

bigint

*

 

Identifiant périphérique du travail d'impression (JobId windows, JobId copieur, ...), non unique

docKEY

varchar(50)

 

 

Clé de hachage permettant de retrouver un travail d'impression à partir de ses propriétés

docTITLE

nvarchar(255)

 

 

Titre du document

docDOMAIN

nvarchar(64)

 

 

Domaine (Watchdoc) de l’utilisateur

docUSER

nvarchar(255)

 

 

Nom du compteur utilisateur

docSTATION

varchar(128)

 

 

Nom DNS du poste à l’origine de l’impression

docSTATIONIP

nvarchar(50)

 

 

Adresse IP du poste à l’origine de l’impression

docCODE

nvarchar(255)

 

 

Code de refacturation (si renseigné)

docDATESPOOLED

datetime

*

 

Date et heure de la création du document sur le serveur

docPAGES

bigint

*

 

Nombre de feuilles du document (= nombre de pages en recto/verso)

docDENSITY

int

 

 

Densité du document (pas encore implémenté !)

docSATURATION

int

 

 

Colorimétrie du document (pas encore implémenté !)

docMEDIA

nvarchar(50)

 

 

Format du document (A4, A3, A0, LETTER,...).

docSURFACE

bigint

*

 

Surface totale imprimée du document (en mm^2).

docSIZE

bigint

 

 

Taille du fichier de spool (en octets).

docDATEOPERATION

datetime

*

 

Date et heure de la dernière opération sur le document (fin impression, timeout, suppression, ...)

docPRINTER

nvarchar(255)

 

 

Nom du périphérique physique Windows qui détient le document.

docSTATUS

varchar(50)

*

 

Etat du travail (‘NotPrinted’, ‘Printing’, ‘Printed’ , ‘Deleted’, ‘Timeout’, ‘OverQuota’, ...).

docPRINTED

tinyint

*

 

Le document a été réellement imprimé (0=non, 1=oui).

docTRANSACTION

bigint

 

 

Identifiant de la transaction associée dans la table transactions.

docCOLOR

tinyint

 

 

Couleur du document (0=document noir&blanc, 1=document en couleur).

docTYPE

nvarchar(64)

 

 

Type du document (Word, Excel, PDF, mail, copy...)

docCACHEYEAR

int

 

 

Valeur correspondant à l'année (year) de la valeur enregistrée dans le champ docDATEOPERATION en cache, utilisée pour les GROUP BY.

docCACHEMONTH

int

 

 

Valeur correspondant au mois (month) de la valeur enregistrée dans le champ docDATEOPERATION en cache, utilisée pour les GROUP BY.

docCACHEDAY

int

 

 

Valeur correspondant au jour (day) de la valeur enregistrée dans le champ docDATEOPERATION en cache, utilisée pour les GROUP BY.

docCACHEHOUR

int

 

 

Valeur correspondant à l'heure (hour) de la valeur enregistrée dans le champ docDATEOPERATION en cache, utilisée pour les GROUP BY.

docCOST

float*

 

 

Coût du document (en unités) calculé à partir de la tarification.

docFULLNAME

nvarchar(128)

 

 

Nom complet de l’utilisateur (tiré de l’annuaire LDAP).0

docQGROUP

nvarchar(64)

*

 

Groupe d’appartenance de la file d’impression.

docQSITE

nvarchar(64)

*

 

Site d’appartenance de la file d’impression.

docOS

nvarchar(16)

 

 

Indication du système d’exploitation de la station de travail à l’origine de l’impression (estimation).

docUID

nvarchar(255)

 

 

Identifiant utilisé pour la synchronisation serveur d'impression / copieur.

docDESTINATION

nvarchar(255)

 

 

Numéro de fax ou adresse E-mail pour les logs copieurs.

docLPAGES

bigint

 

 

Nombre de pages (côtés en recto-verso). du document.

docCPAGES

bigint

 

 

Nombre de pages (côtés en recto-verso) en couleur (0<=x<=docLPAGES)

docVCOST

float

 

 

Coût "virtuel" du document, en fonction du coût à la page du copieur (Pas encore implémenté).

docDUPLEX

tinyint

 

 

Le travail a été imprimé en recto/verso (1) ou non (0).

docSTAPLED

tinyint

 

 

Le travail a été agrafé (1) ou non (0).

docFOLDED

tinyint

 

 

Le travail a été plié (1) ou non (0).

docPAPER

nvarchar(255)

 

 

Type de papier (estimation) utilisé (PLAIN, TRANSPARENT, THICK, ...).

docTRAY

nvarchar(32)

 

 

Bac d’alimentation papier (estimation) utilisé.

docFEATURES

nvarchar(255)

 

 

RFU (réservé pour un futur usage : flags, indicateurs,...

docREDIRECTED

nvarchar(64)

 

 

Identifiant de la file d’origine si le document a été redirigé.

docDATEUNBLOCKED

datetime

 

 

Date de déblocage du document par Watchdoc.

docRCOST

float

 

 

Coût réel à la page.

docFILTER

nvarchar(?)

 

 

Identifiant du filtre Watchdoc appliqué (pour la suppression ou la redirection).

docECONOMODE

tinyint

 

 

Mode économique activé ou non.

docMOVED

tinyint

 

 

Champ système utilisé dans une architecture master et utilisé sur les serveurs Watchdoc pour préciser si la valeur du champ a été répliquée sur le master et peut donc être supprimée (si NULL ou 0, document "local", si >= 254, document archivé qui peut être supprimé).

docPPAGES

bigint

 

 

Nombre de pages réellement imprimées (si connu).

docQSTATUS

Varchar(16)

 

 

Etat de la file au moment de l’impression

docQLOAD

Int

    Etat de charge de la file au moment de l'impression

docSOURCEID

Bigint

 

 

Identifiant de la source d’origine de la donnée (en cas de transfert).

docNUMCOPIES Int *   Nombre de copies comptabilisées par MSWindows.

docSPLFMT

Varchar

(20)

   

Langage du spool (PCL-XL PS…)

docSPLRPAGES

int    

Nombre de pages comptabilisées par MSWindows.

docSPLRCOPIES

int    

Nombre de copies comptabilisées par Windows

docSPLRNUP

int    

Nombre de pages imprimées par nombre de pages par page.

 

Les champs IN contiennent des valeurs relatives au document initial, avant transformation éventuelle. Comparées aux valeurs relatives au document traité, ces données permettent de savoir si le document a subi des transformations avant impression :

Champ Type Requis Clé primaire Description

docINCOLOR

tinyint

 

 

Couleur : 0=document en noir&blanc, 1=document couleur.

docINSHEETS

int

 

 

Nombre de feuilles du document.

docINLPAGES

int

 

 

Nombre de pages du document unitaire (non multiplié par le nombre d’exemplaires).

docINCPAGES

int

 

 

Nombre de pages couleurs du document.

docINDUPLEX

tinyint

 

 

Mode d'impression (0=simplex, 1=duplex)

docINNUMCOPIES

int

 

 

Nombre d’exemplaires demandés.

docCUTCPAGES

int

 

 

Nombre de pages couleurs coupées

docTIMESPOOLING

float

 

 

RFU : réservé pour un usage futur

docTIMEWAITPARSING

float

 

 

RFU

docTIMEPARSING

float

 

 

RFU

docTIMEAUTHUSER

float

 

 

RFU

docTIMEWAITUSER

float

 

 

RFU

docTIMEWAITQUEUE

float

 

 

RFU

docTIMEPRINTING

float

 

 

RFU

docCOMPLETED

tinyint

 

 

 

docMODIFIED

smallint

 

 

 

docPHYSICALIN

Tinyint

 

 

 

docPHYSICALOUT

Tinyint

 

 

 

docSAVING

tinyint

 

 

 

docTRANSFOPROFIL

Varchar (128)

 

 

 

docSPLRJobid

Varchar (64)

 

 

 

docSPLRUserid

Varchar (128)

 

 

 

docSPLRSrvid

Varchar (64)

 

 

 

DocSPLRSrvtype

Varchar (16)

 

 

 

DocSPLRSrvver

Varchar (32)

 

 

 

DocSPLRDate

Datetime

 

 

 

DocSPLRretries

smallint

 

 

 

docACTORType

Varchar (32)

 

 

 

docACTORVer

Varchar (32)

 

 

 

docACTOROrigin

Varchar (32)

 

 

 

docACTORUserID

Varchar (128)

 

 

 

docACTORTargetTYPE

Varchar (32)

 

 

 

docACTORTargetInto

Varchar (128)

 

 

 

 

Index

Mode "Production"

Le mode "Production" correspond à l’insertion des travaux et la manipulation de base de l’historique par le service, ainsi que les pages de l’administration dédiées à la gestion au jour le jour des travaux (historique, incidents, helpdesk).

Les index sont faits pour être les plus légers possibles et limiter le plafonnement lors de l’insertion des données dans la base.

CREATE INDEX IX_KeyJob ON dbo.documents (docKEY, docJOBID) ON PRIMARY

CREATE INDEX IX_Queue ON dbo.documents (docQUEUE) ON PRIMARY

CREATE INDEX IX_QGroup ON dbo.documents (docQGROUP) ON PRIMARY

CREATE INDEX IX_Status ON dbo.documents (docSTATUS) ON PRIMARY

CREATE INDEX IX_DateOp ON dbo.documents(docDATEOPERATION DESC ) ON PRIMARY

La taille estimée est d’environ 10% de la taille de la base de données.

Mode "Consultation"

Le mode "consultation » correspond à un usage occasionnel des pages de statistiques et bilan sur des bases de données de taille moyenne.

Les index sont faits pour être les plus légers possible, tout en optimisant suffisamment les requêtes SQL.

CREATE INDEX IX_Graphes ON dbo.documents (docQGROUP, docQUEUE, docDATEOPERATION, docCACHEHOUR,

docPRINTED, docSTATUS, docMEDIA, docCOLOR, docPAGES, docLPAGES) on PRIMARY

Mode "Statistiques"

Le mode "statistiques" correspond à un usage intensif des statistiques/bilans sur des bases de données de grosse taille, lorsqu’on dispose d’un serveur de fédération de statistiques dédié (avec import journalier à partir des serveurs de production).

Les index sont faits pour être les plus optimisés possible, au détriment de l’espace disque consommé.