Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 70 Next »

Pobieranie informacji o dokumentach z procesu

Ścieżka do servletu: api/documents/query

Metoda: GET

Parametry:

  • processId - Id procesu dla którego chcemy pobrać dokumenty
  • activityId - (opcjonalny) Id zadania dla którego chcemy pobrać dokumenty. Jeżeli nie podano, pobrane zostaną wszystkie dokumenty z procesu.

Odpowiedź:

  • Odpowiedź zawiera listę dokumentów.
Przykładowa odpowiedź
[
   {
      "id":2236,
      "documentClass":{
         "id":3281,
         "name":"xx",
         "description":"xx",
         "expiration":"",
         "expirationType":"on",
         "directory":null,
         "encoding":true,
         "compressing":false,
         "ftsServerId":null,
         "cipherAlgorithm":"AES",
         "keyLength":128,
         "orderId":6,
         "indexPath":"C:\\temp\\qq\\\\k\\indexDir_3281",
         "indexing":false,
         "files":null,
         "actions":null,
         "indexes":null,
         "linkConnections":null,
         "expirationDate":null
      },
      "description":"xx",
      "compressed":false,
      "encrypted":true,
      "cipherAlgorithm":"AES",
      "cipherKey":"-72,-27,-19,-29,-27,87,-47,112,19,-55,-37,-21,-112,-13,-128,21",
      "fileName":"PIARedist.exe",
      "systemFileName":"IMG7882392016468885022.exe",
      "fileDate":1391771512507,
      "path":"C:\\temp\\qq\\k\\",
      "uploader":"admin",
      "size":6876816,
      "version":{
         "file":null,
         "parentFile":null,
         "newestFile":null,
         "checkOutDate":null,
         "checkInDate":1391727600000,
         "replaceDate":null,
         "checkOutUserName":"admin",
         "state":"STATE_READY",
         "comment":null,
         "version":1,
         "id":2236,
         "activityDocuments":null
      },
      "activityDocuments":null,
      "fullPath":"C:\\temp\\qq\\k\\/IMG7882392016468885022.exe"
   }
]

Pobieranie rozszerzonych informacji o dokumentach z procesu

Ścieżka do servletu: api/documents/view/query

Metoda: GET

Parametry:

  • processId - Id procesu dla którego chcemy pobrać dokumenty
  • activityId - (opcjonalny) Id zadania dla którego chcemy pobrać dokumenty. Jeżeli nie podano, pobrane zostaną wszystkie dokumenty z procesu.

Odpowiedź:

  • Odpowiedź zawiera listę dokumentów.

 

Przykładowa odpowiedź
[
   {
      "file":{
         "id":2236,
         "documentClass":{
            "id":3281,
            "name":"xx",
            "description":"xx",
            "expiration":"",
            "expirationType":"on",
            "directory":null,
            "encoding":true,
            "compressing":false,
            "ftsServerId":null,
            "cipherAlgorithm":"AES",
            "keyLength":128,
            "orderId":6,
            "indexPath":"C:\\temp\\qq\\\\k\\indexDir_3281",
            "indexing":false,
            "files":null,
            "actions":null,
            "indexes":null,
            "linkConnections":null,
            "expirationDate":null
         },
         "description":"xx",
         "compressed":false,
         "encrypted":true,
         "cipherAlgorithm":"AES",
         "cipherKey":"-72,-27,-19,-29,-27,87,-47,112,19,-55,-37,-21,-112,-13,-128,21",
         "fileName":"PIARedist.exe",
         "systemFileName":"IMG7882392016468885022.exe",
         "fileDate":1391771512507,
         "path":"C:\\temp\\qq\\k\\",
         "uploader":"admin",
         "size":6876816,
         "version":{
            "file":null,
            "parentFile":null,
            "newestFile":null,
            "checkOutDate":null,
            "checkInDate":1391727600000,
            "replaceDate":null,
            "checkOutUserName":"admin",
            "state":"STATE_READY",
            "comment":null,
            "version":1,
            "id":2236,
            "activityDocuments":null
         },
         "activityDocuments":null,
         "fullPath":"C:\\temp\\qq\\k\\/IMG7882392016468885022.exe"
      },
      "actions":[
         "SHOW",
         "DETACH",
         "CHANGE"
      ]
   }
]

 

Pobranie dostępnych klas dokumentów

Ścieżka do servletu: api/documents/classes

Metoda: GET

Parametry:

  • rightType - typ uprawnień do dodawania dokumentów do systemu, jeden z:
    • ALL - do procesu lub archiwum,
    • PROCESS - do procesu,
    • ARCHIVE - do archiwum.

Odpowiedź:

  • Odpowiedź zawiera listę klas dokumentów do których zalogowany użytkownik ma uprawnienia.

Pobieranie indeksów dla klasy dokumentów

Ścieżka do servletu: api/documents/indexes/{documentClassId}

Metoda: GET

Parametry:

  • documentClassId - Id klasy dokuementów( parametr przekazany w ścieżce servlet'u) 

Odpowiedź:

  • Odpowiedź zawiera listę indeksów.

Dodanie dokumentu

Ścieżka do servletu: api/documents/upload

Metoda: POST

enctypemultipart/form-data

Parametry:

  • indexesAsJson (od wersji 4.0.39) - (opcjonalny, true/false) Czy indeksy przekazywane są w formacie JSON (pole indexesJson formularza)

Treść zapytania:

Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:

    • file - Pole typu file 
    • activityId - Id zadania
    • processId - Id procesu
    • documentClassId - Id klasy dokumentów
    • description - Opis
    • newVersion - (true/false) Czy zapisać jako nowa wersja
    • indexes - (opcjonalny) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane zgodnie z typem żądania form-data, czyli w formie

      Przykład prawidłowej wartości pola indexes
      indexes[1]: "Wartość indeksu o id 1"
      indexes[3]: "Wartość indeksu o id 3"
    • indexesJson (od wersji 4.0.39) - (opcjonalny, należy go podawać w połączeniu z parametrem zapytania indexesAsJson=true) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane w formacie JSON:

      Przykład prawidłowej wartości pola indexes
      indexes: {
      	"1": "Wartość indeksu o id 1",
      	"3": "Wartość indeksu o id 3",
      	"11": 234.62, /* Wartość indeksu zmiennoprzecinkowego o id 11 */
      	"15": false /* Wartość indeksu logicznego o id 15 */
      }
    Przykładowa treść zapytania z programu POSTMAN
    POST /PlusWorkflow/api/documents/upload HTTP/1.1
    Host: localhost:8080
    Cache-Control: no-cache
    Postman-Token: 4ab6c224-0ea3-9ecc-c8ac-a4823501a54b
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="file"; filename="Nowy dokument tekstowy.txt"
    Content-Type: text/plain
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="documentClassId"
    1
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="newVersion"
    false
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="indexes[1]"
    wartosc indeksu o id 1
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="indexes[3]"
    wartosc indeksu o id 3
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--

Parametry activityId i processId są opcjonalne:

    • Jeżeli podamy oba parametry, to dokument zostanie dodany do archiwum i podłączony do wskazanego zadania.
    • Jeżeli podamy tylko processId, to dokument zostanie dodany do archiwum i podłączony do wskazanego procesu.
    • Jeżeli nie podamy żadnego z tych parametrów lub podamy tylko activityId, to dokument zostanie dodany tylko do archiwum.

 

Odpowiedź:

  • Odpowiedź zawiera definicję zapisanego pliku

 

Przykład formularza dodawania dokumentu
Ext4.widget('window',{
    title:'Nowy dokument',
    width:500,
    height:300,
    autoShow:true,
    items:[
        {
            xtype:'form',
            items:[
                {
                    xtype:'fileuploadfield',
                    name:'file'
                },{
                    xtype:'textfield',
                    value:3,
                    name:'documentClassId'
                },{
                    xtype:'textfield',
                    value:processId,
                    name:'processId'
                },{
                    xtype:'textfield',
                    value:activityId,
                    name:'activityId'
                },{
                    xtype:'textfield',
                    value:123,
                    name:'indexes[1]'//id indeksu z bazy danych
                },{
                    xtype:'textfield',
                    value:'wartosc',
                    name:'indexes[4]'//id indeksu z bazy danych
                }
            ]
        }
    
    ],
    buttons:[
        {
            text:'Zapisz',
            handler:function(){
                var form=this.up('window').down('form').getForm();
                form.submit({
                    url:'api/documents/upload'
                });
            }
        }
    ]
});

Wsparcie dla InternetExplorer

 W przeglądarce InternetExplorer aby wykonać upload pliku serwer musi odpowiedzieć z nagłówkiem Content-Type: text/html. Należy w takim wypadku wywołać żądanie z dodatkowym parametrem:

responseAsHtml - true wymusza ustawienie nagłówka Content-Type na text/html

Pobieranie dokumentu

Ścieżka do servletu: api/documents/download/{fileId}

Metoda: GET

Parametry:

  • fileId - Id pliku, który chcemy pobrać ( parametr przekazany w ścieżce servlet'u) 

Odpowiedź:

  • Strumień danych z plikiem
  • Status HTTP: OK lub UNAUTHORIZED 

Pobieranie dokumentu

 Ścieżka do servletu: api/documents/get/{filename}

 Metoda : GET

 Parametry :

  • filename - nazwa pliku z rozszerzeniem (przekazany w ścieżce servlet'u)
  • fileId - Id pliku
  • processId - (opcjonalny) Id procesu dla którego chcemy pobrać dokumenty
  • activityId - (opcjonalny) Id zadania dla którego chcemy pobrać dokumenty

Uwaga, parametr systemowy 'AuthorizeUserForFile' określa czy jest wymagana autoryzacja użytkownika dla tego servletu.

Odpowiedź : pobrany plik dokumentu.

Pobieranie informacji o podłączonych dokumentach do zadania

Ścieżka do servletu: api/documents/activity

Metoda : GET

Parametry :

  • processId - Id procesu dla którego chcemy pobrać dokumenty
  • activityId - Id zadania dla którego chcemy pobrać dokumenty

Odpowiedź : Informacje o dokumentach tj. a więc poza plikami także dodatkowe informacje o dokumencie np. przez kogo został podłączony do archiwum i przez kogo został podłączony do procesu itp.

Odłączanie dokumentu od procesu

Ścieżka do servletu: api/documents/{fileId}/{processId}

Metoda: DELETE

Parametry:

  • fileId - Id pliku, który chcemy pobrać ( parametr przekazany w ścieżce servlet'u) 
  • processId - Id procesu, z którego odłączamy plik

Odpowiedź:

  • brak odpowiedzi

Usuwanie dokumentu (od wersji 3.1.31)

Metoda usuwa plik z systemu. Jeżeli usuwany plik jest w wersji np.: 2, a cały dokument ma wersji 5, to usunięte zostaną wszystkie wersje w górę, czyli zostanie tylko plik w wersji 1, chyba że parametr {@code deleteAllVersions=true}, to wtedy zostaną usunięte wszystkie wersje.

Użytkownik musi posiadać uprawnienia do usunięcia tego pliku.

 

Ścieżka do servletu: api/documents/{fileId}

Metoda: DELETE

Parametry:

  • fileId - Id pliku, który chcemy usunąć (parametr przekazany w ścieżce servlet'u) 
  • deleteAllVersions (opcjonalny - domyślnie false) - Określa, czy mają być również usunięte wszystkie wcześniejsze wersje tego dokumentu.

Odpowiedź:

  • brak odpowiedzi

Zmiana wartości indeksów dokumentu (od wersji 3.1.31)

Metoda zmienia przekazane wartości indeksów w podanym dokumencie. Użytkownik musi mieć uprawnienia do modyfikacji dokumentu.

Ścieżka do servletu: api/documents/{fileId}/indexes

Metoda: PUT

Request Content-Typeapplication/json

Parametry:

  • fileId - Id pliku, którego indeksy chcemy zmienić( parametr przekazany w ścieżce servlet'u)

  • indexes - obiekt JSON zawierający indeksy do zmiany:
Przykład przesyłania indeksów
{
	"2":"Nowa wartość indeksu o id 2",
	"7":"Nowa wartość indeksu o id 7",
	"11":234.62 /* Nowa wartość indeksu zmiennoprzecinkowego o id 11 */
} 

Odpowiedź:

  • brak odpowiedzi

Wyszukiwanie dokumentów na podstawie filtrów (od wersji 3.1.31)

Metoda wyszukuje dokumenty na podstawie podanych filtrów. Brane są pod uwagę uprawnienia użytkownika. Wyszukiwać można w klasie dokumentów (musi być podane id klasy dokumentów w parametrze documentClassId) albo w zestawie dokumentów (musi być podane id zestawu dokumentów w parametrze documentSetId). Nie można wyszukiwać jednocześnie po klasie dokumentów i zestawie dokumentów (tylko jeden parametr może być uzupełniony). Obecnie dodatkowym filtrem są jeszcze indeksy klasy dokumentów/zestawu dokumentów. Jeżeli nie podamy indeksów, to zostaną wyszukane wszystkie dokumenty z podanej klasy dokumentów/zestawu dokumentów.

Ścieżka do servletu: api/documents/query

Metoda: POST

Request Content-Typeapplication/json

Parametry:

  • obiekt JSON zawierający filtry

    Przykład przesyłania indeksów
    {
    	"documentClassId": 1, //id klasy dokumentów
    	//lub
    	"documentSetId": 3, //id zestawu dokumentów
    	
    	"indexes": { //indeksy dokumentu
    		"2":"Wartość indeksu o id 2",
    		"7":"Wartość indeksu o id 7",
    		"11":234.62 /* Wartość indeksu zmiennoprzecinkowego o id 11 */
    	}
    } 

Odpowiedź:

  • Lista wyszukanych dokumentów
Przykładowa odpowiedź
[
   {
      "documentId":81,
      "fileId":110,
      "documentClassId":1,
      "indexes":[
         {
            "id":17,
            "name":"Data",
            "value":"2016-02-25",
            "type":"DATE"
         },
         {
            "id":16,
            "name":"Wartość",
            "value":1,
            "type":"LONG"
         },
         {
            "id":7,
            "name":"Opis",
            "value":"To jest opis",
            "type":"STRING"
         },
         {
            "id":8,
            "name":"Uwagi",
            "value":null,
            "type":"STRING"
         }
      ]
   }
]

Pobieranie wszystkich wersji pliku

Ścieżka do servletu: api/documents/{fileId}/versions

Metoda: GET

Parametry:

  • fileId- Id pliku dla którego chcemy pobrać  wszystkie wersje( parametr przekazany w ścieżce servlet'u) 

Odpowiedź:

  • Odpowiedź zawiera listę dokumentów.
Przykładowa odpowiedź
[
   {
        "id": 201,
        "documentClass": null,
        "description": "opis",
        "compressed": false,
        "encrypted": false,
        "cipherAlgorithm": null,
        "cipherKey": null,
        "fileName": "file1.txt",
        "systemFileName": "IMG2940464874411094485.txt",
        "fileDate": 1560167912486,
        "path": "C:\\Temp\\Urządzenia\\Katalog1\\",
        "uploader": "admin",
        "size": 31,
        "version": {
            "file": null,
            "parentFile": null,
            "newestFile": null,
            "checkOutDate": 1560808800000,
            "checkInDate": 1560117600000,
            "replaceDate": 1560808800000,
            "checkOutUserName": "admin",
            "state": "STATE_EDIT",
            "comment": null,
            "version": 1,
            "id": 201,
            "activityDocuments": null
        },
        "activityDocuments": null
    },
    {
        "id": 212,
        "documentClass": null,
        "description": "opis2",
        "compressed": false,
        "encrypted": false,
        "cipherAlgorithm": null,
        "cipherKey": null,
        "fileName": "file2.txt",
        "systemFileName": "IMG859030577728292225.txt",
        "fileDate": 1560864125553,
        "path": "C:\\Temp\\Urządzenia\\Katalog1\\",
        "uploader": "admin",
        "size": 33,
        "version": {
            "file": null,
            "parentFile": null,
            "newestFile": null,
            "checkOutDate": 1560895200000,
            "checkInDate": 1560808800000,
            "replaceDate": 1560895200000,
            "checkOutUserName": "admin",
            "state": "STATE_EDIT",
            "comment": "",
            "version": 2,
            "id": 212,
            "activityDocuments": null
        },
        "activityDocuments": null
    }
]
 

Zmiana danych w bazie odnośnie pobranego dokumentu

Zmienia dane w bazie danych odnośnie pobrania dokumentu do zmiany. Ustawia odpowiedni status, datę pobrania dokumentu, oraz użytkownika pobierającego.

Ścieżka do servletu: api/documents/{fileId}/checkOut

Metoda: PUT

Parametry:

  • fileId- Id pliku ( parametr przekazany w ścieżce servlet'u)

Odpowiedź:

  • Odpowiedni HTTPStatus: OK, CONFLICT lub FORBIDDEN 

Anulowanie wprowadzania zmian do pobranego dokumentu

Anuluje wprowadzanie zmian do dokumentu. Ustawia odpowiedni status, resetuje datę pobrania dokumentu, oraz użytkownika pobierającego.

Ścieżka do servletu: api/documents/{fileId}/undoCheckOut

Metoda: PUT

Parametry:

  • fileId- Id pliku ( parametr przekazany w ścieżce servlet'u)

Odpowiedź:

  • Odpowiedni HTTPStatus: OK lub CONFLICT

Zapisuje nową wersję pliku

Zapisuje nową wersję pliku, który wcześniej pobraliśmy do zmiany.

Ścieżka do servletu: api/documents/checkIn

Metoda: POST

enctypemultipart/form-data

Treść zapytania:

Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:

    • file - Pole typu file 
    • description - Opis
    • parentFileId - id pliku, który aktualizujemy
    • comment - komentarz
    Przykładowa treść zapytania z programu POSTMAN
    POST /PlusWorkflow/api/documents/checkIn HTTP/1.1
    Host: localhost:8080
    Authorization: Basic YWRtaW46ZW5oeWRyYQ==
    Cache-Control: no-cache
    Postman-Token: 201b80af-904e-de34-2678-c476fda6d348
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="file"; filename="x6.docx"
    Content-Type: 
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="parentFileId"
    179
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="comment"
    my comment
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--

Odpowiedź:

  • Odpowiedź zawiera id zapisanego pliku w przypadku poprawnego zapisu lub treść błędu w zależności od zwróconego statusu odpowiedzi.

Pobieranie aktualnego statusu dokumentu

Ścieżka do servletu: api/documents/{fileId}/status

Metoda: GET

Parametry:

  • fileId - Id pliku

Odpowiedź:

  • Aktualny status dokumentu.
Przykładowa odpowiedź
"STATE_READY"
  • No labels