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ó

FileInterface v5.4.001

Az Effector 5.4-es verziójától kezdve a fájl letöltést, feltöltést és megjelenítést a FileInterface nevű funkció látja el. A letöltés és megjelenítés funkciók direkt hivatkozás helyett indirekt hivatkozásokkal fognak működni. Ezekhez az indirekt hivatkozásokhoz lehet lejárati időt is megadni. Minden hozzáférést naplóz a rendszer. Az indirekt hivatkozásokat a FSYS_FileInterface táblában tárolja a rendszer. Az indirekt hivatkozások használatát (hozzáférés napló) az FSYS_FileInterfaceLog tábla tárolja.

Feltöltés (régen FileUpload.aspx)

A dokumentum típusú mezőknek a fájl feltöltés funkcióját látja el. Lényegében a fájl feltöltés a FileUpload.aspx url helyett a FileInterface?a=upload url-en keresztül történik meg. Csak bejelentkezett felhasználóval lehet feltölteni dokumentumot.

Letöltés (régen FileDownload.aspx)

A korábbi url direkt hivatkozásokat tartalmazott (pl.: FileDownload.aspx?documentid=4 vagy FileDownload.aspx?file=c:\temp\dok1.docx), amelyet használva - ha nincs megfelelően beállítva a jogosultság - könnyen elérhetővé tette bármely felhasználó számára a rendszerben tárolt összes dokumentum elérését. Az új url FileInterface?p=<<PUBLICID>>&a=download formátumú, ahol a PUBLICID a FileInterface által generált azonosítót jelenti.

DDO-beli példa:

<Column name="FileInterfaceID" useFileInterface="true">
    <SqlName>
        CAST(d.DocumentID  AS VARCHAR(20)) as FileInterfaceID
    </SqlName>
    <IdColumn>DocumentID</IdColumn>
    <OutFilter type="Param">
        <Alias>FileInterfaceID</Alias>
    </OutFilter>
</Column>
<Column name="FileLink" isComposite="true">
    <SqlName>
        <![CDATA[
            '<a href="FileInterface?p=[##Column.FileInterfaceID##]&a=download" target="_blank">' +  ISNULL(d.RenamedFilename,'') + </a>' AS FileLink
        ]]>
    </SqlName>
    <IdColumn>DocumentID</IdColumn>
</Column>

Megjelenítés (régen DisplayFile.aspx)

A korábbi url direkt hivatkozásokat tartalmazott (pl.: DisplayFile.aspx?documentid=4), amelyet használva - ha nincs megfelelően beállítva a jogosultság - könnyen elérhetővé tette bármely felhasználó számára a rendszerben tárolt összes dokumentum elérését. Az új url FileInterface?p=<<PUBLICID>>&a=display formátumú, ahol a PUBLICID a FileInterface által generált azonosítót jelenti. Ezzel a változtatással lehetővé vált nem csak a Document táblában szereplő fájlok megjelenítése, hanem tetszőleges fájlrendszerbeli fájlt meg lehet jeleníteni (amit az urlfilter.xml szabályoz továbbra is).

EmbeddedWebDisplay-beli példa:

<URL type="Constant" return="string" default="">
    <![CDATA[
        FileInterface?p=[##Filter.FileInterfaceID##]&a=display
    ]]>
</URL>

Custom DLL-beli változtatások

régi megoldás pl.:

retVal.RedirectTarget = “_blank”;
retVal.RedirectURL = string.Format(“/FileDownload.aspx?file={0}”, fileName);

új megoldás pl.:

retVal.RedirectTarget = “_blank”;
object publicID = dataProvider.CreateFileInterfaceReference(fileName);
retVal.RedirectURL = string.Format(“/FileInterface?p={0}&a=download”, publicID);

XML paraméterezésben bekövetkezett változtatás

Ahhoz, hogy egy fájlt le tudjunk tölteni, létre kell hozni az indirekt hivatkozást rá. Ha egy int típusú mezőre hozunk létre indirekt hivatkozást, azt úgy veszi a rendszer, hogy a dokumentum táblából kell szedni a dokumentumot. Az indirekt hivatkozás létrehozása a DDO Column tag-ének a useFileInterface attribútumának true értékre állításával történik. Ilyenkor az Effector az adott oszlopban található értéket felhasználva létrehoz minden egyes sorhoz egy indirekt hivatkozást, és a generált azonosító értékére cseréli az eredeti értéket a táblázatban. Ettől még nem lesz letölthető a dokumentum. Létre kell hozni egy másik oszlopot, amelyben összeállítjátok a letöltés linket. Példa:

<Column name="FileInterfaceID" useFileInterface="true">
        <SqlName><![CDATA[CAST(d.DocumentID  AS VARCHAR(20)) as FileInterfaceID]]></SqlName>
        <IdColumn>DocumentID</IdColumn>
        <OutFilter type="Param">
            <Alias>FileInterfaceID</Alias>
        </OutFilter>
    </Column>
    <Column name="FileLink" isComposite="true">
        <SqlName><![CDATA['<a href="FileInterface?p=[##Column.FileInterfaceID##]&a=download" target="_blank">' + ISNULL(d.RenamedFilename,'') + '</a>' AS FileLink]]></SqlName>
        <IdColumn>DocumentID</IdColumn>
    </Column>

A "FileInterfaceID" oszlopban van a generált indirekt hivatkozás, a "FileLink" oszlopban található a letöltéshez előállított link. Másik újdonság, amit ez a fejlesztés hozott az úgynevezett Composite oszlop. Az isComposit=”true” attribútum jelzi a rendszer számára a funkció bekapcsolását, és ilyenkor az oszlop értékének lekérdezése után a [##Column.##] hivatkozások ki lesznek cserélve az adott sorban található oszlopok értékére.

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