Dokument w systemie PlusWorkflow zawiera informację o pliku(nazwa, rozmiar, wersja itp.) i indeksach (polach zdefiniowanych w klasie dokumentów). Dokumenty są zawsze zapisywane w archiwum systemowym. Mogą być również przypisywane do zadań.
W systemie PlusWorkflow wersjonowane są wyłącznie pliki, a nie dokumenty. Plik zawsze posiada wersję, natomiast dokument odnosi się zawszę do najnowszej wersji pliku z którym jest powiązany. |
Klasa WfDocument reprezentuje dokument w systemie. Tworzy powiązanie między klasami WfFile, WfFileVersion oraz indeksami dokumentu(wartościami z tabeli pm_idx_000x).
Klasa WfFile reprezentuje plik w systemie. Zawiera podstawowe informacje o pliku.
Klasa WfFileVersion reprezentuje wersję pliku w systemie. Relacja między obiektami WfFile, a WfFileVersion to 1-do-1
Do wykonywania operacji na dokumentach należy używać usługi DocumentService. Umożliwia ona dodawania nowych dokumentów, zmianę indeksów, usunięcie, dołączanie lub odłączenie z/do procesu/zadania.
Przykłady:
Map<Long, Object> idx = new HashMap<Long, Object>(); idx.put( 1L, "wartość tekstowa" ); idx.put( 2L, 555 ); idx.put( 3L, new Date() ); DocumentDefinition fd = new DocumentDefinition(); fd.setDocumentClassId( dc.getId() ); fd.setFileName( "nazwa.pdf" ); fd.setDescription( "opis" ); fd.setUserName( "admin" ); fd.setIndexes( idx ); fd.setInputStream( inputStream ); WfDocument file = ds.addDocument( fd ); |
Do wyszukiwania dokumentów należy używać klasy.