Kapitola 3. Konfigurace

Obsah

1. Vzorová konfigurace
2. Popis konfigurace
2.1. DamisParams
2.2. ServerConnection
2.3. DocumentTypes
2.4. SupportedMimeTypes
2.5. UserNameTransformations
2.6. FormatConverters
2.7. Domain
2.8. MailDomains
2.9. DataSources
2.10. SequenceGenerators
2.11. ExternalSystem
2.12. InputFilter
2.13. NotifyService
2.14. TimeSchedules
2.15. MailDirectory
2.16. Jobs
2.17. Input statistics

1. Vzorová konfigurace

Soubor domains.xml:

<?xml version="1.0"?>
<Domains>

<DamisParams>
<Param name="instanceId" value="unique_id"/>
<Param name="batchesDir" value="e:/karel/distrscan/batches"/>
<Param name="temporaryDir" value="e:/karel/distrscan/temp"/>
<Param name="documentSetTimeout" value="10"/>   
<Param name="areaAttributeName" value="Golem.Area"/>
<Param name="forceBatchId" value="Scan.BatchId"/>
<Param name="documentIdAttributeName" value="CJ"/>
<Param name="expertMode" value="1"/>
<Param name="serviceDeadlockDetectionTimeout" value="60"/>
<Param name="deletedDocumentsDirectory" value="e:/karel/distrscan/deleteddocuments"/>
</DamisParams>

<ServerConnection server="10.2.0.10 port="7780" user="username" password="password"/>

<DocumentTypes resource="cmserver2.xml" path="e:\karel\distrscan\cmserver" 
               updateInterval="60"
>

<SupportedMimeTypes>
  <MimeType type="application/pdf"/>
  <MimeType type="image/jpeg"/>
</SupportedMimeTypes>

<UserNameTransformations path="c:/karel/projects/DamisServer/distrscantests/koop/config/name_transformations.xml" shared="1"/>

<FormatConverters>
  <OpenOffice host="localhost" port="8100" /> 
</FormatConverters>

<NotifyService>
        <Target name="pokus" protocol="file" path="c:\karel\distrscantests\notify" 
                temp="c:/karel/distrscantests/notify/pokus"/>
        <Target name="pokus_ftp" protocol="ftp" path="davky/ftpnotify" user="" 
                password="" 
                chmod="770" mode="0" server="10.2.0.2" port="21"
                temp="c:/karel/distrscantests/notify/pokus_ftp"/>
        <Target name="pokus_sftp" protocol="sftp" path="davky/sftpnotify" user="" 
                password="" 
                chmod="" server="10.2.0.2" port="22"
                temp="c:/karel/distrscantests/notify/pokus_sftp"/>
        <Target name="registry_office" protocol="http_description" path="http://10.2.0.3:8080/RegistryOffice/upload" 
                temp="c:/karel/distrscantests2/notify/registry_office"
                errorDirectory="c:/karel/distrscantests2/notify/registry_office_error"/>
        <Target name="xml_smlouvy_ftp" protocol="ftp_copy" path="davky/xml_smlouvy" user="" 
                password="" 
                mode="0" server="10.2.0.2" port="21"
                temp="c:/karel/distrscantests/notify/pokus_ftp"/>
        <Target name="imap_folder" protocol="imap" path="test_error" 
                user="" password="" 
                server="10.2.0.2"
                temp="c:/karel/distrscantests/notify/imap_folder"/>
        <Target name="robot" 
                path="http://10.2.0.3:8090/robot/ws/ws" 
                protocol="robot" 
                errorDirectory="c:/karel/projects/DamisServer/distrscantests/koop/notify/robot_error"/>

</NotifyService>

<Domain source="e:\karel\distrscan\domain1" name="domain1"
               archive="e:\karel\distrscan\archive\archiveDomain1"
               defaultArea="BAD_AREA1" idgenerator="tmp1"
               userAttribute="Scan.Prepare" filterUploaded="1"
               webUserAttribute="Web.Prepare"
               convertFiles="1" extendedCheck="2" onlyArchivable="1">
 <Notify directory="pokus"/>
 <Notify directory="pokus_ftp"/>
 <Notify directory="pokus_sftp"/>
 <Notify directory="registry_office"/>
 <CondNotify default="pokus_ftp">
  <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='EXPERTA']" name="pokus"/>
  <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='MAJ_UDAL']" name="xml_smlouvy_archive"/>
 </CondNotify>
 <Routes>
  <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='EXPERTA']" to="c:/redirected"/>
 </Routes>

 <SupportedMimeTypes>
  application/pdf,image/jpeg
 </SupportedMimeTypes>

 <ForceAttribute name="Damis.InputFilter" value="1"/>

</Domain>
<Domain source="e:\karel\distrscan\domain2" name="domain2"
               archive="e:\karel\distrscan\archive\archiveDomain2"
               defaultArea="BAD_AREA2"
               format="2"
/>

<MailDomains documentType="MAIL"
             textEncoding="ISO-8859-2"
             attributeMapping="c:/karel/DamisServer/trunk/WEB-INF/idents.map.xml"
             fromAttributeName="Damis.mail.from"
             dateAttributeName="Damis.mail.sentDate">
        
<MailDomain name="mail1"
                    username="username" password="password" host="10.2.0.2" 
                    folder="Inbox.test"
                    errorFolder="Inbox.test_error" idgenerator="gen1" forceId="1"
                    deleteTarget="imap_folder"
                    dropMailBody="0" area="test" schedule="vyber_mailu" attributeFormat="ais-servis" secret="TAJNE"
                    archive="e:\karel\distrscan\archive\archiveDomain1"
                    preview="1">
 <PostNotify name="pokus"/>
 <ForceAttribute name="Damis.InputFilter" value="1"/>
 <ExcludeMails>
   <Text>HLEDANY_TEXT</Text>
 </ExcludeMails>
</MailDomain>

</MailDomains>

<DataSources>
  <FileDataSource name="xml_smlouvy" source="c:\karel\distrscantests2\file_source">
    <Target name="xml_smlouvy_ftp"/>
    <Routes default="default">
      <Exist xpath="/davka/pojistka[starts-with(@cps,'5')]" to="5" /> 
      <And to="0">
        <Exist xpath="/davka/pojistka[@typ_zaznamu='N']" /> 
        <Exist xpath="/davka/pojistka/klient[@stprisl='CZE']" /> 
      </And>
    </Routes>
  </FileDataSource>
</DataSources>

<SequenceGenerators>
 <SequenceGenerator name="gen1" prefix="G11" length="14"/>
 <SequenceGenerator name="tmp1" prefix="G12" length="14"/>
</SequenceGenerators>

<ExternalSystem 
     class="LightComp.DistrScan.Disp.DispMessageProcessorFactory"
     host="127.0.0.1"
     port="1234"
     authcode="XERa23"
     kodop="franta"
     servername="Damis01"
     path="e:/karel/distrscan/senddisp/"
     codeInserted="x1"
     codeIdentified="x2"
     codeRejected="x3"
     codeReclamation="x4"
     codeTimeout="x5"
     codePostponed="x6"
     codeReinserted="x7"
     codeDeleted="x8"
     batchPath="e:\karel\distrscan\processed"
     protocol="ftp"
     DOCUMENT_SERVER="ftp.xyz.cz"
     DOCUMENT_SERVER_PORT="21"
     DOCUMENT_SERVER_USER="franta"
     DOCUMENT_SERVER_PASSWORD="frantovoheslo"
     DOCUMENT_SERVER_PATH="davky/%USER%"
     FTP_MODE="0"
     FTP_CHMOD="0"
     releaseProcessed="0"
     tstresp="0"
     notifyTarget="registry_office"
     normalSchedule="normal_queue"
     outputRules="c:/karel/projects/DamisServer/distrscantests/koop/config/out_rules.xml"
     wfAttribute="1"
     >

<BarCodeExtract input="e:/lc/DMProcessor/repository/input" output="e:/lc/DMProcessor/repository/output" 
   output_error="e:/lc/DMProcessor/repository/output_error" error="e:/lc/DMProcessor/repository/error"
   datasource="xml_smlouvy" timeout="10" useNotifyTarget="1">
testik___SDGFTERfiobnsdhr___058-Korespondence
</BarCodeExtract>


</ExternalSystem>

<InputFilter class=
  "LightComp.DistrScan.RulesDrivenInputFilter.RulesDrivenInputFilterFactory">
<InitialParams>
<Param name="inputFilterRules" value="e:\karel\distrscan\rules.xml">
<Param name="checkUserName" value="damis"/>
<Param name="archiveUserName" value="damis"/>
</InitialParams>
</InputFilter>

<TimeSchedules>
 <TimeSchedule name="vyber_mailu">
  <Time day="mon" start="7:30" stop="15:30"/>
  <Time day="tue" start="7:30" stop="15:30"/>
  <Time day="wed" start="7:30" stop="15:30"/>
  <Time day="thu" start="7:30" stop="15:30"/>
  <Time day="fri" start="7:30" stop="15:30"/>
 </TimeSchedule>
 <TimeSchedule name="normal_queue">
  <Time start="7:00" stop="15:30"/>
 </TimeSchedule>

</TimeSchedules>

<MailDirectory>
 <User name="user" address="user@domain.cz"/>
 <Group name="admins">
  <User ref="user"/>
  <User address="another.user@domain.com"/>
 </Group>
</MailDirectory>

<Jobs>
  <StateReport time="0 * * *" mails="admins" template="statereport.ftl" subject="Damis problems" documentAge="48" target="mail_sender"/>
  <TempCleaner time="0 * * *" ageHours="1"/>
</Jobs>

<InputStatistics clearOlderThan="60">
</InputStatistics>


</Domains>

2. Popis konfigurace

  • Soubor domains.xml obsahuje následující sekce

    1. DamisParams

    2. DocumentTypes

    3. Domain

    4. MailDomains

    5. SequenceGenerators

    6. ExternalSystem

    7. InputFilter

    8. Notify service

2.1. DamisParams

V sekci DamisParams jsou uvedeny základná parametry systému. Parametry jsou zadávány jako dvojice (name,value), kde name je jméno parametru a value je hodnota parametru.

Tabulka 3.1. Globální parametry

NázevHodnotaPovinnost

instanceId

jednoznačné id instance damisu. používá se při komunikaci s externími systémy.

A

batchesDir

adresář, kam jsou ukládány soubory s jednotlivými čísly jednacími

A

temporaryDir

adresář pro pomocné účely, z výkonostních důvodů musí být na stejném disku jako batchesDir ( zatím se nepoužívá :-) )

A

documentSetTimeout

udává životnost zámku dokumentu, pokud je zámek starší, tak je dokument odblokován a uveden do základního stavu, hodnota se udává v minutách

A

areaAttributeName

název atributu popisujícího oblast (area) např. Golem.Area, tento atribut musí být uveden v cmserver2.xml jako ClassAtrribute v popisu příslušného

A

forceBatchId

název atributu s číslem dávky, tento atribut je vkládán do notifikací odesílaných přes notifikační službu

A

documentIdAttributeName

název atributu obsahující hlavní identifikátor dokumentu (číslo jednací), pozn. zatím se využívá pouze v mailové vstupní doméně

A

expertMode

pokud je hodnota 1, jsou zpřístupněny potenciálně nebezpečné funkce (např. hromadné mazání spisů). Parametr je nepovinný.

A

serviceDeadlockDetectionTimeout

čas, za který je interní komponenta damisu považována za uvázlou. Hodnota je udávána v minutách.

A

deletedDocumentsDirectory

adresář, do kterého jsou ukládány vymazané dokumenty.

A

filterCorrected

aplikuje vstupni filtry na spis opravený v Tahiti a odeslaný zpět do Damisu

N


Všechny parametry jsou povinné a musí být zadány

2.2. ServerConnection

V této sekci se definují parametry připojení k serveru pomocí "Tahiti protokolu".

Tabulka 3.2. Parametry ServerConnection

NázevHodnota
serveradresa serveru, odkud se stahuje definice dokumentových typů
portport serveru
useruživatelské jméno
passwordheslo
nohelloPříznak, že se nemá posílat struktura Hello při navazování spojení. Slouží pro zachování kompatibility se starší verzí komunikačního protokolu. Možné hodnoty jsou 0-hello se posílá, 1-hello se neposílá. Atribut není povinný. Pokud není zadán použije se implicitní hodnota 0 (hello se posílá).

Poznámka

Sekce ServerConnection je nepovinná. Pokud není uvedena Damis se k serveru nepřipojuje.

2.3. DocumentTypes

V této sekci se definují atributy spojené s definicí dokumentových typů. Dokumentové typy je možné mít uložené staticky a volitelně provádět jejich aktualizaci ze serveru. Pro aktualizaci typů ze serveru je nutné mít nakonfigurované připojení k serveru viz.2.2 – „ServerConnection“

Tabulka 3.3. Parametry DocumentTypes

NázevHodnota
resourcenázev stahovaného souboru (cmserver2.xml)
pathcesta kde se bude cmserverě.xml ukládat, aplikace musí mít právo zápisu
updateIntervalV jakém intervalu se bude kontrolovat aktuálnost používaného cmserver2.xml, hodnota je v minutách. Pokud je zadná hodnota 0 kontrola se neprovádí.

Poznámka

Atributy path a resource jsou povinné.

Poznámka

při startu musí soubor resource (cmserver2.xml) na dané cestě již existovat.

2.4. SupportedMimeTypes

Sekce SupportedMimeTypes slouží k definici podporovaných mime typů. Pouze dokumenty obsahující stránky s podporovanými mimetypy mohou z Damisu odcházet k dalšímu zpracování. Mime typy jsou kontrolovány vždy při vstupu spisu do Damisu a při vstupu doidentifikovaného spisu. Pokud spis obsahuje při vstupu do damisu stránku s nepodporovaným mimetype jde automaticky na doidentifikaci. Pokud spis obsahuje při vstupu doidentifikovaného dokumentu stránku s nepodporovaným mimetype je odmítnut. Sekce je nepovinná. Pokud není zadána jsou všechny mime typy považovány za podporované. Mime typy jsou zadány ve formě seznamu jednotlivých mimetypů oddělených čárkou.

<SupportedMimeTypes>
  application/pdf,image/jpeg
</SupportedMimeTypes>

2.5. UserNameTransformations

Sekce UserNameTransformations slouží k definici transformací uživatelských jmen vytěžovaných z atributu userAttribute. Pokud sekce není v konfiguračním souboru přítomna transformace jmen se nepoužívá.

<UserNameTransformations path="c:/karel/projects/DamisServer/distrscantests/koop/config/name_transformations.xml" shared="1"/>

Tabulka 3.4. Parametry UserNameTransformations

NázevHodnota
pathcesta k xml souboru obsahujícího transformace uživatelských jmen, pokud soubor pri startu neexistuje je vytvořen
sharedpokud je nastaveno na 1, tak se před každým použitím zjistí jestli nebyl soubor stransformacemi modifikován a pokud ano, tak jsou z něj transformace aktualizovány. Implicitní hodnota je 0.

2.6. FormatConverters

V sekci FormatConverters se definují konverze formátu vstupujících souborů. Konverze musí být povolena v příslušné doméně nastavením atributu convertFiles.

 <FormatConverters>
  <OpenOffice host="localhost" port="8100" /> 
 </FormatConverters>

2.6.1. OpenOffice

Konfigurace konverzí prováděných kancelářským balíkem OpenOffice.org.

Tabulka 3.5. Parametry konverze

Název

Hodnota

Povinnost

host

Adresa počítače, na kterém je spuštěn OpenOfficeDaemon. Pokud není zadáné je použita implicitní hodnota "localhost".

N

port

Port, na které naslouchá OpenOfficeDaemon.

A


Tabulka 3.6. Podporované konverze

Zdrojový formát

Cílový formát

application/vnd.sun.xml.writer

application/pdf

application/vnd.sun.xml.calc

application/pdf

application/vnd.sun.xml.impress

application/pdf

application/vnd.sun.xml.math

application/pdf

application/vnd.sun.xml.draw

application/pdf


2.6.2. ExternalConverter

ExternalConverter provádí konverze pomocí externího spustitelného souboru

Tabulka 3.7. Parametry konverze

Název

Hodnota

Povinnost

from

mimetype zdrojového souboru

A

to

cílový mimetyp

A

path

plná cesta ke spustitelnému souboru, který provádí konverzi

A

params

Parametry konverze. Řetězec, v němž jsou zaměňovány proměnné. Zaměňovány jsou následující proměnné: smime-zdrojový mimetype, tmime-cílový mimetype, src-cesta ke zdrojovému souboru ke konverzi, target-cesta k souboru nebo adresáři s výsledkem konverze

A

minsize

Minimalni velikost souboru, nad kterým se konverze provádí. Pokud je vstupní soubor menší, tak se konverze neprovede.

N

ignoreretcode

Návratový kód ze spustitelného souboru oznamující, že konverze není potřeba. Úspěšně provedená konverze má jako návratový kód 0. Jakákoliv jiná hodnota je pouvažována za chybu s vyjímkou hodnoty zadané v ignoreretcode. Pokud je návratová hodnota ignoreretcode, tak konverze není provedena.

N

group

Název skupiny, do které konvertor patří. Podle příslušnosti do skupin jsou rozděleny vstupní statistiky konverzí. Defaultní hodnota je "ExternalConverter"

N


2.6.2.1. Požadavky na spustitelný soubor

Spustitelný soubor dostane jako parametry obsah params, se zaměněnými proměnnými. Jeho výstupem je buď soubor nebo adresář, pokud se konverzí soubor rozpadne na více souborů. Cesta k výstupnímu souboru nebo adresáři je obsahem proměnné target (zaměňované v řetězci params).

2.7. Domain

V sekci Domain se definuje zdroj dat, odkud vstupují naskenované dávky do systému. Sekcí Domain může být libovolný počet. V současné implementaci vstupují dávky do systému z adresáře.

Atributy:

Tabulka 3.8. Parametry Domain

Název

Hodnota

Povinnost

source

zdrojový adresář, ze kterého vstupují dávky do Damisu

A

name

název po kterým je doména prezentována v systému

A

archive

adresář, kam se archivují naskenované dávky, pokud je hodnota attributu "" dávky se nearchivují

A

defaultArea

produktová oblast, která se použije pokud v docset.xml není definován

A

idgenerator

název generátoru čísel jednacích viz. sequence generátor

A

userAttribute

Název atributu obsahujícího jméno uživatele, který dokument vložil. Hodnota atributu se vytěžuje z vkládaného dokumentu. Pokud není atribut uveden použije se implicitní hodnota "Scan.Prepare". Pokud atribut s tímto názvem není v dokumentu nalezen použije se jako jméno uživatele hodnota "damis"

N

webUserAttribute

Název atributu obsahujícího jméno uživatele, který dokument vložil přes http protokol. Hodnota atributu se vytěžuje z vkládaného dokumentu. Pokud není atribut v dokumentu uveden použije se jméno uživatele vyplněné v požadavku na vložení dávky.

N

extendedCheck

Příznak, zda se má provádět rozšířená kontrola u dávek vkládaných přes http. Možné hodnoty: 0 - standardní kontrola, 1 - rozšířená kontrola, pokud vkládaná dávka obsahuje požadavek na rozšířenou kontrolu, 2 - rozšířená kontrola se provádí vždy. Pokud není atribut uveden použije se implicitní hodnota 0.

N

convertFiles

Příznak, zda se mají konvertovat vstupní soubory pomocí FormatConverteru. Možné hodnoty jsou 0-soubory nejsou konvertovány, 1-soubory jsou konvertovány. Pokud není atribut uveden použije se implicitní hodnota 0

N

onlyArchivable

Příznak, zda je možné přes http rozhraní nahrávat pouze dokumenty, které jdou na přímou archivaci. Možné hodnoty 1-je možné nahrávat pouze dokumenty, které jdou na přímou archivaci. Implicitně není atribut nastaven a mohou být nahrávány i dokumenty určené k doidentifikaci.

N

format

Formát vstupních dat. Možné hodnoty jsou 1 a 2. Formát 1 je původní formát popsaný na SpecifikaceRozhraniDistrSken

Formát 2 je nový formát pro spolupráci se skenery Kodak, Hodnota je nepovinná. Pokud není zadána je použit formát 1.

N

storeInvalidBatch

Možné hodnoty jsou 1 a 0. Pokud je nastaveno na 1, tak dávka, která je při uploadu přes http odmítnuta, je odložena do chybového adresáře. Pokud není atribut uveden použije se implicitní hodnota 0.

N

generateDescriptionXML

Možné hodnoty jsou 1 a 0. Pokud je nastaveno na 1, tak pro dávky, kterée neobsahují soubor description.xml, je před přesunutíim do archivníiho adresáaře dogenerováan. Pokud není atribut uveden použije se implicitní hodnota 0.

N


2.7.1. Notify

O vložené dávce je možné notifikovat externí systémy. Notifikaci je možné odesílat vždy nebo podmíněně na základě obsahu (hodnot atributů) dávky.

2.7.1.1. Notify

Volitelně je možné pomocí tagu <Notify name=""/> nastavit cíle, kam se budou kopírovat soubory description.xml z každé dávky. Atributy:

Tabulka 3.9. Parametry Notify

Název

Hodnota

name

název použitého cíle viz. definice NotifyService


2.7.1.2. CondNotify

Odesílání notifikace na základě obsahu dávky. Rozhodování se provádí pomocí výrazu v jazyce XPATH. Pravidla jsou vyhodnocována sekvenčně od prvního k poslednímu. Pokud je některé pravidlo splněno, tak je vyhodnocování ukončeno. Pokud není žádné pravidlo splněno a je definován atribut default, tak se pošle notifikace do tohoto cíle. Pokud atribut default není definován, tak se nepošle žádná notifikace.

<CondNotify default="pokus_ftp">
  <And name="pokus">
   <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='EXPERTA']" name="pokus"/>
   <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='POJ_UDAL_125']" name="xml_smlouvy_archive"/>
  </And>
  <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='EXPERTA']" name="pokus"/>
  <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='POJ_UDAL_125']" name="xml_smlouvy_archive"/>
  <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='MAJ_UDAL']" name="xml_smlouvy_archive"/>
</CondNotify>
2.7.1.2.1. Druhy pravidel

Mořné je používat následující druhy pravidel

  • Exist

  • And

2.7.1.2.1.1. Exist

Pravidlo Exist složí k otestování existence uzlu ve vstupním xml souboru. Pravidlo je splněno pokud zadaný XPath výraz vrátí alespoň jeden uzel.

Tabulka 3.10. Atributy pravidla Exist

NázevHodnota
xpathXPath 1.0 výraz, který je vyhodnocen nad vstupním xml souborem.
namenázev cíle, do kterého má být poslána notifikace. pokud je pravidlo pouzžito jako vnitřní výraz pravidla And, tak se atribut name nepoužije

2.7.1.2.1.2. And

Pravidlo And slouží k otestování platnosti několika podmínek současně. Pravidlo je splněno pouze pokud jsou splněny všechny podmínky Exist, ze kterých je složeno.

Tabulka 3.11. Atributy pravidla And

NázevHodnota
namenázev cíle, do kterého má být poslána notifikace

2.7.2. Routes

V této sekci jsou definována pravidla, pomocí nichž je možné přesunout celou dávku ze vstupního adresáře do jiného adresáře a vyloučit ji tak ze zpracování v Damisu. Sekce je volitelná. Pravidla jsou vyhodnocována sekvenčně od prvního k poslednímu. Pokud je některé pravidlo splněno, tak je vyhodnocování ukončeno. Pokud není žádné pravidlo spněno, dávka postupuje na zpracování do Damisu. Pravidla jsou vyhodnocována nad souborem description.xml obsahujícím popis celé dávky.

2.7.2.1. Druhy pravidel

Mořné je používat následující druhy pravidel

  • Exist

  • And

2.7.2.1.1. Exist

Pravidlo Exist složí k otestování existence uzlu ve vstupním xml souboru. Pravidlo je splněno pokud zadaný XPath výraz vrátí alespoň jeden uzel.

Tabulka 3.12. Atributy pravidla Exist

NázevHodnota
xpathXPath 1.0 výraz, který je vyhodnocen nad vstupním xml souborem.
tohodnota, která je vložena do proměnné ROUTE, pokud je pravidlo splněno.

2.7.2.1.2. And

Pravidlo And slouží k otestování platnosti několika podmínek současně. Pravidlo je splněno pouze pokud jsou splněny všechny podmínky Exist, ze kterých je složeno.

Tabulka 3.13. Atributy pravidla And

NázevHodnota
tohodnota, která je vložena do proměnné ROUTE, pokud je pravidlo splněno.

2.7.2.2. Příklad Routes

V následujícím příkladu je demonstrováno použití pravidla Exist.

Příklad 3.1. Příklad Routes

    <Routes default="default"> 
         <Exist xpath="/Batch/DocumentSets/DocumentSet/Document/Attributes/Attribute[@name='Golem.Area' and @value='EXPERTA']" to="c:/redirected"/>
    </Routes>

První pravidlo je splněno pokud vstupní xml soubor obsahuje cestu <Batch><DocumentSets><DocumentSet><Document><Attributes><Attribute name="Golem.Area" value="EXPERTA">


2.7.3. <ForceAttribute>

Volitelně je možné v sekci <ForceAttribute> nastavit atributy, které budou vloženy do každého dokumentu.

Tabulka 3.14. Význam atributu <ForceAttribute>

NázevHodnota
namenázev vkládaného atributu
valuehodnota vkládaného atributu

2.7.3.1. Attributes influencing processing in Tahiti

Following attributes affects processing packages in Tahiti

Tabulka 3.15. attributes

AttributeValue
Damis.CheckPagesforce all pages to be checked
  • 0 - doesn't check pages ( default value when attribute is missing )

  • 1 - check pages

Damis.InputFilterapply input filter to pages ( Damis.CheckPages has to be set to 1 )
  • 0 - no input filter ( default value when attribute is missing )

  • 1 - filter onreceived

  • 2 - filter on first open

  • 3 - filter on first received and first open

Damis.AllowDeleteallow deletion of document from Damis ( send delete command from Tahiti to Damis )
  • 0 - cannot delete from Damis ( default value when attribute is missing)

  • 1 - allow to delete delete document from Damis

Damis.AllowExportallow export of pages from Damis
  • 0 - cannot export pages from Tahiti ( default value when attribute is missing )

  • 1 - allow to export pages from Tahiti

Damis.Prioritypriority of document, documents with higher priority a placed before documents with lower priority in tree of documents, default priority is 0

2.7.4. SupportedMimeTypes

Sekce SupportedMimeTypes slouží k definici podporovaných mime typů (rozšíření k podporovaným mimetypům na úrovni celého serveru ). Pouze dokumenty obsahující stránky s podporovanými mimetypy mohou být do Damisu vloženy. Mime typy jsou kontrolovány vždy při vstupu spisu do Damisu přes http rozhraní. Pokud spis obsahuje při vstupu do Damisu stránku s nepodporovaným mimetype je celá dávka odmítnuta. Sekce je nepovinná. Pokud není zadána kontrolují se pouze mimetypy platné na úrovni celého serveru. Mime typy jsou zadány ve formě seznamu jednotlivých mimetypů oddělených čárkou. Mimetypy se kontrolují pouze pokud je nastaven příznak onlyArchivable.

<SupportedMimeTypes>
  application/pdf,image/jpeg
</SupportedMimeTypes>

2.8. MailDomains

  • V sekci MailDomains se se definují monitorované mailové schránky, jejichž obsah je zpracováván systémem Damis. Pro všechny monitorované schránky jsou následující atributy společné.

    Tabulka 3.16. Parametry MailDomains

    Název

    Hodnota

    documentType

    název dokumentového typu, který bude přiřazen dokumentu vytvořenému z mailu.

    textEncoding

    název kódování, do kterého budou převedeny textové soubory

    attributeMapping

    název souboru s popisem mapování atributů nalezených v těle mailu

    fromAttributeName

    název atributu obsahující obsah hlavičky mailu From

    dateAttributeName

    název atributu obsahujícího datum a čas odeslání mailu


    AttributeMappings

    • Atribut attributeMapping obsahuje název souboru, který obsahuje popis mapování atributů nalezených v těle mailu na atributy, které se používají v archivačním systému. Ukázka souboru idents.map.xml

    <?xml version="1.0"?>
    <IdentsMap>
      <Ident name="CPS_CPU" mapped="CSU"/>
      <Ident name="Document.type" mapped="DT">
        <Value value="POJ_168___SDGFTERfiobnsdhr___007-Fotodokumentace" mapped="POJ_168_007"/>
      </Ident>
    </IdentsMap>
    
  • Ident

    • V sekci Ident se nastavuje mapování názvu jednoho atributu. Mapování se nastavuje pomocí následujících atributů.

    Tabulka 3.17. Parametry Ident

    Název

    Hodnota

    name

    název atributu v archivačním systému

    mapped

    název atributu použitý v těle mailu


    • Všechny atributy jsou povinné.

    Value

    • Mapovat lze také hodnoty atributů (vhodné pro výčtové typy např. dokumentový typ).

    Tabulka 3.18. Parametry Value

    Název

    Hodnota

    value

    hodnota atributu v archivačním systému

    mapped

    hodnota atributu použitá v těle mailu


    • Všechny atributy jsou povinné.

2.8.1. MailDomain

  • V sekci MailDomain jsou definovány parametry pro monitorování jedné mailové schránky.

    Tabulka 3.19. Parametry MailDomain

    Název

    Hodnota

    name

    název domény, musí být jedinečný pres všechny domény

    username

    uživatelské jméno pro přístup do monitorované schránky

    password

    heslo

    host

    adresa mailového serveru

    folder

    monitorovaná složka

    errorFolder

    Složka, do které jsou přesouvány maily, které systém neumí zpracovat. Může být definován poze jeden z atributů errorFolder nebo errorTarget. Nemohou být použity současně.

    errorTarget

    Název cíle, do kterého jsou přesouvány maily, které systém neumí zpracovat (cíl musí být definován v NotifyService). Může být definován poze jeden z atributů errorFolder nebo errorTarget. Nemohou být použity současně.

    deleteTarget

    název cíle, do kterého jsou přesouvány maily, které uživatel vymazal pomocí Tahiti (cíl musí být definován v NotifyService). Atribut je nepovinný. Pokud není definová jsou mazané maily ukládány na disk do adresáře s vymazanými spisy.

    idgenerátor

    název generátoru poslopnosti čísel jednacích

    forceId

    1-vkládá hodnotu vygenerovanou idgenerátorem do atributu documentIdAttributeName, 0-hodnotu nevkládá

    dropMailBody

    1-do dokumentu nevkládá tělo mailu, pouze přílohy ( pokud mail neobsahuje přílohu je přesunut do chybové složky ) 0-vkládá tělo mailu do dokumentu ( defaultní hodnota )

    areahodnota oblasti, atribut je vkládán do databáze Damisu a je odesílán do DISPu.
    scheduleNázev existujícího TimeSchedule popisující čas, kdy má být mailová schránka vybírána. Atribut je volitelný. Pokud není použit je mailová schránka monitorována permanentně.
    attributeFormatNázev formátu v jakém jsou zakódovány atributy v hlavičkách nebo těle mailu. Atribut je nepovinný. Pokud není použit atributy se z mailu nevytěžují. Formáty:
    • ais-servis - atributy jsou ve formátu $a:nazev:hodnota, musí být definován další atribut secret, který obsahuje suffix používaný při generování kontrolního součtu.

    • lc - atributy jsou ve formátu nazev:hodnota

    previewPříznak, zda se má generovat náhled mailu. Náhled je tělo mailu bez příloh uložené do atributu "Document.mail.header". Možné hodnoty jsou 0-náhled se negeneruje, 1-náhled se generuje. Atribut není povinný. Pokud není zadán použije se implicitní hodnota 0.
    archiveCesta k adresáři, do kterého budou archivovány příchozí maily. Atribut je nepovinný. Pokud není definován, příchozí maily nejsou archivovány.

2.8.1.1. PostNotify

Volitelně je možné v sekci <PostNotify> nastavit cíle, kam se posílají soubory description.xml vygenerované z identifikovaného dokumentu. Attributy:

Tabulka 3.20. Význam atributů <PostNotify>

NázevHodnota
namenázev použitého cíle viz. definice NotifyService

2.8.1.2. <ForceAttribute>

Volitelně je možné v sekci <ForceAttribute> nastavit atributy, které budou vloženy do každého dokumentu.

Tabulka 3.21. Význam atributu <ForceAttribute>

NázevHodnota
namenázev vkládaného atributu
valuehodnota vkládaného atributu

2.8.1.2.1. Attributes influencing processing in Tahiti

Following attributes affects processing packages in Tahiti

Tabulka 3.22. attributes

AttributeValue
Damis.CheckPagesforce all pages to be checked
  • 0 - doesn't check pages ( default value when attribute is missing )

  • 1 - check pages

Damis.InputFilterapply input filter to pages ( Damis.CheckPages has to be set to 1 )
  • 0 - no input filter ( default value when attribute is missing )

  • 1 - filter onreceived

  • 2 - filter on first open

  • 3 - filter on first received and first open

Damis.AllowDeleteallow deletion of document from Damis ( send delete command from Tahiti to Damis )
  • 0 - cannot delete from Damis ( default value when attribute is missing)

  • 1 - allow to delete delete document from Damis

Damis.AllowExportallow export of pages from Damis
  • 0 - cannot export pages from Tahiti ( default value when attribute is missing )

  • 1 - allow to export pages from Tahiti

Damis.Prioritypriority of document, documents with higher priority a placed before documents with lower priority in tree of documents, default priority is 0

2.8.1.3. <ExcludeMails>

Volitelně je možné v sekci <ExcludeMails> definovat pravidla pro přesun mailu do chybové složky na základě textu obsaženého v těle mailu. Vyhledávaný řetězec se definuje jako obsah tagu <Text>. Tagů <Text> může být deinován libovolný počet. Mail je přesunut do chybové složky pokud je nalezen alespoň jeden řetězec.

2.9. DataSources

V této sekci se definují datové zdroje, které jsou monitorovány a jejich obsah je přenášen pomocí NotifyService do definovaných cílů. Součástí konfigurace každého zdroje je seznam cílů, do kterých mají být data ze zdroje posílána. Každý cíl je zapsán ve formátu <Target name=""/>. Atribut name obsahuje jméno cíle definovaného v NotifyService.

2.9.1. FtpDataSource

FtpDataSource monitoruje zadaný adresář a přenáší z něj xml soubory do zadaného cíle

Tabulka 3.23.

NázevHodnota
namenázev zdroje
sourcecesta k adresáři, který je monitorován

2.9.1.1. Routes

V této sekci jsou definována pravidla, podle kterých je určeno, kam bude xml soubor uložen. Pravidla jsou vyhodnocována sekvenčně od prvního k poslednímu. Pokud je některé pravidlo splněno, tak je vyhodnocování ukončeno. Pokud není žádné pravidlo spněno, použije se defaultní hodnota. Výsledek je uložen do proměnné ROUTE, která pak může být použita ke konstrukci cesty, kam má být vstupní soubor uložen.

2.9.1.1.1. Druhy pravidel

Mořné je používat následující druhy pravidel

  • Exist

  • And

2.9.1.1.1.1. Exist

Pravidlo Exist složí k otestování existence uzlu ve vstupním xml souboru. Pravidlo je splněno pokud zadaný XPath výraz vrátí alespoň jeden uzel.

Tabulka 3.24. Atributy pravidla Exist

NázevHodnota
xpathXPath 1.0 výraz, který je vyhodnocen nad vstupním xml souborem.
tohodnota, která je vložena do proměnné ROUTE, pokud je pravidlo splněno.

2.9.1.1.1.2. And

Pravidlo And slouží k otestování platnosti několika podmínek současně. Pravidlo je splněno pouze pokud jsou splněny všechny podmínky Exist, ze kterých je složeno.

Tabulka 3.25. Atributy pravidla And

NázevHodnota
tohodnota, která je vložena do proměnné ROUTE, pokud je pravidlo splněno.

2.9.1.1.2. Příklad Routes

V následujícím příkladu je demonstrováno použití pravidel Exist a And..

Příklad 3.2. Příklad Routes

    <Routes default="default">
      <Exist xpath="/davka/pojistka[starts-with(@cps,'5')]" to="5" /> 
      <And to="0">
        <Exist xpath="/davka/pojistka[@typ_zaznamu='N']" /> 
        <Exist xpath="/davka/pojistka/klient[@stprisl='CZE']" /> 
      </And>
    </Routes>

První pravidlo ( Exist ) je splněno pokud vstupní xml soubor má strukturu <davka> .. <pojistka cps="5.."> .. </pojistka> .. </davka>


Druhé pravidlo ( And) je splněno pokud vstupní xml soubor obsahuje strukturu <davka> .. <pojistka typ_zaznamu="N"> .. </pojistka> .. </davka> a současně obsahuje strukturu <davka> .. <pojistka> .. <klient stprisl="CZE"> </klient> .. </pojistka> .. </davka>.

2.10. SequenceGenerators

V této sekci se definují jednotlivé generátory posloupností čísel jednacích. Genruje se číslo jednací ve formátu prefix+číslo. Číselná část se vždy po vyžádání zvyšuje o jedničku.

Sequence generator

  • Definice jedné posloupnosti čísel jednacích. Posloupnost je určena následujícími atributy.

    Tabulka 3.26. Parametry SquenceGenerator

    Název

    Hodnota

    name

    název generátoru, musí být v systému jednoznačný

    prefix

    prefix generovaného čísla jednacího

    length

    délka generovaného čísla jednacího včetně prefixu.


2.11. ExternalSystem

V sekci ExternalSystem jsou parametry sytému, který přijímá notifikace o událostech vzniklých během zpracování dávek. Atribut class určuje název třídy implementující systém zpracování událostí. Parametry jsou zadávány jako dvojice (name,value), kde name je jméno parametru a value je hodnota parametru. Se systémem dodávaná implementace LightComp.DistrScan.Disp.DispMessage.DispMessageProcessorFactory realizuje generování dávek ve formátu průvodka.in a zasílání zpráv do DISPu.

2.11.1. Parametry dispu

V následující tabulce jsou parametry pro nastavení komunikace s Dispem

Tabulka 3.27. Parametry DISPu

Název

Hodnota

host

ip adresa DISPu

port

port DISPu

authcode

autorizační kód

kodop

kód operátora

servername

jméno serveru DAMIS pro odlišení při použití více DAMISů

path

cesta k programu senddisp.exe !! včetně zpětného lomítka

codeInserted

kód operace vložení DocumentSetu do systému

codeIdentified

kód operace DocumentSet byl zpracován

codeRejected

kód operace DocumentSet byl odmítnut uživatelem (doidentifikace)

codeReclamation

kód operace DocumentSet byl odeslán k reklamaci

codeTimeout

kód operace DocumentSetu vypršel časový zámek

codePostponed

kód operace DocumentSetu uživatel si odložil zpracování na pozdější dobu

codeReinsert

kód operace DocumentSetu uživatel z reklamačního pracoviště znovu vložil spis do Damisu

codeDeleted

kód operace DocumentSetu dokument byl vymazán na žádost externího systému.

codeMoved

kód operace DocumentSetu dokument byl přesunut mimo Damis na žádost externího systému.

releaseProcessed

2-automaticky převádí zpracované spisy, které šly na přímou archivaci, ze stavu PROCESSED do stavu RELEASED, 1-automaticky převádí zpracované spisy ze stavu PROCESSED do stavu RELEASED, 0-nechává zpracované spisy ve stavu PROCESSED

tstresp

1 - zprávy do DISPu obsahují navíc parametr --tstresp, rozšiřující seznam vracených chybových kódů, 0 - bez parametru --tstresp

notifyTarget

Cíl, do kterého se má posílat požadavek na vymazání dokumentu.

protocol

Komunikační protokol používaný pro přenos dat na server. Možnosti jsou ftp nebo tahiti. Protokol má další konfigurační parametry uvedené v následující tabulce.

outputRules

Soubor s výstupními pravidly určujícími jestli bude pro odesílání použita normální nebo prioritní fronta. Pokud není použito, jsou všechny dokumenty odesílány přes normální frontu.

normalSchedule

Název TimeSchedule určujícího, kdy je aktivní normální fronta. Pokud není použito je normální fronta aktivní stále.

wfAttribute

Pokud je nastaveno na 1, tak do dispu posílá v atributu doc_area hodnotu atributu Scan.WorkFlow místo oblasti.


2.11.2. Odesílání pomocí ftp protokolu

Zpracované dokumenty je možné odesílat na server pomocí ftp protokolu. Dokument je uložen do vlastního adresáře a je k němu vygenerována průvodka ve formátu pruvodka.in. V následující tabulce jsou atributy konfigurace odchozího kanálu pro odesílání dokumentů pomocí ftp protokolu.

Tabulka 3.28. Atributy specifické pro ftp protokol

NázevVýznam

batchPath

adresář, kam jsou zapisovány vygenerované dávky ve formátu "pruvodka.in" k dalšímu zpracování

DOCUMENT_SERVER

adresa ftp serveru, kam se odesílají zpracované dávky

DOCUMENT_SERVER_PORT

port ftp serveru

DOCUMENT_SERVER_USER

uživatelský účet na ftp serveru

DOCUMENT_SERVER_PASSWORD

heslo k uživatelskému účtu na ftp serveru

DOCUMENT_SERVER_PATH

cesta k adresáři, kam jsou ukládány nové dávky. V řetězci je zaměňována proměnná USER (%USER%). Hodnotou proměnné je jméno uživatele, který převedl dávku do stavu PREPROCESSED. Při automatické archivaci je použito jméno archiveUserName z nastavení inputFilter

FTP_MODE

režim spojení 0-pasivní, 1-aktivní

FTP_CHMOD

pokud je uvedeno, jsou změněna přístupová práva k adresáři, ve kterém je uložena nová dávka


2.11.3. Odesílání pomocí tahiti protokolu

Zpracované dokumenty je možné na server odesílat přes tahiti protokol. Damis se v tomto případě chová stejným způsobem jako Tahiti. V následující tabulce jsou atributy konfigurace odchozího kanálu pro zasílání dokumentů pomocí Tahiti protokolu.

Tabulka 3.29. Atributy specifické pro ftp protokol

NázevVýznam

filterAttributes

Příznak zda mají být výstupní atributy filtrovány. Možné hodnoty 0-atributy nejsou fitrovány, odeslány jsou všechny atributy dokumentu. 1-atributy jsou filtrovány a odeslány jsou pouze atributy, které jsou uvedeny v dokumentovém typu odesílaného dokumentu.

Výchozí hodnota je 1.


.

2.11.3.1. Odesílané atributy

Pokud je nastaveno filtrování atributů je možné odesílat na server další atributy, které nejsou součástí dokumentového typu odesílaného dokumentu. Seznam atributů, které mají být odesílány je nutné explicitně vyjmenovat. V následujícím příkladu je uvedeno jak odesílat atributy Scan.Prepare a Damis.User. Parametr Damis.User je vkládán Damisem před odesláním dokumentu.

<SendAttributes>
 <Attribute name="Scan.Prepare"/>
 <Attribute name="Damis.User"/>
</SendAttributes>
2.11.3.2. Reakce na chybové stavy

Server může spis odmítnout a Damis se v tom případě pokouší o opakované odesílání. Pro některé typy chyb může být vhodnější spis přesunout do chybové fronty a pokračovat v odesílání dalších dokumentů a zpracování dokumentu odložit až do vyřešení problému. O tom zda spis přesunout do chybové fronty je možné rozhodovat na základě prefixu chybových zpráv vracených ze serveru. Pokud chybová zpráva začíná uvedeným prefixem celý spis je přesunut do chybové fronty. Pokud spis obsahuje více dokumentů je součástí uložené informace v chybové frontě index naposledy odeslaného dokumentu. Po přesunutí dokumentu zpět do odesílací fronty se s odesíláním začne až od tohoto dokumentu (již odeslané dokumenty tedy nejsou odeslány znova).

<ErrorPrefixes>
 <Prefix value="0022"/>
 <Prefix value="0301"/>
</ErrorPrefixes>

Hodnota prefixu je uvedena v tagu <Prefix> v atributu value. Prefixy jsou porovnávány ve stejném pořadí v jakém jsou zapsány. Pokud mají prefixy různou délku je nutné vhodné uvést delší prefixy dříve než kratší.

2.11.4. Vytěžení čárových kodů

Před odesláním dokumentu k archivaci je možné z něj vytěžit čárové kódy pomocí externí aplikace. Parametry externí aplikace se konfigurují v sekci <BarCodeExtract>. Čárové kody se vytěžují pouze z dokumentů specifikovaného dokumentového typu. Dokumentové typy jsou zadány jako čárkou oddělený seznam uvnitř tagu <BarCodeExtract>.

<BarCodeExtract input="e:/lc/DMProcessor/repository/input" output="e:/lc/DMProcessor/repository/output" 
   output_error="e:/lc/DMProcessor/repository/output_error" error="e:/lc/DMProcessor/repository/error"
   datasource="xml_smlouvy" timeout="10">
testik___SDGFTERfiobnsdhr___058-Korespondence
</BarCodeExtract>

Tabulka 3.30. Parametry BarCodeExtract

Název

Hodnota

input

cesta k adresáři, kam bude vložena první stránka dokumentu k vytěžení čárových kodů

output

cesta k adresáři, kam externí aplikace vloží xml s vytěženým čárovým kodem

output_error

cesta k adresáři, kam externí aplikace uloží obsah čárového kodu, který se nepodařilo správně interpretovat

error

cesta k adresáři, kam externí aplikace zkopíruje vstupní soubor, pokud z něj není možné vytěžit čárový kod

timeout

doba v minutách, po kterou je pozdrženo odeslání dokumentu do archivu. Pokud do té doby není vytěžen čárový kod, dokument je odeslán.

datasource

název datasource, do kterého je odeslán vytěžený čárový kod

useNotifyTarget

pokud je nastaveno na 1, tak je ke vkládání stránky do vstupního adresáře použit NotifyTarget, vhodné pouze pokud je adresář na jiném počítači.


2.11.5. Určování priority výstupu (output rules)

Určení výstupní fronty (normální nebo prioritní), která bude použita pro odeslání dokumentu. K rozhodování se používají pravidla ve stejném formátu jako InputFilter.

<Rules defaultRule="normal">
 
 <Rule name="Manually identified" target="priority" match="any">
  <Equal attribute="Damis.processingType" value="MANUAL_IDENTIFICATION"/>
 </Rule>

 <Rule name="Priority domain" target="priority" match="any">
  <Equal attribute="Damis.domain" value="domain1"/>
  <Valid attribute="CPS_CPU" pattern="^1.*"/>
 </Rule>

</Rules>
2.11.5.1. Dostupné cíle

Dokument může být směrován do jedné ze dvou front

  • normal - normální fronta

  • priority - prioritní fronta

2.11.5.2. Pomocné atributy

Kromě atributů dokumentu je pro rozhodování možné použít následující atributy.

  • Damis.processingType - určuje jestli byl dokument určen k přímé archivaci nebo k doidentifikaci, možné hodnoty jsou: MANUAL_IDENTIFICATION, DIRECT_ARCHIVATION

  • Damis.domain - jméno domény, ze které dokument pochází

2.12. InputFilter

V sekci InputFilter je definice filtru vstupních dávek. Parametry filtru jsou zadávány jako dvojice (name,value), kde name je jméno parametru a value je hodnota parametru. Se systémem dodávaná implementace LightComp.DistrScan.Disp.RulesDrivenInputFilter.RulesDrivenInputFilterFactory realizuje filtrování podle uživatelem zadaných pravidel.

Tabulka 3.31. Parametry InputFilter

Název

Hodnota

inputFilterRules

cesta k souboru s pravidly pro filtrování


2.13. NotifyService

V sekci NotifyService je definice cílů, kam se mají posílat notifikace o vstupujících dávkách. Notifikace jsou přenášeny ve formě souborů. Přenos je možný přes souborový systém, ftp, sftp, http, smtp a imap.

Společné atributy

Tabulka 3.32. Parametry NotifyService

Název

Význam

name

název cíle

protocol

přenosový protocol (file,ftp,sftp,http_description)

path

cesta na cílovém systému, kam se budou notifikace ukládat

temp

cesta k adresář, kam se ukládají soubory než jsou odeslány na cílový systém


Atributy specifické pro FTP

Tabulka 3.33. Parametry Target-ftp

Název

Význam

username

uživatelské jméno pro přihlášení

password

heslo pro přihlášení

server

adresa serveru

port

port serveru ( default 21)

chmod

pokud je uveden jsou práva adresářů vytvářených na cílovém systému měněna na tuto hodnotu

mode

0-pasivní, 1-aktivní


Atributy specifické pro SFTP

Tabulka 3.34. Parametry Target-sftp

Název

Význam

username

uživatelské jméno pro přihlášení

password

heslo pro přihlášení

server

adresa serveru

port

port serveru ( default 2ě)

chmod

pokud je uveden jsou práva adresářů vytvářených na cílovém systému měněna na tuto hodnotu ( v současné implementaci nefunguje)


Atributy specifické pro http_description

Pomocí protokolu http_description se přenáší pouze soubor description.xml. Používá se pro komunikaci se spisovou službou. Soubor description může obsahovat příkaz pro vložení dávky do spisové služby nebo příkaz pro vymazání dokumentu ze spisové služby.

Tabulka 3.35. Parametry Target-http_description

Název

Význam

erroDirectory

adresář, kam se odkládají soubory description.xml, pokud je server odmítne např. kvůli kolizi čísla jednacího


Atributy specifické pro ftp_copy

Používá se pro přenos xml souborů s vytěženými daty smlouvy.

Tabulka 3.36. Parametry Target-ftp

Název

Význam

username

uživatelské jméno pro přihlášení

password

heslo pro přihlášení

server

adresa serveru

port

port serveru ( default 21)

mode

0-pasivní, 1-aktivní


2.13.1. Definice cíle typu mail

Používá se pro odesílání mailů

Tabulka 3.37. Parametry mail

Název

Význam

from

odesílatel mailu

host

adresa serveru


2.13.2. Definice cíle typu imap

Používá se pro vložení mailu do imap složky

Tabulka 3.38. Parametry imap

Název

Význam

user

uživatelské jméno mailového účtu

password

heslo k mailovému účtu

server

adresa serveru


2.13.3. Definice cíle typu file

Používá se pro ukládání na souborový systém. Standardně se pro každou událost vytváří nový adresář. Po nakopírování všech souborů se vytvoří příznakový soubor s naázvem "complete", Společný atribut path může obsahovat proměnné %YEAR%, %MONTH%, %DAY%. Tyto proměnné jsou při vytváření cesty na disku nahrazeny příslušnými hodnotami aktuálního datumu.

Tabulka 3.39. Parametry file

Název

Význam

nodirectory

Pokud je nastaveno na hodnotu 1, tak se pro událost nevytváří nový adresář a nevytváří se soubor complete. Jména souborů jsou pozměněna ( mezi název a příponu je vložena náhodná sekvence ), aby nedocházelo ke kolizím.

prefix

Platné pouze v kombinaci s nodirectory="1". Pokud je nastaveno na hodnotu 1, tak se zmeni formát vytváření jmen souborů. Soubory jsou pojmenovány tak že začínají náhodnou sekvenci a pak jméno souboru. Náhodná sekvence začíná řetězcem specifickým pro zdroj notifikace (např. pokud je zdrojem vstupní doména, tak řetězec obsahuje číslo dávky ).


2.13.4. Definice cíle typu robot

Používá se pro komunikaci s aplikací robot

Tabulka 3.40. Parametry file

Název

Význam

errorDirectory

Cesta k chybovému adresáři, kam se ukládají soubory odmítnuté robotem.


2.14. TimeSchedules

V této sekci se definují časové rozvrhy, pomocí kterých je možné určovat, kdy je komponenta aktivní. Každý rozvrh je definován pomocí časových intervalů v rámci dne. Na následujícím příkladu je definice časového rozvrhu pro výběr mailové schránky. Mailová schránka se bude vybírat každý pracovní den od 7:30 do 15:30.

<TimeSchedules>
 <TimeSchedule name="vyber_mailu">
  <Time day="mon" start="7:30" stop="15:30"/>
  <Time day="tue" start="7:30" stop="15:30"/>
  <Time day="wed" start="7:30" stop="15:30"/>
  <Time day="thu" start="7:30" stop="15:30"/>
  <Time day="fri" start="7:30" stop="15:30"/>
 </TimeSchedule>
</TimeSchedules>

2.14.1. TimeSchedule

TImeSchedule definuje jeden časový rozvrh určený svým jménem.

Tabulka 3.41. Atributy TimeSchedule

NázevVýznam
nameNázev časového rozvrhu, přes který se na něj odkazují komponenty, které chtějí omezit svou činnost pouze na určitý čas.

2.14.2. TimeInterval

V tagu TimeInterval se definují jednotlivé časové intervaly TimeSchedule.

Tabulka 3.42. Atributy TimeInterval

NázevVýznam
dayDen v týdnu, kdy je se daný interval uplatňuje. Atribut není povinný. Pokud není použit interval se uplatňuje libovolný den. Možné hodnoty jsou sun,mon,tue,wed,thu,fri,sat.
startPočátek intervalu ve formátu hh:mm.
stopKonec intervalu ve formátu hh:mm.

2.15. MailDirectory

V této sekci se definují seznamy mailových adres, které využívají další komponenty pro rozesílání mailů.

<MailDirectory>
 <User name="user" address="user@domain.cz"/>
 <Group name="admins">
  <User ref="user"/>
  <User address="another.user@domain.com"/>
 </Group>
</MailDirectory>

V MailDirectory mohou být definovány dva typy seznamu uživatelů:

  • User

  • Group

2.15.1. User

Definice jedné mailové adresy.

Tabulka 3.43. Attributy user

NázevVýznam
nameNázev mailové adresy. Pomocí tohoto názvu se na adresu odkazují komponenty, které ji využívají.
addressVlastní mailová adresa.


2.15.2. Group

Definice skupiny mailových adres.

Tabulka 3.44. Atributy Group

NázevVýznam
nameNázev skupiny mailových adres. Pomocí tohoto názvu se na skupinu adres odkazují komponenty, které ji využívají.


Součástí Group je definice jednotlivých adres User, ze kterých se skupina skládá. Adresa může být zadána přímo nebo jako reference na již dříve definovanou adresu User. Mezi přímo zadanou adresou a referencí se rozlišuje podle atributu u tagu User.

Tabulka 3.45. Atributy User

NázevVýznam
addressPřímo zadaná mailová adresa.
refReference na již uvedenou adresu. User s atributem name se stejnou hodnotou musí existovat.


2.16. Jobs

V této sekci se zadávají úĺohy, kter0 jsou opakovaně spouštěné v určitý čas.

2.16.1. Formát zadání času

Čas kdy se má úloha spustit se zadává jako textový řetězec obsahující 4 části: minuty, hodiny, dny měsíce (obdoba cron). Při vyhodnocování musí být splněn výraz ve všech čtyřech částech současně ( operátor and). V jednotlivých částech může být zapsáno několik výrazů oddělených čárkou. Výraz části je splněn pokud je splněn aspoň jeden výraz ze seznamu výrazů (operátor or).

Tabulka 3.46.

Jednotka časuMožné hodnoty
minuty
  • * každou minutu

  • 5 - konkrétní čas, pátá minuta

  • 5-10 - intrval, minuty 5,6,7,8,9,10

hodiny
  • * každou hodinu

  • 5 - konkrétní čas, pátá hodina

  • 5-10 - intrval, hodiny 5,6,7,8,9,10

dny
  • * každý den

  • 7 - konkrétní den v měsíci, sedný dentue

  • 7-12 - interval, dny 7,8,9,10,11,12

  • den v týdnu - možné hodnoty mon, tue, wed, thu, fri, sat, sun

  • interval dní v týdnu - mon-fri pondělí až pátek

  • L - poslední den v měsíci

měsíce
  • * - každý měsíc

  • konkrétní měsíc - možné hodnoty jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec

  • interval měsíců - jan-mar, březen až duben


2.16.1.1. Příklady

Tabulka 3.47. Příklady zadání času

PříkladVysvětlení
* * * *každou minutu
5 * * *každou pátou minutu v hodině
5 10 * *v deset hodin a pět minut
5 10 mon *každé pondělí v deset hodin a pět minut
5 10 mon-fri *každý pracovní den v deset hodin a pět minut


2.16.2. StateReport

Tato úloha slouží k posílání oznámení o potenciálních problémech, které nejsou monitorovány nagiosem. Je tak možné sledovat výskyt následujících stavů:

  • Spisy nezpracované déle než zadaný čas.

  • Přítomnost nekompletní dávky ve vstupním adresáři ( dávka je považována za nekompletní, pokud v jejím adresář neexistuje soubor complete a adresář je starší než 10 minut).

  • Přítomnost vadných spisů v chybovém adresáři.

Tabulka 3.48. Atributy StateReport

NázevVýznam
timečas, kdy je úloha spuštěna
mailsodkaz do MailDirectory na seznam adres, na které má být poslán mail se stavem Damisu
templateNázev souboru se vzorem, ze kterého je mail vygenerován
subjectSubject mailu
documentAgeDokumenty starší než tato hodnota jsou považovány za nezpracované včas.
targetNotifyTarget, do kterého je zpráva posílána.

2.16.2.1. Template

Pro generování těla mailu se používá knihovna FreeMarker. Výsledný mail je vygenerován ze šablony a vstupních parametrů šablony. Následující objekty je možné používat ve FreeMarkerovské šabloně.

Tabulka 3.49. Objekty vstupující do FreeMarker šablony

ObjektTypVýznam
domainsList<DomainState>seznam skenovacích domén (seznam objektů DomainState)
numPreprocessedIntegerpočet dokumentů ve stavu PREPROCESSED starších než documentAge
numUnlockedIntegerpočet dokumentů ve stavu UNLOCKED starších než documentAge
numReservedIntegerpočet dokumentů ve stavu RESERVED starších než documentAge
oldDocumentsList<DocumentSet>seznam spisů ( seznam objektů typu DocumentSet) ve stavu UNLOCKED nebo PREPROCESSED starších než documentAge. Dokumenty jsou seřazeny od nejstaršího.
instanceIdStringInstance id Damisu


Tabulka 3.50. Atributy objektu DomainState

AtributTypVýznam
nameStringnázev domény
existErrorBooleanv chybovém adresáři domény jsou vadné spisy
incompleteBatchesList<String>seznam čísel nekompletních dávek


Tabulka 3.51. Atributy objektu DocumentSet

AtributTypVýznam
docSetIdStringid spisu
stateStringStav spisu
insertedTimeDatum a čas vložení spisu do Damisu.
lastManipulationTimeDatum a čas poslední manipulace se spisem.
usernameStringUživatel, který jako poslední manipuloval se spisem.


2.16.3. TempCleaner

Tato úloha slouží k mazání pomocných souborů vzniklých při práci Damisu.

Příklad konfigurace. Pomocné soubory starší než hodina se smažou v jednu hodinu v noci.

 <TempCleaner time="0 1 * *" ageHours="1"/>

Tabulka 3.52. Atributy TempCleaner

AtributVýznam
timečas, kdy je úloha spuštěna
ageHoursstáří souborů v hodinách, které budou smazány ( smažou se soubory starší než ageHours počítáno od aktuálního času)

2.16.4. ScriptJob

Tato úloha slouží ke spouštění skriptu v jazyce javascript v zadaný čas.

Příklad konfigurace. Spouštění skriptu pro generování mailu s konverzními statistikami.

 <ScriptJob name="Conversion report" time="0 6 * *" mails="admins" target="mail_sender" numDays="7"
		script="C:/karel/projects/DamisServer/distrscantests/koop/config/conversion_report.js"//>

Tabulka 3.53. Atributy ScriptJob

AtributVýznam
namenázev skriptu, který se zobrazí v uživatelském rozhraní
timečas, kdy se skript spustí
scriptplná cesta k souboru se skriptem


Ostatní atributy, které nejsou uvedeny v předchozí tabulce (mails,target,numDays), jsou předány jako parametry skriptu. Takto je možné skriptu předat libovolné množství parametrů

2.17. Input statistics

V této sekci se konfiguruje vytváření dat pro generování statistik vstupních souborů. Data jsou generována při každém vložení spisu do damisu. Statistiky jsou generovány jednou denně z dat vzniklých předcházející den.

Příklad konfigurace. Pomocné soubory starší než hodina se smažou v jednu hodinu v noci.

 <InputStatistics cleanOlderThan="30" clearTime="0 2 * *"/>

Tabulka 3.54. Atributy InputStatistics

AtributVýznam
clearOlderThanMaže pomocná data starší než zadaný počet dnů. V databázi jsou ukládány záznamy o každém jednotlivém souboru ve spisu.
clearTimečas, kdy je mazání dat spuštěno. Defaultní hodnota je "0 2 * *"
convertStatTimečas, kdy je spuštěn výpočet statistik. Defaultní hodnota je "15 2 * *"