Wstęp
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ń.
Wersja pliku, a dokument
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.
Implementacja
WfDocument
Klasa WfDocument reprezentuje dokument w systemie. Tworzy powiązanie między klasami WfFile, WfFileVersion oraz indeksami dokumentu(wartościami z tabeli pm_idx_000x).
WfFile
Klasa WfFile reprezentuje plik w systemie. Zawiera podstawowe informacje o pliku.
WfFileVersion
Klasa WfFileVersion reprezentuje wersję pliku w systemie. Relacja między obiektami WfFile, a WfFileVersion to 1-do-1
Operacje na dokumentach
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 );
