Fejlesztői kézikönyv 6.3

XML Referencia 6.3

Effector Studio 6.3 összefoglaló

Effector Studio 6.3 kézikönyv

Fejlesztői kézikönyv 6.2

XML Referencia 6.2

Effector Studio 3.2 összefoglaló

Effector Studio 3.2 kézikönyv

Fejlesztői kézikönyv 5.5

XML referencia 5.5

Effector Studio 2.0 kézikönyv

Effector Studio 2.0 összefoglaló

Dokumentum kezelés

Az Effector rendszer képes az egyes üzleti objektumokhoz dokumentumokat kapcsolni, és azokat tárolni, visszakeresni. Ez a fejezet bemutatja a zavartalan működéshez szükséges előfeltételeket, és összefoglalja a dokumentum becsatolásának paraméterezési lehetőségeit.

Működési mechanizmus

A felhasználó a felületen ki tud választani egy fájlt becsatolásra, ezt a DocumentTextBox kontrollal teheti meg. A kiválasztás után az Effector feltölti a fájlt a szerverre egy átmeneti könyvtárba. Attól függően, hogy korábban mi volt a beviteli mező értéke megjelenik egy ablak, amelyben megkérdezi a felhasználót, hogy a most feltöltött dokumentum az előző új verziója lesz-e (Ez a mechanizmus kikapcsolható). A Mentés gomb megnyomása után a keretrendszer átnevezi, és végleges helyére másolja a fájlt.

Megjegyzés: A végleges helyre másolás után az átmeneti tárból törlődik a fájl, ugyanakkor sikertelen dokumentum becsatolás esetén a fájl az átmeneti könyvtárban ragad, így ezt a könyvtárat időről időre ki kell üríteni.

A működéshez szükséges környezeti beállítások

A megfelelő működéshez az alábbi beállításokat kell elvégeznünk a rendszerben:

  • Az Effector könyvtárában található _temp\fileuploads\ könyvtárra meg kell adni az írási jogot. Ide kerülnek az átmeneti fájlok.
  • Az Effector-hoz rendelt AppPoolnak olyan felhasználóval kell futnia, amelynek majd a végleges dokumentum könyvtárra van joga írni.

Adatbázis függőségek:

  • A Document tábla egy-egy sora reprezentál egy dokumentum verziót. A ParentDocID mező értéke tárolja azt, hogy melyik dokumentumhoz tartozik az adott sor (melyik dokumentum egy verziója található az adott sorban). A Version mező tartalmazza a sor verzióját.
  • DocumentConnection: Ebben a táblában van rögzítve, hogy egy Document sor mely objektumhoz (Event, Project, stb.) van rendelve. A Document táblán található trigger ebbe a táblába is beszúr egy sort, miközben a Document táblában található BoType és BoID oszlopokat használja fel.

Megjegyzés: A felületen a Document tábla BoType és BoID oszlopait használni a join-okhoz nem javasolt, helyette a DocumentConnection tábla azonos mezőit kell használni.

Paraméterezése

DocumentTextBox

Mint azt az EditForm fejezetben tárgyaltuk a DocumentTextBox kontrol használható fel a fájlok becsatolásához.

Fontos: Az adatbázisból csak akkor lehet dokumentumot választani, ha a DocumentTextBox paraméterezésénél be van állítva egy Screen, és az EditForm üzleti objektuma nem BusinessObjectDocument! Abban az esetben, ha ezek a feltételek nem teljesülnek a rendszer csak új dokumentum becsatolását engedélyezi. Amely működés a paraméterezésből adódik.

Dokumentumbecsatolás paraméterezése

Az XML csomag gyökér könyvtárában kell létrehozni egy DocumentStoreSettings.xml nevű fájlt. Ebben az állományban lehet megadni, hogy hová kerüljenek a becsatolt dokumentumok és milyen néven legyenek elmentve. Ezeket a beállításokat a fájl objektum típusokként tartalmazza, így akár minden objektumnak más beállításai lehetnek. Továbbá megadható egy alapértelmezett beállítás is, ezt az IsDefault node true értékre állításával tehetjük meg.

Az egyes dokumentum típusokhoz tartozó beállításokat a DocumentStoreSettings kollekció DocumentStoreSetting elemeivel paraméterezhetjük. Az itt felhasználható node-ok segítségével megadhatjuk az adott típust, amelyre a szabályok érvényesek, valamint a szabályokat, amiket a rendszer a dokumentum kezelés során figyelembe vesz.

  • A DocumentObjectType node értéke tartalmazza a dokumentum altípusának nevét. Ezzel a beállítással definiálható, hogy mely dokumentum típushoz tartozik a bejegyzés.
  • Másolás utáni helyét a TargetPathTemplate RuleValueType node (Szabályok) segítségével állíthatjuk be. Az itt megfogalmazott szabály visszatérési értéke egy elérési út, mely mindig a szerveren van értelmezve. Ebben a beállításban [##Field.*##] és [##Filter.*##] hivatkozásokat lehet használni, a [##Field.*##] hivatkozások annak a BusinessObject-nek a mezői lehetnek, amelyiken a DocumentTextBox kontrol szerepel.
  • A becsatolt dokumentum fájl nevét a TargetFileNameTemplate node segítségével definiálhatjuk, amely szintén egy RuleValueType típusú node (Szabályok). Kiértékelésének eredménye az új fájl neve.Ebben a beállításban [##Field.*##] és [##Filter.*##] hivatkozásokat lehet használni, a [##Field.*##] hivatkozások annak a BusinessObject-nek a mezői lehetnek, amelyiken a DocumentTextBox kontrol szerepel.

Példa

<DocumentStoreSettings>

    <DocumentStoreSetting>
        <IsDefault>true</IsDefault>
        <TargetPathTemplate type="SQL" return="string" default="">
            <![CDATA[
            DECLARE
            @base_path VARCHAR(2000)

            SET @base_path = (SELECT TOP 1 CodeValue FROM FSYS_ApplicationSetup WITH(NOLOCK) WHERE Code = 'DocBasePath' ORDER BY ApplicationSetupID DESC)

            SELECT @base_path + REPLACE(dbo.Oriana_Short_Date(GETDATE()), '-', '') + '\'
            ]]>
        </TargetPathTemplate>
        <TargetFileNameTemplate type="SQL" return="string" default="">
            SELECT dbo.ofn_CutAccent(dbo.ofn_RemoveSpecialCharacters_COLLATE(`[##Field.OriginalFileName##]`,`0-9a-zA-Z`))
        </TargetFileNameTemplate>
    </DocumentStoreSetting>
    <DocumentStoreSetting>
        <DocumentObjectType>Dokumentum</DocumentObjectType>
        <CopyPathTemplate type="SQL" return="string" default=""><![CDATA[ 
            DECLARE
                @base_path VARCHAR(2000)

            SET @base_path = (SELECT TOP 1 CodeValue FROM FSYS_ApplicationSetup WHERE Code = 'document_base_path' ORDER BY [ApplicationSetupID] DESC)
            SET @base_path = @base_path + 'Dokumentum\'

            SELECT @base_path
            ]]>
        </CopyPathTemplate>
    </DocumentStoreSetting>
<DocumentStoreSettings>

  • Legutóbb frissítve: 22 hét 5 napja
  • Effector