web viewzałącznik nr 1 do umowy. i. wstęp. w 2012 r. ministerstwo sprawiedliwości rozpoczęło...

127
Załącznik nr 1 do umowy I. Wstęp W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji orzecznictwa sądów powszechnych w sieci Internet, tj. modułu OSA służącego do publikacji orzeczeń sądów powszechnych w Internecie (dalej jako „System Portal Orzeczeń” lub „System”). Celem niniejszego projektu jest umożliwienie bezwnioskowego uzyskania dostępu do informacji publicznej jaką są treści orzeczeń wraz z uzasadnieniami. Zanonimizowane orzeczenia sądów powszechnych publikowane są na stronie Biuletynu Informacji Publicznej danego sądu oraz pod adresem http://orzeczenia.ms.gov.pl . 1. Składowe Systemu W skład Systemu Portal Orzeczeń wchodzi: a. oprogramowanie niezbędne do działania Systemu, do którego Ministerstwo Sprawiedliwości na mocy Umowy nr 33 z dnia 18 lipca 2012 r. dotyczącej m. in. modernizacji modułu publikacji orzeczeń OSA, z dniem 28 listopada 2012 r. nabyło nieograniczone terytorialnie autorskie prawa majątkowe na wszystkich polach eksploatacji w rozumieniu ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz. U. z 2006 r. Nr 90, poz. 631 ze zm.) z możliwością wykonywania prawa zależnych, na czas nieokreślony, z prawem do dalszego przenoszenia, obejmujące następujące komponenty, tj. Workflow (serwer/silnik sterowania procesem anonimizacji orzeczeń sądowych), Manager (aplikacja WEB do interaktywnej kontroli wyniku anonimizacji orzeczeń sądowych) oraz Publisher (aplikacji WEB do prezentacji w Internecie zanonimizowanych orzeczeń sądowych), zwane dalej Oprogramowaniem Centralnym; b. oprogramowanie niezbędne do prawidłowego działania Systemu, na które w ramach niniejszej Umowy dla danego sądu powszechnego udzielana jest odpłatna, niewyłączna, nieograniczona czasowo licencja, obejmująca następujące komponenty: serwera/silnika wyszukiwania pełnotekstowego, dodatki rozszerzające wyszukiwarkę o korektor zapytań (correct), generator natychmiastowych 1

Upload: doanquynh

Post on 01-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Załącznik nr 1 do umowy

I. WstępW 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji orzecznictwa sądów powszechnych w sieci Internet, tj. modułu OSA służącego do publikacji orzeczeń sądów powszechnych w Internecie (dalej jako „System Portal Orzeczeń” lub „System”). Celem niniejszego projektu jest umożliwienie bezwnioskowego uzyskania dostępu do informacji publicznej jaką są treści orzeczeń wraz z uzasadnieniami. Zanonimizowane orzeczenia sądów powszechnych publikowane są na stronie Biuletynu Informacji Publicznej danego sądu oraz pod adresem http://orzeczenia.ms.gov.pl.

1. Składowe SystemuW skład Systemu Portal Orzeczeń wchodzi:

a. oprogramowanie niezbędne do działania Systemu, do którego Ministerstwo Sprawiedliwości na mocy Umowy nr 33 z dnia 18 lipca 2012 r. dotyczącej m. in. modernizacji modułu publikacji orzeczeń OSA, z dniem 28 listopada 2012 r. nabyło nieograniczone terytorialnie autorskie prawa majątkowe na wszystkich polach eksploatacji w rozumieniu ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz. U. z 2006 r. Nr 90, poz. 631 ze zm.) z możliwością wykonywania prawa zależnych, na czas nieokreślony, z prawem do dalszego przenoszenia, obejmujące następujące komponenty, tj. Workflow (serwer/silnik sterowania procesem anonimizacji orzeczeń sądowych), Manager (aplikacja WEB do interaktywnej kontroli wyniku anonimizacji orzeczeń sądowych) oraz Publisher (aplikacji WEB do prezentacji w Internecie zanonimizowanych orzeczeń sądowych), zwane dalej Oprogramowaniem Centralnym;

b. oprogramowanie niezbędne do prawidłowego działania Systemu, na które w ramach niniejszej Umowy dla danego sądu powszechnego udzielana jest odpłatna, niewyłączna, nieograniczona czasowo licencja, obejmująca następujące komponenty: serwera/silnika wyszukiwania pełnotekstowego, dodatki rozszerzające wyszukiwarkę o korektor zapytań (correct), generator natychmiastowych podpowiedzi oraz serwer/silnik analizy językowej, plugins rozszerzeń modułu analizy językowej o dodatek do podświetlania wybranych haseł w tekstach, dodatek do anonimizacji tekstów, dodatek do wykrywania imion i nazwisk (wraz z podręczną bazą imion i nazwisk) oraz o dodatek do wykrywania nazw geograficznych (wraz z podręczną bazą nazw), zwane dalej Oprogramowaniem Dedykowanym;

c. program importujący dane niezbędne do zasilenia Portalu Orzeczeń z systemu repertoryjno - biurowego SAWA spółki Currenda sp. z o.o. zs. w Sopocie, z systemu repertoryjno - biurowego Sędzia2 spółki ZETO sp. z o.o. zs. w Świdnicy oraz systemu repertoryjno - biurowego Praetor spółki Praetor sp. z o.o. zs. w Warszawie, zwany dalej Importerem, który zostanie dostarczony przez Wykonawcę w ramach realizacji niniejszej Umowy.

2. Opis Systemu Portal OrzeczeńDotychczas System Portal Orzeczeń został uruchomiony w 11 sądach apelacyjnych, 38 sądach okręgowych oraz 21 sądach rejonowych. Spełnia on poniżej wskazane wymagania. Produkty i usługi będące efektem realizacji niniejszego przedmiotu zamówienia muszą być kompatybilne z

1

Page 2: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Oprogramowaniem Centralnym i muszą spełniać co najmniej minimalne parametry określone w niniejszym dokumencie.

2.1 Wymagania poza funkcjonalne1. System zapewnia import orzeczeń wraz z uzasadnieniem z systemów SAWA, Sędzia 2 oraz

Praetor.2. System zapewnia integrację danych na poziomie jednego ośrodka przetwarzania.3. System zapewnia separację logiczną pomiędzy częścią wewnętrzną (proces anonimizacji) i

zewnętrzną (publikacja orzeczeń).4. System zapewnia możliwość skalowania poprzez rozdzielenie poszczególnych funkcji systemu

pomiędzy serwery.5. System obsługuje proces publikacji orzeczeń oraz podproces sprawdzania poprawności

anonimizacji przez aplikację webową.6. System jest zgodny ze standardami języków programowania, które zostały wykorzystane przy

jego tworzeniu.7. System zapewnia poprawne wyświetlanie na urządzeniach mobilnych oraz poprawne

wyświetlanie niezależnie od platformy systemowej i użytej przeglądarki internetowej.

2.2 Wymagania funkcjonalne1. Rozwiązanie umożliwia przeprowadzenie procesów:

a. importu orzeczeń wraz z uzasadnieniem;b. automatycznej anonimizacji;c. publikacji orzeczeń.

2. Proces importu orzeczeń zapewnia:a. import wskazanych dokumentów;b. harmonogram uruchomienia;c. określenie typu importowanego dokumentu;d. raportowanie statusu importu i informacji pomocniczych;e. kompresję danych;f. szyfrowanie transferu danych;g. automatyczne aktualizacje oprogramowania importującego.

3. Proces anonimizacji oraz podproces sprawdzania poprawności adnonimizacji zapewnia:a. automatyczną anonimizację orzeczeń z uzasadnieniami w oparciu o zaawansowaną

analizę morfoskładniową oraz zdefiniowane reguły;b. obsługę podprocesu sprawdzania poprawności anonimizacji, możliwość prowadzania

korekt do automatycznej anonimizacji, raportowanie błędów za pośrednictwem panelu administracyjnego opartego na technologii webowej;

c. obsługę 3 typów użytkowników o różnych uprawnieniach:i. administratora;ii. osoby zatwierdzającej publikację;iii. osoby sprawdzającej anonimizację;

d. możliwość wyszukiwania zanonimizowanych orzeczeń na podstawie określonych kryterów;

2

Page 3: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

e. zmiany stanów orzeczenia począwszy od oczekującego na sprawdzenie, przez sprawdzony skończywszy na opublikowany;

f. wprowadzanie metryki orzeczenia;g. logowanie zdarzeń systemowych;h. zarządzanie użytkownikami;i. możliwość sprawdzania poprawności opublikowanych orzeczeń z funkcjonalnością

raportowania o błędach na wskazane miejsce przy wykorzystaniu aplikacji webowej;4. Proces publikacji orzeczeń zapewnia:

a. publikację orzeczeń wraz z uzasadnieniami poddanych procesowi anonimizacji i podprocesowi sprawdzania poprawności anonimizacji;

b. wyszukiwanie orzeczeń na podstawie określonych kryteriów;c. wyszukiwanie pełnotekstowe;d. podpowiadanie treści zapytania w oprarciu o treści opublikowanych orzeczeń;e. wydruk oraz konwersja do formatu .pdf treści opublikowanego orzeczenia;f. wyświetlanie orzeczeń podobnych na podstawie analizy treści orzeczenia;g. udostępnienie API do pobierania treści orzeczeń na żądanie;h. kategoryzowanie orzeczeń na podstawie drzewa haseł tematycznych;i. publikacja kanałów RSS;j. możliwość integracji z Biuletynem Informacji Publicznej sądu;

2.3 Bezpieczeństwo1. Rozwiązanie zapewnia kontrolę dostępu do systemu opartą o użytkowników i hasła,

ograniczonych zakresem uprawnień oraz przynależnością do grupy dostępu do danych na poziomie sądu i wydziału.

2. Rozwiązanie jest wyposażone w mechanizmy uniemożliwiające nieuoprawnione pozyskanie danych z któregokolwiek modułu.

3. Wszelkie operacje są monitorowane i rejestrowane w logach wraz z datą i czasem ich wykonania (dotyczy zarówno dokumentów, użytkowników jak i procesów).

2.4 Dokumenty1. Podstawowym nośnikiem danych są pliki w dromaxie XML.2. Dokumentami zasilającymi System są:

a. orzeczenia z uzasadnieniami w formacie DOC i DOCX;b. karty kwalifikacyjne orzeczeń, zawierające informacje o sygnaturze sprawy i dacie

orzeczenia, podstawy prawnej, haśle tematycznym oraz tezie.

2.5 Przebieg procesu publikacji orzeczeń1. odznaczenie do publikacji dokumentu w systemie repertoryjno-biurowym sądu;2. import wybranego dokumentu wraz z metadanymi na serwer w infrastrukturze centralnej za

pośrednictwem sieci WAN Ministerstwa Sprawiedliwości w określonym harmonogramie;3. automatyczna anonimizacja treści orzeczenia wraz z uzasadnieniem;4. odnalezienie właściwego dokumentu w bazie przy pomocy panelu administracyjnego,

wprowadzenie metryki orzeczenia, weryfikacja automatycznej anonimizacji przez użytkownika, możliwość wprowadzenia poprawek, ukrycia treści lub cofnięcia procesu anonimizacji dla

3

Page 4: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

określonego fragmentu dokumentu, zatwierdzenie poprawności dokumentu, publikacja orzeczenia w Internecie.

II. Specyfikacja systemuWłaścicielem oprogramowania opisanego w tym rozdziale jest Zamawiający.

A. Oprogramowanie CentralneOpisane poniżej rozwiązania techniczne oparte są o otwarte oprogramowanie.

1. Silnik sterowania procesem anonimizacji orzeczeń sądowych (Workflow)1.1 Strukturalizacja, anonimizacja oraz publikacjaProgramy realizujące proces strukturalizacji oraz anonimizacji orzeczeń w Systemie oparte zostały na narzędziach typu Open Source (m. in. takie jak Sqlite3, LibreOffice, AbiWord, czy szereg bibliotek pomocniczych). Mają one postać skryptów w języku Ruby, programów w języku Java oraz w przeznaczonym dla środowiska Java języku Scala. Możliwe jest również uruchomienie ww. skryptów w języku Ruby w środowisku Java, przy pomocy oprogramowania JRuby.Strukturalizacja jako taka wykonywana jest dwuetapowo. W pierwszym etapie za pomocą oprogramowania LibreOffice wraz z jodconverter (przy małym wsparciu za pomocą programu AbiWord, który wykorzystywany jest do wydobycia dodatkowych danych metrykalnych) wejściowe dokumenty tekstowe (MS Word, RTF, OpenOffice) transformowane są do postaci XHTML. W etapie drugim ten XHTML poddawany jest analizie i zamianie na format XML, opracowany specjalnie dla potrzeb Systemu. Obydwa te etapy realizowane są przez skrypt doc2xml.rb.Oddzielnym procesem jest transformacja danych metrykalnych sprawy, w czasie które,j dane (w formacie XML) pobrane z systemu SAWA, są uzupełniane o dodatkowe informacje, dające się wydobyć z przetworzonych już orzeczeń, które zostały wydane danej sprawie. Zadanie to wykonywane jest przez skrypt build_case_xml.rb.Następnym krokiem w procesie przetwarzania jest anonimizacja orzeczeń. Do tego celu służy program anonymization-xml-1.2.1.jar. W normalnej sytuacji nie jest on jednak uruchamiany oddzielnie, lecz wraz z dwoma poprzednimi za jego uruchomienie odpowiada nadrzędny skrypt process_case.rb. Skrypt ten wykonuje oprócz tego jeszcze kilka dodatkowych zadań: dodaje odpowiednie informacje do roboczej bazy danych oraz ustawia w systemie plików informacje o właścicielu, grupie i prawach dostępu utworzonych plików.W środowisku produkcyjnym nad całością tego procesu czuwa dodatkowy skrypt watch_sources.rb, który uruchamiany jest jako tzw. demon systemu Linux. Okresowo, co 10 minut, sprawdza on, czy nie pojawiły się nowe lub zmienione dane pochodzące z importu z systemu repertoryjno-biurowego.Orzeczenia zweryfikowane przez pracowników sądu są przekazywane do publikacji, za proces publikacji odpowiedzialne są skrypty napisane w języku Python: ncourtGlobalKeywordsSuggestData.py i ncourtGlobalSuggestData.py odpowiedzialne są za przygotowanie danych dla usługi suggest, ncourt-indexer-backend.py i ncourt-prepare2index.py odpowiedzialne za proce tworzenia indeksów wyszukiwania. Wszystkie programy zostały opisane w szczegółach w dalszej części dokumentu.

1.2 Programy uczestniczące w przetwarzaniu danych

4

Page 5: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

build_case_xml.rb

Zadaniem programu build_case_xml.rb jest utworzenie w katalogu docelowym (data/court) wynikowego pliku XML metryki sprawy. Plik ten tworzony jest na podstawie wejściowego, zaimportowanego z systemu sądowego pliku metryki (z katalogu data/source) i uzupełniany danymi wydobytymi z plików XML z treścią orzeczeń (przed anonimizacją). Pliki XML z treścią orzeczeń tworzone są przez program doc2xml.rb.Program build_case_xml.rb uruchamiany jest jako drugi krok przetwarzania sprawy przez program process_case.rb.

Składnia wywołania:ruby -Ku build_case_xml.rb [-help] [-verbose|-quiet] input.xml ...

Opcje:Opcja Znaczenie-help powoduje wypisanie na standardowe wyjście tekstu

pomocy i zakończenie działania programu-verbose [tryb gadatliwy] włącza wypisywanie na standardowe

wyjście komunikatów, zawierających nazwy przetwarzanych oraz wynikowych plików

-quiet [tryb cichy] wyłącza wypisywanie na standardową diagnostykę komunikatów błędów

Parametry:Parametr Znaczenie Przykładinput.xml ...

wejściowe pliki XML zaimportowanych metryk, rozdzielone spacjami

/neurocourt/data/source/15/501515/0000512/RC/2011/000202/155015150000512_III_RC_000202_2011.xml

Program build_case_xml.rb ignoruje opcje inne niż wymienione powyżej, nie raportując żadnego błędu w razie podania innej opcji.Opcje mogą być prefiksowane dowolną liczbą myślników, tzn. zapis -verbose i ---verbose są równie dobre.

doc2xml.rbProgram doc2xml.rb służy do konwersji wejściowych, zaimportowanych z systemu sądowego, plików orzeczeń w formatach DOC, DOCX, ODT oraz RTF, do postaci niezanonimizowanych plików XML. Konwersja ta wykonywana jest za pomocą pakietu biurowego LibreOffice, przy czym w zależności od sposobu uruchomienia programu doc2xml.rb pakiet LibreOffice jest uruchamiany przez niego bezpośrednio lub też za pośrednictwem programów doc2xml-tuplespace.rb i doc2xml-server.rb.Konwersja plików orzeczeń jest pierwszym krokiem przetwarzania sprawy wykonywanym przez program process_case.rb.

5

Page 6: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Składnia wywołania:ruby -Ku doc2xml.rb [-help] [-verbose|-quiet] [-use-tuplespace] [-properties=properties-file-path] input.doc input.docx input.odt input.rtf ...

Opcje:Opcja Znaczenie-help powoduje wypisanie na standardowe wyjście tekstu pomocy i

zakończenie działania programu-verbose [tryb gadatliwy] włącza wypisywanie na standardowe wyjście

komunikatów, zawierających nazwy przetwarzanych oraz wynikowych plików

-quiet [tryb cichy] wyłącza wypisywanie na standardową diagnostykę komunikatów błędów

-use-tuplespace włącza tryb klient-serwer z pośrednikiem doc2xml-tuplespace.rb

Opcja Znaczenie Wartość domyślna

-properties=properties-file-path

ścieżka do pliku properties

/neurocourt/param/backend.properties

Parametry:Parametr Znaczenie Przykładinput.{doc,docx,odt,rtf}

wejściowe pliki orzeczeń zaimportwane z systemu sądowego

/neurocourt/data/source/15/501025/0001006/W/2012/000768/155010250001006_II_W_000768_2012_Uz_2012-12-04_001.rtf

Properties:Property Znaczenie Wartość domyślnaclassified.repertories.file

ścieżka do pliku XML z listą repertoriów, z których orzeczenia nigdy nie powinny być publikowane

/neurocourt/param/classified.xml

tuplespace.uri URL serwera "przestrzeni krotek" doc2xml-tuplespace.rb, pośredniczącego w rozdziale zadań do przetworzenia między serwery doc2xml-server.rb uruchomione w klastrze obliczeniowym

druby://localhost:7878

Program doc2xml.rb ignoruje opcje inne niż wymienione powyżej, nie raportując żadnego błędu w razie podania innej opcji.

6

Page 7: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Opcje mogą być prefiksowane dowolną liczbą myślników, tzn. zapis -verbose i ---verbose są równie dobre.

doc2xml-server.rbProgram doc2xml-server.rb pobiera z "przestrzeni krotek" utrzymywanej przez server doc2xml-tuplespace.rb zadania - referencje do wejściowych plików orzeczeń - umieszczane tam przez aplikację doc2xml.rb uruchomioną w trybie klient-serwer (tzn. z opcją -use-tuplespace), następnie zaś przy pomocy pakietu LibreOffice wykonuje ich konwersję do wskazanego formatu.Na każdym serwerze backend-owym klastra powinna być uruchomiona jedna instancja doc2xml-server.rb.

Składnia wywołania:ruby -Ku doc2xml-server.rb [-help] [-daemon[ize] [-pidfile=pidfile-path]] [-log[file]=logfile-path] [-properties=properties-file-path]

Opcje:Opcja Znaczenie-help powoduje wypisanie na standardowe wyjście tekstu pomocy i zakończenie

działania programu

-daemon lub-daemonize

uruchomienie w trybie demona, tzn. programu odłączonego od terminala, działającego niezależnie od sesji użytkownika, który go uruchomiłwskazane jest jej użycie razem z opcją -pidfile=...

Opcja Znaczenie Wartość domyślna

-pidfile=pidfile-path ścieżka do pliku, w którym zostanie zapisany identyfikator procesu demonama sens jedynie wraz z opcją -daemon (lub -daemonize)

brak

-log=logfile-path lub-logfile=logfile-path

ścieżka do pliku loga, w którym zapisywane są komunikaty generowane przez pakiet LibreOffice oraz informacje o błędach przetwarzania

/neurocourt/log/doc2xml-server.log

-properties=properties-path

ścieżka do pliku properties /neurocourt/param/backend.properties

Properties:Property Znaczenie Wartość domyślnatuplespace.uri URL serwera "przestrzeni krotek"

doc2xml-tuplespace.rbdruby://localhost:7878

7

Page 8: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Program doc2xml-server.rb ignoruje opcje inne niż wymienione powyżej, nie raportując żadnego błędu w razie podania innej opcji.Opcje mogą być prefiksowane dowolną liczbą myślników, tzn. zapis -logfile i ---logfile są równie dobre.

doc2xml-tuplespace.rbProgram doc2xml-tuplespace.rb jest serwerem "przestrzeni krotek". Przestrzeń krotek jest mechanizmem zapożyczonym z języka Linda, realizującym asynchroniczną komunikację między serwerami (doc2xml-server.rb) i klientami (doc2xml.rb). Przekazują sobie one poprzez tę przestrzeń referencje do plików wymagających konwersji oraz zwracają wynik konwersji.Pojedyncza instancja programu doc2xml-tuplespace.rb powinna być uruchomiona na serwerze aktualizacji.

Składnia wywołania:ruby -Ku doc2xml-tuplespace.rb [-help] [-daemon[ize] [-pidfile=pidfile-path]] [-log[file]=logfile-path] [-properties=properties-file-path]

Opcje:Opcja Znaczenie-help powoduje wypisanie na standardowe wyjście tekstu pomocy i zakończenie

działania programu

-daemon lub-daemonize

uruchomienie w trybie demona, tzn. programu odłączonego od terminala, działającego niezależnie od sesji użytkownika, który go uruchomiłwskazane jest jej użycie razem z opcją -pidfile=...

Opcja Znaczenie Wartość domyślna

-pidfile=pidfile-path ścieżka do pliku, w którym zostanie zapisany identyfikator procesu demonama sens jedynie wraz z opcją -daemon (lub -daemonize)

brak

-log=logfile-path lub-logfile=logfile-path

ścieżka do pliku loga, w którym zapisywane są komunikaty błędów

/neurocourt/log/doc2xml-tuplespace.log

-properties=properties-path

ścieżka do pliku properties /neurocourt/param/update.properties

Properties:

Property Znaczenie Wartość domyślnatuplespace.uri URL serwera "przestrzeni krotek"

doc2xml-tuplespace.rbdruby://localhost:7878

8

Page 9: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Program doc2xml-tuplespace.rb ignoruje opcje inne niż wymienione powyżej, nie raportując żadnego błędu w razie podania innej opcji.Opcje mogą być prefiksowane dowolną liczbą myślników, tzn. zapis -logfile i ---logfile są równie dobre.

ncourt-db.pyProgram ncourt-db.py służy do dodania lub odświeżenia w bazie danych informacji o dokumentach, które zostały zaimportowane i przetworzone. Jest on wywoływany przez program process_case.rb jako ostatni etap przetwarzania (po konwersji plików źródłowych, uzupełnieniu danych w metrykach i anonimizacji orzeczeń). W domyślnym trybie pracy program dodaje/aktualizuje dane tylko dla tych plików w zadanym katalogu wejściowym, które zostały zmodyfikowane od czasu poprzedniej aktualizacji bazy. Katalogiem wejściowym przy każdym wywołaniu jest katalog pojedynczej sprawy, program działa w trybie określonym przez opcję -f, która wymusza przetworzenie wszystkich plików w tym katalogu, niezależnie od daty ich modyfikacji.

Składnia wywołania:python ncourt_db.py input_dir courts_file db_name db_user db_password db_host db_port logfile [-c|-f]

Opcje:Opcja Znaczenie

-c powoduje, że program usuwa całą zawartość bazy, łącznie z jej strukturą (tabele, sekwencje, indeksy) i tworzy ją od nowa, a dopiero potem dodaje wszystkie dane

-f powoduje, że program dodaje/aktualizuje w bazie dane dla wszystkich plików w zadanym katalogu wejściowym, niezależnie od ich daty modyfikacji

Parametry:Parametr Znaczenie

input_dir katalog wejściowy z danymi (pliki XML metryk i orzeczeń)

courts_file plik z danymi sądów (normalnie "/neurocourt/param/courts.xml")

db_name nazwa bazy danych (normalnie "ncourt_documents")

db_user nazwa użytkownika, której używamy do połączenia z bazą danych (normalnie wartość parametru "document.database.user" z pliku konfiguracyjnego "/neurocourt/param/backend.properties"

db_password hasło użytkownika, którego używamy do połączenia z bazą danych (normalnie wartość parametru "document.database.password" z pliku konfiguracyjnego "/neurocourt/param/backend.properties"

db_host adres hosta na jakim działa serwer bazodanowy

db_port port na jakim działa serwer bazodanowy

logfile ścieżka do pliku loga

9

Page 10: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

process_case.rbZadaniem programu process_case.rb jest całościowe przetworzenie plików związanych ze sprawą. Proces ten składa się z dwóch zadań:

● rozpakowanie archiwów ZIP zawierających pliki zaimportowane z systemu sądowego,● przetworzenie rozpakowanych plików.

Na zadanie przetworzenia rozpakowanych plików składają się zaś następujące kroki:● konwersja plików *.doc, *.docx, *.odt i *.rtf do formatu XML (przy pomocy programu

doc2xml.rb),● konwersja i uzupełnienie o informacje wydobyte z orzeczeń pliku XML z metryką sprawy (przy

pomocy programu build_case_xml.rb),● anonimizacja orzeczeń (vide: Anonimizacja xml),● dodanie lub odświeżenie informacji w bazie danych (przy pomocy programu ncourt-db.py).

Każdy z wyżej wymienionych kroków kończy się ustawieniem odpowiedniego właściciela i praw dostępu dla nowo utworzonych (lub odświeżonych) plików.

Składnia wywołania:ruby -Ku process_case.rb [-help] [-verbose|-quiet] [-disable-send-mail] [-use-tuplespace] [-force] [-force-anonimization] [-force-update-db] [-new-anonimization] [-force-conversion] [-log[file]=logfile-path] [-properties=properties-file-path] input-dir ...

Opcje:Opcja Znaczenie

-help powoduje wypisanie na standardowe wyjście tekstu pomocy i zakończenie działania programu

-verbose [tryb gadatliwy] włącza wypisywanie na standardowe wyjście komunikatów, zawierających nazwy przetwarzanych oraz wynikowych plików

-quiet [tryb cichy] wyłącza wypisywanie na standardową diagnostykę komunikatów błędów

-disable-send-mail wyłącza wysyłanie przez email powiadomień o zaistniałych błędach i problemach z przetwarzaniem

-use-tuplespace włącza tryb klient-serwer z pośrednikiem doc2xml-tuplespace.rb

-force wymusza wykonanie wszystkich kroków przetwarzania, za wyjątkiem konwersji plików wejściowych do formatu XMLbez równoczesnego użycia flagi -force-anonimization wykonuje anonimizację jedynie plików z xFlag="crude"

-force-anonimization wymusza wykonanie anonimizacji, także plików z xFlag z wartością inną od "crude" (w tym przypadku plik jest wersjonowany)

-force-update-db wymusza wprowadzenie do bazy nowych informacji o plikach (uruchomienie programu ncourt-db.py z opcją -f)

10

Page 11: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

-new-anonimization opcja przeznaczona specjalnie dla trybu reanonimizacji, po zainstalowaniu nowego silnika anonimizacji

-force-conversion [opcja nieujawniona w tekście pomocy] wymusza ponowną konwersję plików wejściowych, a co za tym idzie nadpisanie wszystkich plików

watch_sources.rbSkładnia wywołania:ruby -Ku watch_sources.rb [-verbose|-quiet] [-force] [-daemon[ize]] [-pidfile=pidfile-path] [-interval=seconds(default=600)] database-uri source-dir [output.log [error.log]]

Opcje:Opcja Znaczenie

-verbose włącza wypisywanie komunikatów nt. wykonywanych działań

-quiet wyłącza wypisywanie komunikatów, również tych dotyczących błędów

-force wymusza przetworzenie zadanych katalogów, nawet jeżeli daty modyfikacji

-daemon uruchomienie w trybie demona systemowego

-pidfile nazwa pliku, w którym ma zostać umieszczony identyfikator procesu demona

-interval parametr mówiący o tym, co ile sekund należy sprawdzić zawartość katalogu z danymi źródłowymi (domyślnie raz na 10 minut)

Parametry:Opcja Znaczenie

database-uri URI pomocniczej bazy danych (Sqlite3)

source-dir katalog w danymi wejściowymi, w którym są umieszczane pliki zaimportowane z systemu repertoryjno-biurowego

output.log plik z logiem działania programu; informacje o wykonywanych działaniach kierowane są na standardowe wyjście, jeżeli plik ten nie został określony

error.log plik z logiem błędów; jeżeli nie zostanie podany, informacje o błędach zapisywane są do pliku output.log lub kierowane na standardową diagnostykę,jeżeli plik ten nie został określony

Dla skryptu tego istnieje również odpowiedni systemowy skrypt startowy o nazwie watch_sources, który musi zostać umieszczony w katalogu /etc/init.d, służący do automatycznego uruchamiania tego demona w trakcie startu systemu, jak również do jego zatrzymywania.

1.3 Programy uczestniczące w aktualizacji danych dla portalu orzeczeń

ncourtGlobalKeywordsSuggestData.py

11

Page 12: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Program ncourtGlobalKeywordsSuggestData.py służy do przygotowania globalnej bazy haseł tematycznych dla usługi Suggest dla opublikowanych orzeczeń. Globalna, oznacza w tym wypadku, że przy budowie tej bazy brane są pod uwagę hasła tematyczne ze wszystkich opublikowanych orzeczeń ze wszystkich sądów. Przygotowuje on plik tekstowy w formacie odpowiednim dla nscopegen, a następnie za pomocą tego programu tworzy właściwą bazę dla suggesta. Ponadto przygotowuje on pliki CSV, w których są informacje o częstotliwości występowania poszczególnych haseł w opublikowanych orzeczeniach. Do jego działania konieczne jest stworzenie wcześniej pliku konfiguracyjnego dla programu nscopegen. Podczas aktualizacji danych robi to program update_publisher.rb, który w odpowiednim momencie wywołuje ncourtGlobalKeywordsSuggestData.py.

Składnia wywołaniapython ncourtGlobalKeywordsSuggestData.py keywordsDataDir outputDir nscopegenDir suggestCfgFile publishedJudgementsAddsFilesDir

Parametry:Parametr ZnaczeniekeywordsDataDirDir katalog z plikami CSV z wszystkimi hasłami tematycznymi

outputDir katalog, w którym zostanie utworzony plik z bazą danych dla suggesta haseł tematycznych

nscopegenDir katalog, w którym znajduje się nscopegen

suggestCfgFile plik konfiguracyjny dla nscopegen

publishedJudgementsAddsFilesDir katalog z plikami 'adds' dla opublikowanych orzeczeń

ncourtGlobalSuggestData.pyProgram ncourtGlobalSuggestData.py służy do przygotowania globalnych baz sygnatur spraw i nazw sędziów dla usługi Suggest dla opublikowanych orzeczeń. Globalna, oznacza w tym wypadku, że przy budowie tej bazy brane są pod uwagę dane ze wszystkich opublikowanych orzeczeń ze wszystkich sądów. Przygotowuje on pliki tekstowe w formacie odpowiednim dla nscopegen, a następnie za pomocą tego programu tworzy właściwe bazy dla suggesta. Do jego działania konieczne jest stworzenie wcześniej plików konfiguracyjnych dla programu nscopegen. Podczas aktualizacji danych robi to program update_publisher.rb, który w odpowiednim momencie wywołuje ncourtGlobalSuggestData.py.

Składnia wywołania:python ncourtGlobalSuggestData.py signatures_suggest_cfg judges_suggest_cfg nscopegen_dir output_dir published_data_dir

Parametry:Parametr Znaczeniesignatures_suggest_cfg plik konfiguracyjny dla nscopegen do utworzenia bazy suggesta

sygnatur

judges_suggest_cfg plik konfiguracyjny dla nscopegen do utworzenia bazy suggesta sędziów

12

Page 13: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

nscopegen_dir katalog, w którym znajduje się nscopegen

output_dir katalog, w którym zostaną utworzone plik z bazami danych dla suggesta

published_data_dir katalog z plikami XML opublikowanych orzeczeń

ncourt-indexer-backend.pyProgram ncourt-indexer-backend.py dodaje do indeksu dokumentów dla Portalu Orzeczeń te opublikowane przez sądy na danym backendzie. Jest uruchamiany przez program backend-indexer.rb, na każdym backendzie osobno. Dane orzeczeń pobiera z bazy i dodatkowo z plików "adds" (hasła tematyczne i powołane przepisy). Jeśli w bazie brakuje nazwy edytora lub publikatora danego dokumentu próbuje ją pobrać z LDAP. Program sam nie otwiera indeksu przed dodawaniem dokumentów, dostaje on jako parametr token sesji już otwartego indeksu.

Składnia wywołania:python ncourt-indexer-backend.py input_dir output_dir nscope_server nscope_token db_name db_user db_password db_host db_port ldap_url ldap_users_base logfile

Parametry:Parametr Znaczenie

input_dir katalog z danymi wszystkich zaimportowanych i przetworzonych metryk i orzeczeń

output_dir katalog z danymi opublikowanych dokumentów

nscope_server adres serwera Neuroscope

nscope_token token sesji otwartego indeksu Neuroscope

db_name nazwa bazy danych, z której program pobiera dane opublikowanych orzeczeń

db_user nazwa użytkownika, której używamy do połączenia z bazą danych

db_password hasło użytkownika, którego używamy do połączenia z bazą danych

db_host adres hosta na jakim działa serwer bazodanowy

db_port port na jakim działa serwer bazodanowy

ldap_url adres URL LDAP-a

ldap_users_base część LDAP-a, w której są dane użytkowników

logfile ścieżka do pliku loga

ncourtKeywordsSuggestData.pyProgram ncourtKeywordsSuggestData.py służy do przygotowania baz haseł tematycznych dla usługi Suggest. Możemy przygotować bazę dla aplikacji administracyjnej, która jest taka sama dla każdego sądu (zawiera wszystkie możliwe hasła tematyczne) albo bazy suggest haseł tematycznych dla

13

Page 14: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

opublikowanych orzeczeń z każdego sądu, które zawierają tylko te hasła, które występują w opublikowanych dokumentach. W tym drugim przypadku zostaną również przygotowane pliki CSV, w których są informacje o częstotliwości występowania poszczególnych haseł w opublikowanych orzeczeniach dla każdego sądu osobno. Do działania programu konieczne jest stworzenie wcześniej pliku konfiguracyjnego dla programu nscopegen, ponieważ to ten program tworzy właściwe bazy na podstawie przygotowanych wcześniej przez ncourtKeywordsSuggestData.py plików tekstowych w odpowiednim formacie. Podczas aktualizacji danych pliki konfiguracyjne dla nscopegen przygotowuje backend_publisher.rb, który następnie wywołuje ncourtKeywordsSuggestData.py.

Składnia wywołania:python ncourtGlobalKeywordsSuggestData.py keywordsDataDir courtsFile outputDir nscopegenDir suggestCfgFile publishedJudgementsAddsFilesDir

Parametry:Parametr Znaczenie

keywordsDataDirDir katalog z plikami CSV z wszystkimi hasłami tematycznymi

courtsFile plik z danymi sądów (normalnie "/neurocourt/param/courts.xml")

outputDir katalog, w którym zostanie utworzony plik z bazą danych dla suggesta haseł tematycznych

nscopegenDir katalog, w którym znajduje się nscopegen

suggestCfgFile plik konfiguracyjny dla nscopegen

publishedJudgementsAddsFilesDir katalog z plikami 'adds' dla opublikowanych orzeczeń

ncourt-prepare2index.pyProgram ncourt-prepare2index.py służy do wstępnego przygotowania danych oznaczonych do publikacji orzeczeń dla programu dodającego je do indeksu bazy danych. Program wykonuje trzy czynności dla dokumentów, które są do publikacji, a nie są obecnie opublikowane - zmienia im w bazie statusy z "TO_PUBLISH" na "PUBLISHED", ustawia im datę publikacji w bazie i w plikach XML zmienia wartość atrybutu "xFlag" elementu głównego "xPart" na "published".

Składnia wywołania:python ncourt-prepare2index.py db_name db_user db_password db_host db_port logfile

Parametry:Parametr Znaczenie

db_name nazwa bazy danych, w której są dane orzeczeń

db_user nazwa użytkownika, której używamy do połączenia z bazą danych

db_password hasło użytkownika, którego używamy do połączenia z bazą danych

db_host adres hosta na jakim działa serwer bazodanowy

db_port port na jakim działa serwer bazodanowy

14

Page 15: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Logfile ścieżka do pliku loga

ncourtSuggestData.pyProgram ncourtSuggestData.py służy do przygotowania baz sygnatur spraw i nazw sędziów dla usługi Suggest. Możemy przygotować bazy dla aplikacji administracyjnej, które dla każdego sądu zawierają wszystkie sygnatury, dla których są w systemie przetworzone dokumenty i wszystkich sędziów występujących w tych dokumentach. Możemy też przygotować bazy dla opublikowanych orzeczeń z każdego sądu, które zawierają tylko sygnatury spraw opublikowanych dokumentów i sędziów, którzy się tam pojawiają. Do działania programu konieczne jest stworzenie wcześniej plików konfiguracyjnych dla programu nscopegen, ponieważ to ten program tworzy właściwe bazy na podstawie przygotowanych wcześniej przez ncourtSuggestData.py plików tekstowych w odpowiednim formacie. Podczas aktualizacji danych pliki konfiguracyjne dla nscopegen przygotowuje backend_publisher.rb, który następnie wywołuje ncourtSuggestData.py.

Składnia wywołania:python ncourtSuggestData.py a|c db_name db_user db_password db_host db_port signatures_suggest_cfg judges_suggest_cfg nscopegen_dir output_dir

Opcje:Opcja ZnaczenieA powoduje, że program przygotuje bazy danych suggest dla aplikacji

ncourt-adminC powoduje, że program przygotuje bazy danych suggest dla aplikacji

ncourt-client

Parametry:Parametr Znaczeniedb_name nazwa bazy danych przetworzonych orzeczeń (normalnie

"ncourt_documents")

db_user nazwa użytkownika, której używamy do połączenia z bazą danych (normalnie wartość parametru "document.database.user" z pliku konfiguracyjnego "/neurocourt/param/backend.properties"

db_password hasło użytkownika, którego używamy do połączenia z bazą danych (normalnie wartość parametru "document.database.password" z pliku konfiguracyjnego "/neurocourt/param/backend.properties"

db_host adres hosta na jakim działa serwer bazodanowy

db_port port na jakim działa serwer bazodanowy

signatures_suggest_cfg plik konfiguracyjny dla nscopegen do utworzenia baz suggesta sygnatur

judges_suggest_cfg plik konfiguracyjny dla nscopegen do utworzenia baz suggesta

15

Page 16: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

sędziów

nscopegen_dir katalog, w którym znajduje się nscopegen

output_dir katalog, w którym zostaną utworzone plik z bazami danych dla suggesta

2. Panel administracyjny (Manager)Aplikacja webowa do interaktywnej kontroli wyniku anonimizacji orzeczeń sądowych. Istnieje 11 instancji aplikacji działających dla każdej z apelacji oddzielnie. Pula użytkowników oraz orzeczeń jest odrębna na poziomie każdego sądu. Komunikacja pomiędzy użytkownikami końcowymi a serwerem jest szyfrowana za pomocą protokołu SSL.Logowanie do systemu:

16

Page 17: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Zakładka Szukanie:

Formularz wyszukiwania zawiera następujące kryteria:● sygnatura● typ:

○ dowolny○ wyrok○ wyrok wstępny○ postanowienie○ uzasadnienie○ zarządzenie○ protokół

17

Page 18: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

○ doręczenie○ zawiadomienie○ wezwanie○ inny

● status:○ dowolny○ do sprawdzenia○ trwa sprawdzanie○ sprawdzony○ do publikacji○ opublikowany

● sad● wydział● data orzeczenia (data wydania “do”, “do” wraz z podręcznym kalendarzem)● sędzia● tezowane [tak | nie | wszystkie]● użytkownik [ja | wszyscy]● wyświetl niepublikowane [tak | nie]

Wyniki wyszukiwania prezentują listę dokumentów wraz z ich typem i statusem.

18

Page 19: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Zakładka Statystyki

Zakładka Reguły anonimizacjiZawiera zestaw jednolitych reguł anonimizacji, którymi kieruje się oprogramowanie anonimizacyjne oraz użytkownicy weryfikujący proces automatycznej anonizmizacji.

19

Page 20: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Zakładka Wsparcie

Zakładka Wsparcie zawiera dane kontaktowe do wsparcia technicznego, prawnego oraz konsultacji w zakresie anonimizacji dla Użytkownika Końcowego. Ponadto jest to miejsce na instrukcje użytkownika.

20

Page 21: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Zakładka Użytkownicy (widoczna dla użytkownika Administrator)

Zakładka Administrator pozwala na zarządzanie użytkownikami. Możliwa jest automatyzacja tworzenia kont użytkowników za pomocą odpowiednio sformatowanego pliku CSV.

21

Page 22: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Tworzenie nowego użytkownika:

Administrator w danym sądzie może zakładać konta użytkowników przydzielając im dostęp do jednego lub więcej wydziału macierzystego sądu. Rozróżniamy trzy typy uprawnień:

1. administrator (może edytować orzeczenia, może publikować orzeczenia, zarządzać użytkownikami)

2. osoba publikująca orzeczenia (może publikować orzeczenia)3. edytor orzeczeń (może edytować orzeczenia)

Administrator może również w dowolnym zakresie edytować konta użytkowników i usuwać konta.

22

Page 23: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Metryka Orzeczenia

Część informacji takich znajdujących się w metryce musi zostać uzupełniona przez użytkownika, pozostałe zostały automatycznie zaimportowane wraz z dokumentem lub pobrane z jego treści. Hasła tematyczne ograniczone są do słownika haseł tematycznych.

23

Page 24: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Sprawdzanie anonimizacji

Dostępne są trzy tryby wyświetlania:1. rozszerzony - wyświetla wyróżniony oryginalny tekst jak i zanonimizowany2. zanonimizowany - wyświetla wyłącznie wyróżniony zanonimizowany tekst3. publiczny - wyświetla zanonimizowany tekst bez wyróżnienia

Wyróżnione kolorem żółtym elementy są efektem działania dodatku do automatycznej anonimizacji oraz dodatku do podświetlania wybranych haseł w tekstach będących częścią Oprogramowania Dedykowanego. Użytkownik może w każdej chwili przerwać sprawdzanie/poprawianie anonimizacji powracając do listy wyszukiwania, może anulować sprawdzanie co spowoduje powrót dokumentu do wersji pierwotne, może również zatwierdzić sprawdzanie. Zatwierdzony dokument może zostać opublikowany w Internecie.

24

Page 25: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Usuwanie anonimizacji

Użytkownik może usunąć anonimizację jeżeli uważa, że jest to konieczne używając menu kontekstowego. Opcja Usuń anonimizację usunie tylko aktualnie zaznaczony element, Usuń wszystkie takie... spowoduje usunięcie wszystkich takich bytów z całego tekstu natomiast Zamień wszystkie takie... wyświetli listę zamienników na jakie w tym wypadku imię i nazwisko powinno zostać zamienione w całej treści orzeczenia.

Dodawanie anonimizacji

Aby zanonimizować tekst, użytkownik zaznacza fragment treści i używając menu kontekstowego decyduje w jaki sposób powinien zostać zastąpiona zaznaczony tekst, jeżeli użyje opcji Utwórz wszystkie takie... wszystkie byty identyczne z zaznaczonym w całym dokumencie zostaną zastąpione na wybrane przez użytkownika zestawy znaków.

3. Aplikacja webowa dla użytkownika końcowego (Publisher)Aplikacja webowa dostępna przez Biuletyn Informacji Publicznej sądów posiadających Portal Orzeczeń oraz pod adresem http://orzeczenia.ms.gov.pl.

25

Page 26: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Aplikacja umożliwia pełnotekstowe wyszukiwanie za pomocą słów kluczowych oraz sygnatury sprawy wraz z wbudowanym korektorem zapytań i generatorem natychmiastowych podpowiedzi. Wyświetla rozwijane drzewo sądów, w których uruchomiony został Portal Orzeczeń wraz z ilością opublikowanych dokumentów.

26

Page 27: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Wyszukiwanie zaawansowane pozwala na zawężenie wyników wyszukiwania względem zastosowanych kryteriów.

Hasła tematyczne przypisane do orzeczeń z podziałem na Karne oraz Cywilne, pracy i ubezpieczeń społecznych. Wybór hasła tematycznego powoduje wyświetlenie wszystkich orzeczeń do niego przypisanych.

27

Page 28: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Metryka orzeczenia

28

Page 29: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Treść wyroku wraz z uzasadnieniem. Możliwe jest wydrukowanie dokumentu oraz eksport do formatu PDF. Jeżeli w treści przywołane zostały akty prawne, zostają one automatycznie podlinkowane do właściwej ustawy w Internetowym Systemie Aktów Prawnych.

29

Page 30: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Wszystkie przywołane w treści akty zebrane są w zakładce “Powołane przepisy”.

30

Page 31: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

4. Schemat infrastruktury centralnej

31

Page 32: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Komponenty systemu znajdują się w trzech wyróżnionych strefach:● frontend - część systemu odpowiedzialna za udostępnienie zanonimizowanych orzeczeń

użytkownikom końcowym za pośrednictwem Internetu,● backend - część systemu w której następuje proces anonimizacji oraz przygotowania danych do

publikacji● strefa sądów - w poszczególnych sądach objętych systemem zainstalowane jest oprogramowanie

eksportujące zablokowane orzeczenia do części backendowej

Serwery Fronted 1-nPrzeznaczenie: Zadaniem tych serwerów jest zapewnienie Użytkownikom Końcowym dostępu do opublikowanych orzeczeń sądów poprzez aplikację webową.

Zainstalowane oprogramowanie: Debian GNU/Linux 6.0 amd64, serwer aplikacji Apache Tomcat 7.0, Oracle Java 7 oraz aplikacje: ncourt-client, gram-server, Neurosoft Neuroscope 3.6.

Serwer konfiguracji (frontend)

Przeznaczenie: Zadaniem tego serwera jest zarządzanie konfiguracją wszystkich serwerów frontendowych (konfiguracja systemu i aplikacji)

Zainstalowane oprogramowanie: serwer polityki konfiguracji CFEngine (frontend), Nagios 3.2 (monitorowanie infrastruktury).

Serwer UpdatePrzeznaczenie: Zadaniem tego serwera jest wykonywanie zbiorczej aktualizacji (indeksów nscope zawierających wszystkie opublikowane orzeczenia ze wszystkich sądów objętych systemem).Indeksy działające na tym serwerze są wypełniane przez serwery backendowe. Po zakończeniu tworzenia indeksu jest on kopiowany na wszystkie serwery frontendowe. Serwer ten pośredniczy również w procesie natychmiastowego wycofywania dokumentów z publikacji oraz pełni rolę zarządcy konfiguracji serwerów backendowych.

Zainstalowane oprogramowanie: Debian GNU/Linux 6.0 amd64, Neurosoft Neuroscope 3.6, oprogramowanie wykonujące aktualizacje, serwer polityki konfiguracji CFEngine (backend), serwer NFS, Nagios 3.2 (monitorowanie infrastruktury).

Serwery Backend 1 - n

Przeznaczenie: Serwery backendowe odpowiedzialne będą za: odbiór danych, w szczególności nowych orzeczeń do anonimizacji, z poszczególnych sądów

32

Page 33: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

automatyczną anonimizację pobranych orzeczeń, umożliwienie ich weryfikacji oraz ręcznej anonimizacji (aplikacja webowa panel

administracyjny) przygotowanie danych do aktualizacji.

Zainstalowane oprogramowanie: Linux Debian, server aplikacji JAVA (tomcat lub jetty), aplikacja ncourt-client,

Debian GNU/Linux 6.0 amd64, serwer aplikacji Apache Tomcat 7.0, Oracle Java 7 oraz aplikacje: ncourt-admin, gram-server, serwer bazy danych PostgreSQL, oprogramowanie wykonujące automatyczną anonimizację.

Serwery BackupPrzeznaczenie: Przechowywanie kopii zweryfikowanych orzeczeń oraz baz danych systemu

III. Zobowiązania Wykonawcy1.Wykonawca zobowiązany jest dostarczyć Zamawiającemu Importer tj. program importujący pliki oraz metadane z systemu repertoryjno-biurowego1.1 WstępZadaniem oprogramowania służącego do importu danych do Portalu Orzeczeń jest pobieranie dokumentów orzeczeń sądów powszechnych wraz z metadanymi z sądu do infrastruktury centralnej. Pobierane mają być wyłącznie orzeczenia wskazane przez pracownika sądu do publikacji. Dane te są w kolejnych etapach przetwarzane i prezentowane w panelu administracyjnym.

1.2 Źródło danychŹródłem pobieranych danych są bazy MS SQL programów repertoryjno-biurowych SAWA, Sędzia2 oraz Praetor zainstalowane w sądach. Metadane orzeczeń pobierane są z tych samych baz i dotyczą samej sprawy (sąd, wydział, sygnatura, itp.), stron w sprawie, przedmiotu sprawy, składu sędziowskiego, protokolanta, orzeczeń powiązanych ze sprawą i ich dat prawomocności.

1.3 Format danych wyjściowychProgram importujący dane zapisuje metadane orzeczeń w pliku xml, natomiast treści orzeczeń w formacie, w jakim zapisane są w bazie. Mogą to być pliki w formacie doc, docx, odt lub rtf, dodatkowo dokumenty w formacie doc mogą być przechowywane w bazie w formie skompresowanego archiwum zip. Moduł zapisujący decyduje na podstawie nagłówka pliku o tym w jakim formacie ma zostać zapisany. W sytuacji, gdy niemożliwym jest określenie formatu pliku, jest on zapisywany w pliku z rozszerzeniem unknown. Nazewnictwo plików:

● metadane orzeczenia:przykład: 155020000001003_II_Ca_000136_2013

● dokument orzeczenia:przykład: 155020000001003_II_Ca_000136_2013_Uz_2013-04-09_001

Znaczenie kolejnych członów oddzielonych znakiem '_' jest następujące:

33

Page 34: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

● '155020000001003' - wyróżnik sądu wraz z wyróżnikiem wydziału utworzony zgodnie z instrukcją Krajowego Koordynatora do spraw koordynacji wdrożeń systemów informatycznych w sądach powszechnych dotyczącą generowania wyróżników wydziałów sądowych

● -'II' - numer wydziału● 'Ca' - repertorium● '000136' - numer sprawy (w danym roku) z danego repertorium (zapisywany zawsze na 6

pozycjach z zerami wiodącymi)● '2013' - rok sprawy● 'Uz' - typ dokumentu (tutaj uzasadnienie – typ domyślny)● '2013-04-09' - data wydania orzeczenia● '001' - numer dokumentu (zapisywany zawsze na 3 pozycjach z zerami wiodącymi) z danego dnia

dla danej sprawy (wymagany dla sytuacji, gdy jednego dnia wydane zostaje więcej niż 1 orzeczenia w sprawie)

Struktura pliku metadanych orzeczenia:<?xml version="1.0" encoding="utf-8"?><xCase>

<xCaseID>119280</xCaseID><xCourt>Sąd Okręgowy w Świdnicy</xCourt><xCourtID>155020000000000</xCourtID><xDepartment>II Wydział Cywilny Odwoławczy</xDepartment><xDepartmentID>155020000001003</xDepartmentID><xSignature xNmbr="6" xDepartment="II" xRepertory="Ca" xYear="2013" xOthers="" /><xDateOfReceipt>2013-05-07T00:00:00</xDateOfReceipt><xSubject>o uzgodnienie treści KW</xSubject><xParties>

<xIndividuals><xIndividual>

<xIndividualID>295187</xIndividualID><xAddresses>

<xAddress><xType>Zamieszkania</xType><xStreet>ul. Długa</xStreet><xHouseNmbr>8</xHouseNmbr><xFlatNmbr>9</xFlatNmbr><xTown>Pacanów</xTown><xZipCode>22-133</xZipCode><xCountry>Polska</xCountry>

</xAddress><xAddress>

<xType>Korespondencyjny</xType><xStreet>ul. Szeroka</xStreet><xHouseNmbr>1</xHouseNmbr><xFlatNmbr>1</xFlatNmbr><xTown>Pacanów</xTown><xZipCode>22-133</xZipCode><xCountry>Polska</xCountry>

</xAddress></xAddresses><xGivenName>Ewa</xGivenName><xFamilyName>Nowak</xFamilyName><xRole>Powód</xRole>

34

Page 35: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

</xIndividual></xIndividuals><xOrganizations>

<xOrganization><xOrganizationID>295188</xOrganizationID><xAddresses><xAddress>

<xType>Korespondencyjny</xType><xStreet>ul. Krótka</xStreet><xHouseNmbr>6</xHouseNmbr><xFlatNmbr>8</xFlatNmbr><xTown>Wiązów</xTown><xZipCode>00-117</xZipCode><xCountry>Polska</xCountry>

</xAddress></xAddresses><xName>PZU w Warszawie</xName><xRole>Pozwany</xRole>

</xOrganization></xOrganizations>

</xParties><xReason>

<xJury><xJudge>Andrzej Mazur</xJudge><xJudge>Jerzy Kowalczyk</xJudge>

</xJury><xClerks>

<xClerk>Marcin Domagalik</xClerk></xClerks>

</xReason><xBecomeFinal>

<xBecomesFinal><xFileName>155020000001003_II_Ca_000136_2013_Uz_2013-04-09_001</xFileName><xDate>2013-04-09T00:00:00</xDate>

</xBecomesFinal><xBecomesFinal>

<xFileName>155020000001003_II_Ca_000136_2013_Uz_2013-04-19_001</xFileName><xDate>2013-04-09T00:00:00</xDate>

</xBecomesFinal></xBecomeFinal>

</xCase>

Opis struktury znaczników pliku metadanych orzeczenia:xCase – element główny sprawyxCaseID – identyfikator sprawy w baziexCourt – nazwa sądu (pobierana z lokalnej konfiguracji importu)xCourtID – identyfikator sądu (pobierany z lokalnej konfiguracji importu)xDepartment – nazwa wydziału (pobierana z lokalnej konfiguracji importu)xDepartmentID – identyfikator wydziału (pobierany z lokalnej konfiguracji importu)xSignature – sygnatura sprawy, w poszczególnych atrybutach są jej części:xNmbr – numer sprawyxDepartment – numer wydziału, z którego pochodzi sprawa

35

Page 36: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

xRepertory – kod repertorium, z którego pochodzi sprawaxYear – rok sprawyxOthers – atrybut dodatkowy (obecnie nieużywany)xDateOfReceipt – data wpływu sprawyxSubject – przedmiot sprawyxParties – strony w sprawiexIndividuals (wewnątrz 'xParties', zawiera listę elementów 'xIndividual') – osoby będące stronami w sprawiexIndividual – osoba będąca stroną w sprawie. Podelementy:xIndividualID – identyfikator osoby w bazie (jako podmiotu w sprawie)xAddresses – adresy tej osoby (korespondencyjny, zamieszkania)xGivenName – imię osobyxFamilyName – nazwisko osobyxRole – rola w sprawiexOrganizations (wewnątrz 'xParties', zawiera listę elementów 'xOrganization') – organizacje będące stronami w sprawiexOrganization – organizacja będąca stroną w sprawie. Podelementy:xOrganizationID – identyfikator organizacji w bazie (jako podmiotu w sprawie)xAddresses – adresy tej organizacjixName – nazwa organizacjixRole – rola w sprawiexAddresses (zawiera listę elementów 'xAddress') – adresy podmiotu w sprawiexAddress – adres podmiotu w sprawie. Podelementy:xType – typ adresuxStreet – ulicaxHouseNmbr – numer domuxFlatNmbr – numer lokaluxTown – miejscowośćxZipCode – kod pocztowyxCountry – krajxReason – przechowuje dane sędziów i protokolantówxJury (wewnątrz 'xReason', zawiera listę elementów 'xJudge') – sędziowie w sprawiexJudge – sędzia w sprawiexClerks (wewnątrz 'xReason', zawiera listę elementów 'xClerk') – protokolanci w sprawiexClerk – protokolant w sprawiexBecomeFinal (zawiera listę elementów 'xBecomesFinal') – daty prawomocności orzeczeńxBecomesFinal – przechowuje datę prawomocności jednego orzeczenia. Podelementy:xFilename – nazwa pliku orzeczenia, które ma datę prawomocnościxDate – data prawomocności orzeczenia

Elementy obowiązkowe metryki sprawyElementy, które muszą znaleźć się w metryce, żeby sprawa została przetworzona po pobraniu, to: 'xCase', 'xCaseID', 'xCourt', 'xCourtID', 'xDepartment', 'xDepartmentID', 'xSignature' i wszystkie jego atrybuty oprócz 'xOthers' oraz xDateOfReceipt.

36

Page 37: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

1.4 Opis działania programu importującegoProgram importujący jest aplikacją działająca w środowisku telefinormatycznym danego sądu i składać ma się z usługi uruchomionej w tle oraz właściwego programu importującego. Usługa odpowiada za kontrolę uruchamiania procesu importu oraz jego aktualizacje. W tym celu odpytuje w określonym interwale serwer w celu pobrania aktualnego pliku konfiguracji zdalnej. W sytuacji, gdy pojawi się nowa wersja programu importującego, usługa dokonuje aktualizacji. Właściwy program importujący korzysta ze wskazanego w konfiguracji lokalnej katalogu tymczasowego, gdzie składuje pobierane dane oraz ich stan. Po zakończeniu procesu zbierania danych z serwera bazodanowego oraz porównywania ich stanu ze stanem z poprzedniego importu, tworzona jest paczka skompresowanego archiwum zip i przesyłana do serwera centralnego za pośrednictwem protokołu SFTP (rozszerzenie protokołu SSH-2). Zarówno usługa jak i program importujący mają generować odpowiednio logi z wykonywanych operacji. Program umożliwia import przyrostowy, tzn., że pobierane są wyłącznie dane nowe lub zmienione od czasu poprzedniego importu oraz pełny, podczas którego pobierane wszystkie dane zaznaczone do importu niezależnie od tego, czy były już wcześniej pobrane. Tryb przyrostowy jest domyślny, tryb pełnego importu używany jest, gdy nowa wersja importera wprowadza zmiany, które wymagają ponownego pobrania wszystkich danych. Szczegółowy sposób działania programu importującego zostanie zatwierdzony przez Zamawiającego przed jego implementacją.

1.5 Konfiguracje programu importującegoKonfiguracja działania programu importującego składa się z dwóch części – konfiguracji lokalnej (modyfikowanej przez dany sąd) oraz konfiguracji zdalnej zarządzanej z infrastruktury centralnej.

Plik lokalnej konfiguracji będący częścią importera zainstalowanego w sądzie określa m.in. takie parametry jak: identyfikator sądu i wydziałów, informacje niezbędne do połączenia z serwerem MS SQL (autoryzacja zintegrowana z systemem operacyjnym lub oparta na loginie i haśle), ścieżka do pliku zdalnej konfiguracji, katalog roboczy oraz lista wydziałów sądu, które znajdują się w danej lokalizacji. Importer przewiduje istnienie wielu lokalizacji baz danych dla jednego sądu.

W pliku konfiguracji zdalnej dla każdego sądu istnieć musi odpowiednia sekcja dotycząca ustawień importu. Określa on parametry połączenia SCP do serwera w infrastrukturze centralnej, na który mają być przesyłane dane, typ programu repertoryjno-biurowego oraz lista wydziałów, dla których chcemy określić dodatkowe parametry importu. Konfiguracja zawiera również harmonogram uruchomienia programu importującego.

2. Modyfikacje Systemu:2.1. Logi systemowe oraz historia orzeczenia2.2. Oznaczenie orzeczeń istotnych2.3. Możliwość tworzenia zakładek w edytorze anonimizacji orzeczenia2.4. Filtrowanie po dacie publikacji orzeczenia2.5. Sortowanie listy orzeczeń względem daty importu do systemu2.6. Indeks górny i znak paragrafu (§) w podstawie prawnej2.7. Aplikacja webowa do sprawdzania poprawności opublikowanych orzeczeń

37

Page 38: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

2.8. Drzewo haseł tematycznych2.9. Publikacja RSS2.10. Indeks bazy orzeczeń dla silników zasilających wyszukiwarki internetowe2.11. Interaktywna mapa kraju z wyszczególnieniem sądów powszechnych2.12. Orzeczenia podobne2.13. API

2.1 Logi systemowe oraz historia orzeczeniaObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest dodanie logów dla administratora rejestrujących wszystkie zdarzenia systemowe, które może wykonać użytkownik z wyszczególnieniem nazwy użytkownika, daty i godziny oraz wykonanej czynności. Formularz filtrowania historii logów po dostępnych kategoriach, możliwość sortowania logów. Dodatkowo historia orzeczenia w zakładce historia po przejściu do szczegółów danego orzeczenia. Wyświetlone tam informacje mają prezentować zdarzenia, które dotyczyły tego orzeczenia w szczególności: informacje kto i kiedy sprawdził, opublikował orzeczenie, aktualizacja orzeczenia, wycofanie z publikacji etc.

2.2 Oznaczenie orzeczeń istotnychObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest wprowadzenie do metryki orzeczenia istotności ocenianej w skali od 0 do 5, gdzie 0 znaczy najmniej istotne, 5 najbardziej istotne oraz “brak” (wartość domyślna) w sytuacji kiedy sędzia nie określi wartości i w przypadku orzeczeń już opublikowanych. W warstwie prezentacji orzeczenia, istotność wyświetlana ma być w metryce orzeczenia oraz na liście wyszukanych elementów (lewa kolumna) w postaci graficznej skali gwiazdek. Dodatkowo w wynikach wyszukiwania prostego oraz zaawansowanego rezygnujemy z sortowania względem “typu orzeczenia” na rzecz istotności. W formularzu wyszukiwania zaawansowanego należy dodać nowe kryterium “istotność orzeczenia większa niż” z możliwością wyboru od 0 do 5, gdzie 0 jest wartością domyślną. Rezultatem wprowadzenia istotności w domyślnym wyniku wyszukiwania musi być przecięcie trafności z istotnością orzeczenia. Orzeczenia oznaczone w polu istotność na wartość “brak” będą tolerowane jak oznaczone wartością 0.

2.3. Możliwość tworzenia zakładek w edytorze anonimizacji orzeczeniaObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest wbudowanie możliwości dodawania zakładek (komentarzy) odnoszących się do akapitu tekstu w edytorze anonimizacji orzeczenia. Po wywołaniu prawym przyciskiem myszy menu kontekstowego w dowolnym miejscu akapitu tekstu,, nową pozycją na liście powinno być “dodaj zakładkę”, po wybraniu której, użytkownik będzie miał możliwość wprowadzenia treści, zatwierdzenia lub anulowania nowej zakładki. Efektem dodania zakładki będzie oznaczenie wskazanego fragmentu tekstu innym kolorem oraz graficzne odniesienie do prawego marginesu tekstu, gdzie znajdować ma się treść zakładki wprowadzona przez użytkownika oraz data i godzina utworzenia zakładki. Aby usunąć zakładkę, należy użyć przycisku X w prawym górnym rogu zakładki. Zakładka utworzona przez jednego użytkownika będzie widoczna tylko dla niego. Tworzenie i usuwanie zakładek nie będzie rejestrowane w logach systemowych.

2.4. Filtrowanie po dacie publikacji orzeczeniaObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest dodanie nowego kryterium w formularzu wyszukiwania panelu administracyjnego, pozwalającego na ograniczenie wyników wyszukiwania do

38

Page 39: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

orzeczeń publikowanych w określonym przez użytkownika przedziale czasowym. Kryterium “Data publikacji” oraz dwa pola “od” i “do” w podręcznym kalendarzem ułatwiającym określenie daty.

2.5 Sortowanie listy orzeczeń względem daty importu do systemuObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest dodanie nowego kryterium sortowania orzeczeń na liście wyników wyszukiwania w panelu administracyjnym względem daty importu do systemu (publikacji w panelu administracyjnym) o nazwie “aktualizacja”. Rezultatem będzie wyświetlenie najnowszych orzeczeń oraz zaktualizowanych na początku listy. Sortowanie wg. tego kryterium powinno być domyślne.

2.6 Indeks górny i znak paragrafu (§) w podstawie prawnejObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest wprowadzenie możliwości oznaczenia znaku lub znaków w polu edycyjnym podstawy prawnej metryki orzeczenia w panelu administracyjnym, za pomocą przycisku lub zdefiniowanego znacznika, mającego na celu wyróżnienie oznaczonego elementu w postaci indeksu górnego w warstwie prezentacji metryki orzeczenia. Efektem będzie zapewnienie możliwość wskazywania jako podstawy prawnej artykułów z indeksami np. art. 3511 kc. Możliwość dodania znaku paragrafu za pomocą przycisku lub zdefiniowanego znacznika przy polu edycyjnym podstawy prawnej metryki orzeczenia.

2.7 Aplikacja webowa do sprawdzania poprawności opublikowanych orzeczeńObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest utworzenie aplikacji webowej umożliwiającej zalogowanie, administrację użytkownikami, wyświetlanie listy opublikowanych orzeczeń, filtrowanie i sortowanie listy, wyświetlanie treści orzeczenia, możliwość zgłaszania uwag (błędów, poprawek) do fragmentu tekstu orzeczenia i wysyłania ich na adres e-mail właściwego wydziału sądu. System powinien wyrówniż dwa rodzaje użytkowników: administrator, użytkownik. Administrator posiada możliwość dodawania, edycji oraz usuwania użytkowników.Zestaw danych użytkownika:

● login,● imię,● nazwisko,● adres e-mail (nieobowiązkowy),● hasło.

Administrator może wygenerować nowych użytkowników za pomocą załadowania pliku CSV z odpowiednio sformatowaną zawartością. Administrator ma możliwość edycji adresu e-mail każdego wydziału publikującego orzeczenia poprzez filtr sądu i wydziału. Użytkownik widzi zakładki: szukanie, reguły anonimizacji (odpowiada tej same zakładce w panelu administracyjnym), wsparcie (odpowiada tej same zakładce w panelu administracyjnym), mój profil (wyświetla dane użytkownika, umożliwia zmianę hasła).Zakładka szukanie wyświetla domyślnie formularz wyszukiwania oraz listę orzeczeń do weryfikacji. Lista zawiera wszystkie orzeczenia, które zostały opublikowane na Portalu Orzeczeń.Formularz wyszukiwania zawiera kryteria: sygnatura, status [zweryfikowany | niezweryfikowany | trwa weryfikacja], sąd (wszystkie dostępne sądy), wydział (o ile zostanie wybrany sąd, zawiera listę wydziałów). Lista wyników wyszukiwania zawiera link do treści orzeczenia złożony z sygnatury, sądu oraz daty orzeczenia, typ dokumentu, status (zweryfikowany, niezweryfikowany, trwa weryfikacja) oraz

39

Page 40: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

adnotację [dokument nie był jeszcze weryfikowany | zweryfikowany przez użytkownik]. Lista może być sortowana rosnąco i malejąco po sygnaturze, statusie oraz dacie publikacji orzeczenia. Lista przy każdej pozycji zawiera przycisk “Weryfikuj” dla orzeczeni niezweryfikowanych, “Weryfikuj ponownie” dla orzeczeń zweryfikowanych oraz “Kontynuuj weryfikację” dla orzeczeń w trakcie weryfikacji. Weryfikacja poprawności publikacji orzeczenia polega na wyświetleniu treści orzeczenia i możliwości zgłoszenia uwag do jego fragmentu. Zaznaczenie co najmniej jednego znaku w treści i użycie prawego przycisku mysz powoduje wyświetleniu menu kontekstowego z elementem “Zgłoś uwagę”, po użyciu którego wyświetlone zostaje okno z formularzem. Zaznaczony fragment zostaje zacytowany, poniżej znajduje się pole edycyjne do wprowadzenia uwag (pole obowiązkowe). Przycisk wyślij powoduje przesłanie zacytowanego fragmentu wraz z uwagami sprawdzającego na adres e-mail wydziału sądu, który opublikował dane orzeczenie. Wiadomość zawiera także dane podstawowe dane orzeczenia - sygnaturę, wydział, sąd, data wydania. Istnieje możliwość edycji szablonu wiadomości e-mail z uwagami. Weryfikację można zakończyć przy użyciu przycisku “Zatwierdź” co powoduje zmianę statusu orzeczenia na zweryfikowane. Można również przerwać weryfikację używając przycisku “Powrót” co spowoduje zmianę statusu orzeczenia na “trwa weryfikacja”. Jednoczesna weryfikacja jednego orzeczenia przez dwóch różnych użytkowników nie jest możliwa.

2.8 Drzewo haseł tematycznychObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest utworzenie drzewa haseł tematycznych przyporządkowanych do orzeczeń, wyświetlanych w zakładce “Hasła tematyczne” aplikacji webowej użytkownika końcowego prezentowanych w strukturze drzewiastej z możliwością zejścia do co najmniej trzech poziomów w głąb. Struktura drzewa musi posiadać możliwość rozwijania i zwijania elementów do każdego poziomu. Domyślny poziom rozwinięcia zostanie ustalony przez Zamawiającego i zaakceptowany przez Zamawiającego na etapie projektu funkcjonalności. Zamawiający dostarczy w postaci elektronicznej wartość merytoryczną drzewa haseł tematycznych po zawarciu Umowy z Wykonawcą.

2.9 Publikacja RSSObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest umowżliwienie udostępnienia nagłówków orzeczeń dla czytników RSS. Tytuł zawierać ma nazwę sądu oraz sygnaturę sprawy, której dotyczy orzeczenie, data publikacji zawierać ma datę publikacji orzeczenia na stronie, opis zawierać powinien zalążek treści orzeczenia, autorem powinien być publikujący sąd. Pozostałe elementy struktury zgodnie z opisem specyfikacji formatu RSS. Udostępnione kanały RSS mają dotyczyć przynajmniej wszystkich orzeczeń publikowanych na stronie orzeczenia.ms.gov.pl oraz oddzielnie publikowanychdla każdego sądu z osobna jak również dla każdego hasła tematycznego.

2.10 Indeks bazy orzeczeń dla silników zasilających wyszukiwarki internetoweW celu zaindeksowania przez wyszukiwarki internetowe treści wszystkich orzeczeń opublikowanych na Portalu Orzeczeń,obowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest umożliwienie robotom przeszukującym dotarcie do każdego z nich. Możliwe jest to za pomocą odwołań agregujących orzeczenia. Wymagane jest dodanie do strony startowej Portalu Orzeczeń zbioru linków w strukturze drzewiastej, której pierwszym poziomem będą sądy powszechne, drugim sądy apelacyjne, trzecim sądy okręgowe, czwartym sądy rejonowe. Drzewo zawierać ma wyłącznie sądy, które posiadają wdrożony

40

Page 41: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Portal Orzeczeń. Każdy link będący nazwą sądu powinien prowadzić do ekranu wyświetlającego zbiór orzeczeń danego sądu.

2.11 Interaktywna mapa kraju z wyszczególnieniem sądów powszechnychObecnie na stronie orzeczenia.ms.gov.pl dostępne jest rozwijane drzewo sądów. Wykonawca zobowiązany jest do zastąpienia tego elementu interaktywną mapą Polski z podziałem na obręby właściwości terytorialnych sądów o poziomie co najmniej apelacji i co najwyżej rejonu. Najechanie na ograniczony terytorialnie fragment mapy spowoduje jego podświetlenie, kliknięcie myszą spowoduje ograniczenie wyświetlanej mapy jedynie do wskazanego terytorium oraz wyświetlenie w sposób tekstowy jednostek sądów znajdujących się w jego obrębie i posiadających wdrożony Portal Orzeczeń wraz z ilością opublikowanych orzeczeń. Kolorystyka mapy powinna być dopasowana do layoutu strony. Nie dopuszcza się wykorzystania technologii Flash. Wygląd mapy musi zostać uzgodniony i zaakceptowany przez Zamawiającego w fazie projektu.

2.12 Orzeczenia podobneObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest utworzenie mechanizmu, który obok treści opublikowanego orzeczenia wyszczególniał będzie orzeczenia o podobnej treści. W odnajdowaniu takich podobieństw mają być brane pod uwagę m. in. analiza morfosyntaktyczna treści, słowa kluczowe oraz przywołane przepisy.

2.13 APIObowiązkiem Wykonawcy w ramach Modyfikacji Systemu jest umożliwienie udostępniania opublikowanych orzeczeń wraz z uzasadnieniami na żądanie użytkownika. Wymagane jest wytworzenie i uruchomienie interfejsu pobierania danych wraz z jego specyfikacją. API powinno być oparte na wzorcu architektury programowania REST i opierać się na wymianie informacji za pomocą protokołu HTTP. Treść orzeczeń musi być udostępniania w formacie XML oraz HTML.

B. Oprogramowanie Dedykowane3.Dostawa przez Wykonawcę modułudo automatycznej anonimizacji3.1 Zadania modułu anonimizującegoAnonimizacja jest to proces przetwarzania treści w taki sposób, aby uniemożliwić rozpoznanie opisanych faktów, podmiotów lub okoliczności. Ma on na celu zapewnienie przestrzegania obowiązujących norm prawnych gwarantujących ochronę określonych dóbr i wartości w upublicznianych dokumentach.Zadaniem modułu anonimizującego jest automatyczne usunięcie z orzeczenia wszelkich danych, które mogą umożliwić identyfikację występujących w dokumencie osób fizycznych. Proces ten musi być na tyle dokładny, by zanonimizowany dokument w jak największym stopniu zachował swoją czytelność i nie stracił żadnych treści natury ogólnej. Dokładny opis bytów i fraz wymagających usunięcia z tekstu zawarty został w Regułach anonimizacji.

3.2 Reguły anonimizacji3.2.1 WprowadzenieAnonimizacja polega na wykonaniu jednej z czterech czynności:

I. Zamianie całej frazy na pojedynczy inicjał. Stosujemy ją przy anonimizacji miejscowości i nazw geograficznych oraz występujących samotnie w tekście imion lub nazwisk.

41

Page 42: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

II. Zamiana całej frazy na pojedynczy inicjał, po którym następuje wielokropek „(...)”. Stosujemy ją w przypadku nazw urządzeń, pojazdów oraz handlowych nazw różnych substancji czy też innych produktów, w sytuacji gdy mają więcej niż 1 wyraz.

III. Zamianie całej frazy na parę inicjałów. Stosujemy ją jedynie w przypadku imioni nazwisk osób fizycznych.

IV. Zamianie pojedynczych wyrazów lub dłuższych ich ciągów na wielokropek „(...)”. Stosujemy ją w pozostałych przypadkach.

3.2.2 Anonimizowane treści orzeczeńW celu ułatwienia anonimizacji sporządzone zostały bardziej szczegółowe zasady, wg których należy ją przeprowadzać. W kolejnych podpunktach wymienione zostaną różne kategorie fraz (sformułowań) występujących w treści orzeczenia, wraz z informacją, jak należy z tymi frazami (pojęciami) postępować.

3.2.2.1 Dane osobowe osób fizycznych (zwłaszcza imion i nazwisk)Imiona i nazwiska osób fizycznych występujące w treści orzeczenia zamieniane są na inicjały. Stosowane są następujące reguły:

imię i nazwisko zamieniane są na inicjały np. Jan Kowalski anonimizowany jest do J. K.

jeżeli we frazie występuje więcej imion bądź nazwisk, brane są pod uwagę tylko pierwsze imię i ostatnie nazwisko np. Jan Marian Kowalski-Nowak anonimizowany jest do J. N.

jeżeli w tekście występuje więcej osób o tych samych inicjałach, w zanonimizowanej wersji pojawiają się liczby pomagające określić, której z nich dotyczy dany fragment. Przykładowo tekst Jan Kowalski oraz Jakub Konieczny założyli spółkę. Prezesem został Jan Kowalski. anonimizowany jest do J. K. (1) oraz J. K. (2) założyli spółkę. Prezesem został J. K. (1).

jeżeli w tekście występuje pojedyncze imię, bądź nazwisko, w zanonimizowanej wersji powinny pojawić się pojedyncze inicjały. Przykładowo tekst Jan oraz Tomasz poszli w odwiedziny do państwa Wróblewskich. anonimizowany jest do J. oraz T. poszli w odwiedziny do państwa W.. Takich pojedynczych inicjałów nie numerujemy.

WYJĄTEK 1: Anonimizacji nie podlegają dane osobowe (imiona i nazwiska) osób fizycznych pełniących funkcje publiczne.WYJĄTEK 2: Anonimizacji nie są poddawani autorzy cytowanych książek, komentarzy, glos oraz artykułów naukowych.

3.2.2.2 Nazwy miejscowościMiejscowości występujące w treści orzeczeń zamieniane są na pojedynczy inicjał. W przypadku, gdy nazwa miejscowości składa się z kilku wyrazów, tak jak np. Kąty Wrocławskie, w zanonimizowanej wersji pojawia się inicjał tylko pierwszego z nich. WYŁĄCZENIE 1: Anonimizacji nie podlegają miasta opisujące siedzibę sądu, na przykład Sąd Apelacyjny we Wrocławiu nie podlega anonimizacji. WYJĄTEK 1: Anonimizacji nie podlegają miasta określające miejsce wydania nieanonimizowanej książki.

3.2.2.3 Nazwy geograficzne oraz administracyjne

42

Page 43: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Przymiotniki związane z nazwami geograficznymi zmieniane są na wielokropek „(...)”. W szczególności dotyczy to nazw:

województw, powiatów, gmin.

Rzeczownikowe nazwy geograficzne, pisane wielką literą, zamieniane są, tak jak miejscowości, na pojedynczy inicjał. Dotyczy to między innymi:

rzek, jezior, szczytów górskich, dzielnic miast.

Natomiast nazwy: dróg wraz z ich numerami (oraz innymi oznaczeniami) zamienia się na wielokropek „(...)”.

3.2.2.4 Adresy i numery lokalizacjiAdresy zamieniane są na wielokropek „(...)”. Pozostawiana jest tylko część informująca o tym, czego dotyczy dana fraza np.:

„ul.”, „plac”, „skwer”, „park” „rondo”.

3.2.2.5 Podmioty prowadzące działalność gospodarczą.W nazwach:

firm, spółek, spółdzielni lokali usługowych

występujących w treści orzeczenia, wszystkie nazwy własne oraz słowa mogące posłużyć do zidentyfikowania danej organizacji zamieniane są na wielokropek „(...)”. Pozostają jedynie określenia organizacyjno-prawne, takie jak:

typy spółek np. spółka z ograniczoną odpowiedzialnością, spółka jawna, spółka cywilna, typy przedsiębiorstwa, np. przedsiębiorstwo produkcyjno-handlowo-usługowe, skróty podmiotów, np.: s. a., sp. z o. o.

3.2.2.6 Organizacje społeczne, fundacje, stowarzyszenia oraz inne podmioty wykonujące zadania publiczne nie będące organami administracji publicznej.Nazwy tych podmiotów są anonimizowane w sposób analogiczny jak nazwy podmiotów prowadzących działalność gospodarczą (por. pkt 3.2.2.5). WYJĄTKI:

Nie anonimizujemy nazw organizacji ustalających różnego rodzaju normy, takich jak: American National Standards Institute, Polski Komitet Normalizacyjny.

43

Page 44: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Nie anonimizujemy nazw rodzajowych instytucji publicznych oraz zakładów administracyjnych wykonujących zadania publiczne, takich jak:

o Zakład Karny, o Zakład Opieki Zdrowotnej,o Szpital,o Biblioteka,

Przy jednoczesnej anonimizacji informacji uszczegóławiających owe podmioty, typu:

nr, nazwa, adres, miejsce świadczenia usług

Nie anonimizujemy nazwy organów samorządu zawodowego lub gospodarczego takich jak na przykład:

o Naczelna Izba Lekarska, o Krajowa Izba Biegłych Rewidentów, o Naczelna Rada Adwokacka, o Izba rzemieślnicza, Izba gospodarcza, Izba rolnicza, o Związek Rzemiosła Polskiego).

Nie anonimizujemy nazwy ogólnej instytucji naukowych, naukowo-badawczych, badawczo-rozwojowych o zasięgu krajowym lub międzynarodowym, np. Polska Akademia Nauk, Politechnika, Uniwersytet, Akademia Medyczna, Akademia Wychowania Fizycznego, Akademia Muzyczna, Akademia Sztuk Pięknych, itp

Przy jednoczesnej anonimizacji informacji uszczegóławiających, typu: instytut, zakład, katedra, wydział, rewir.

3.2.2.7 Kościoły i związki wyznanioweAnonimizujemy zarówno nazwy kościołów i związków wyznaniowych jak i informacje, pozwalające określić przynależność religijną konkretnych gmin wyznaniowych i parafii.

3.2.2.8 Numery, symbole i identyfikatoryWszystkie identyfikatory, zarówno osób, organizacji, miejsc czy przedmiotów podczas anonimizacji powinny być zmieniane na wielokropek „(...)”. Dotyczy to w szczególności wszelkich rejestrów oraz zbiorów danych, np.:

numery PESEL, KRS, REGON, NIP, itd., numery ksiąg wieczystych, numery umów i faktur, numery licencji, numer paszportu, numer i seria dowodu osobistego (lub dowodu rejestracyjnego), numer

legitymacji, prawa jazdy, prawa wykonywania zawodu bądź innego dokumentu,

44

Page 45: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

numery rejestracyjne samochodów, numery VIN, numery fabryczne różnych produktów, numery silnika pojazdu, numery podwozia, numery

nadwozia, numery działek, numery szkół, przedszkoli i żłobków, numery telefonów i faksów, numer wpisu do ewidencji działalności gospodarczej, identyfikatory używane w internecie (z wyjątkiem tych, które przypominają normalne imiona i

nazwiska).

3.2.2.9 Nazwy urządzeń, pojazdów, nazwy różnych produktówW celu zwiększenia bezpieczeństwa procesu anonimizacji w Portalu orzeczeń anonimizacji poddawane są także nazwy urządzeń, pojazdów oraz innych produktów, przy czym nazwę jednowyrazową zamieniamy na inicjał, natomiast w przypadku nazw dłuższych do inicjału doklejamy wielokropek „(...)”.

3.2.2.10 Informacje chronione ustawowoAnonimizacji podlegają wszelkie informacje objęte prawną ochroną wyrażoną w konkretnej ustawie. 3.2.2.11 Pozostałe słowa i frazy wymagające anonimizacji

3.2.2.11.1 Cyfry: Długie ciągi cyfr3.2.2.11.2 Treść haseł reklamowych i innych napisów.3.2.2.11.3 Nazwy: zespołów muzycznych, drużyn sportowych.

3.2.3 Nieanonimizowane treści orzeczeńAnonimizacji nie podlegają treści orzeczeń (frazy), które nie zawierają danych oraz informacji „niebezpiecznych”, czyli umożliwiających identyfikację podmiotu prawa. W szczególności są to treści orzeczenia związane z prawniczym charakterem orzeczeń, tzn. należą do kategorii języka prawnego (np. treść przepisów prawa) bądź języka prawniczego (argumentacja prawnicza, komentarz normy prawnej, wykładnia prawa czy doktryna prawa).

3.2.3.1 Terminologia prawna, prawnicza oraz odnosząca się do czynności kancelaryjnych administracji wymiaru sprawiedliwości.Terminologia prawnicza obejmuje zarówno język prawny, jak i prawniczy oraz wszelkie pojęcia wynikające z instrukcji kancelaryjnej wymiaru sprawiedliwości. W praktyce stosowania owej terminologii można napotkać również sformułowania (frazy) dotyczące elektronicznych systemów wyszukiwania informacji prawniczej. Poniżej przykłady takiej terminologii nie podlegającej procesowi anonimizacji.

3.2.3.2 Oznaczenia czasu oraz odniesienia do określonych podmiotów bądź przedmiotów w czasie.Zasadą jest, że oznaczenia czasu czyli informacje o latach, miesiącach, dniach, godzinach, przedziałach czasowych pozostają nieanonimizowane. WYJĄTEK: Informacje o dacie urodzenia konkretnej osoby fizycznej.

3.2.3.3 Organy władzy publicznej, zwłaszcza organy administracji publicznej (w tym nazwy urzędów) oraz wymiaru sprawiedliwości.

45

Page 46: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Nie anonimizujemy nazw organów, urzędów oraz instytucji publicznych z zachowaniem następujących wyłączeń

o Anonimizujemy informację o miejscu, w którym znajduje się ten urząd lub organ – właściwość miejscową podmiotu.

o Anonimizacji podlega również nazwa jednostek organizacyjnych (wydziałów, komórek) organów i urzędów, np. Wydział Komunikacji Urzędu Rejonowego w Brzegu.

Nie anonimizujemy nazw organizacji międzynarodowych, których członkami są państwa (na przykład Światowa Organizacja Zdrowia, Międzynarodowy Fundusz Walutowy, UNESCO).

Nie anonimizujemy nazw państw Nie anonimizujemy nazw sądów, takich jak Sąd Rejonowy, Naczelny Sąd Administracyjny. Nie anonimizujemy nazwy – Skarb Państwa.

3.2.3.4 Pozostałe nieanonimizowane treści orzeczeńTreści orzeczeń (frazy) wymienione w tym podpunkcie również nie są anonimizowane, ponieważ ich pozostawienie w tekście orzeczenia nie wpływa na możliwość zidentyfikowania podmiotu wskazanego w orzeczeniu, stąd nie stanowi to zagrożenia dla jego interesu prawnego. W ten sposób użytkownik Portalu orzeczeń może się zapoznać w szerszym stopniu z okolicznościami faktycznymi sprawy, co istotnie wpływa na możliwość zrozumienia sposobów stosowania i wykładni prawa przez wymiar sprawiedliwości.Poniżej konkretne typy treści orzeczeń, które nie są anonimizowane.

1. Liczby porządkowe, liczby pewnych zdarzeń, osób, podmiotów, przedmiotów.2. Liczby z jednostkami.3. Kwota pieniężna.4. Choroby oraz rodzaje terapii.5. Nazwy związków chemicznych.6. Wykonywany (lub wyuczony) zawód, stanowisko służbowe oraz pełnione funkcje.

3.3 Format przetwarzanych danychOrzeczenia w portalu orzeczeń zapisane są w formacie xml, którego formalny opis znajduje się poniżej. Struktura pliku może zostać udostępniona Wykonawcy w postaci elektronicznej na wniosek Wykonawcy przesłany do Zamawiajacego w formie faksu pod numer (+48) 71 798 77 11 w języku polskim lub wraz z tłumaczeniem na język polski. Zawsze dopuszczalna jest forma pisemnaWniosku. Zamawiający niezwłocznie powiadomi Wykonawcę na wskazane we Wniosku dane kontaktowe o terminie i sposobie przekazania dokumentu.

Struktura pliku xml metryki orzeczenia<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"><xs:element name="xCase"><xs:complexType><xs:sequence><xs:element ref="xCaseID"/><xs:element ref="xCourt"/><xs:element ref="xCourtID"/><xs:element ref="xDepartment"/><xs:element ref="xDepartmentID"/>

46

Page 47: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element ref="xSignature"/><xs:element ref="xDateOfReceipt"/><xs:element minOccurs="0" ref="xSubject"/><xs:element minOccurs="0" ref="xParties"/><xs:element minOccurs="0" ref="xBecomeFinal"/><xs:element minOccurs="0" maxOccurs="unbounded" ref="xDocRef"/></xs:sequence></xs:complexType></xs:element><xs:element name="xCaseID" type="xs:token"/><xs:element name="xCourt" type="xs:string"/><xs:element name="xCourtID" type="xs:token"/><xs:element name="xDepartment" type="xs:string"/><xs:element name="xDepartmentID" type="xs:token"/><xs:element name="xSignature"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="xNmbr" use="required" type="xs:positiveInteger"/><xs:attribute name="xDepartment" use="required" type="xs:token"/><xs:attribute name="xRepertory" use="required" type="xs:token"/><xs:attribute name="xYear" use="required"><xs:simpleType><xs:restriction base="xs:positiveInteger"><xs:minInclusive value="1900"/><xs:maxInclusive value="2099"/></xs:restriction></xs:simpleType></xs:attribute></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="xDateOfReceipt" type="xs:date"/><xs:element name="xSubject" type="xs:string"/><xs:element name="xParties"><xs:complexType><xs:sequence><xs:element minOccurs="0" ref="xIndividuals"/><xs:element minOccurs="0" ref="xOrganizations"/></xs:sequence></xs:complexType></xs:element><xs:element name="xIndividuals"><xs:complexType><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xIndividual"/></xs:sequence></xs:complexType></xs:element><xs:element name="xIndividual"><xs:complexType><xs:sequence><xs:element ref="xIndividualID"/><xs:element minOccurs="0" ref="xAddresses"/>

47

Page 48: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element minOccurs="0" ref="xGivenName"/><xs:element ref="xFamilyName"/><xs:element ref="xRole"/></xs:sequence></xs:complexType></xs:element><xs:element name="xOrganizations"><xs:complexType><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xOrganization"/></xs:sequence></xs:complexType></xs:element><xs:element name="xOrganization"><xs:complexType><xs:sequence><xs:element ref="xOrganizationID"/><xs:element minOccurs="0" ref="xAddresses"/><xs:element ref="xName"/><xs:element ref="xRole"/></xs:sequence></xs:complexType></xs:element><xs:element name="xIndividualID" type="xs:token"/><xs:element name="xOrganizationID" type="xs:token"/><xs:element name="xAddresses"><xs:complexType><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xAddress"/></xs:sequence></xs:complexType></xs:element><xs:element name="xAddress"><xs:complexType><xs:sequence><xs:element ref="xType"/><xs:element minOccurs="0" ref="xStreet"/><xs:element minOccurs="0" ref="xHouseNmbr"/><xs:element minOccurs="0" ref="xFlatNmbr"/><xs:element minOccurs="0" ref="xTown"/><xs:element minOccurs="0" ref="xZipCode"/><xs:element minOccurs="0" ref="xCountry"/></xs:sequence></xs:complexType></xs:element><xs:element name="xType" type="xs:string"/><xs:element name="xStreet" type="xs:string"/><xs:element name="xHouseNmbr" type="xs:string"/><xs:element name="xFlatNmbr" type="xs:string"/><xs:element name="xTown" type="xs:string"/><xs:element name="xZipCode" type="xs:string"/><xs:element name="xCountry" type="xs:string"/><xs:element name="xGivenName" type="xs:string"/><xs:element name="xFamilyName" type="xs:string"/><xs:element name="xName" type="xs:string"/>

48

Page 49: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xRole" type="xs:string"/><xs:element name="xBecomeFinal"><xs:complexType><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xBecomesFinal"/></xs:sequence></xs:complexType></xs:element><xs:element name="xBecomesFinal"><xs:complexType><xs:sequence><xs:element ref="xFileName"/><xs:element ref="xDate"/></xs:sequence></xs:complexType></xs:element><xs:element name="xDocRef" abstract="true" type="xDocDescr"/><xs:element name="xDecision" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithOtherWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithOtherWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithProtocolWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithProtocolWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithReasonWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithJudgmentWithReasonWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithJudgmentWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithJudgmentWithReason" substitutionGroup="xDocRef"/>

49

Page 50: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xDecisionWithOtherWithJudgmentWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithProtocolWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithProtocolWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithReasonWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithOtherWithReasonWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithJudgmentWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithJudgmentWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithOtherWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithOtherWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithReasonWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithProtocolWithReasonWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithJudgmentWithOtherWithProtocol" substitutionGroup="xDocRef"/>

50

Page 51: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xDecisionWithReasonWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithJudgmentWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithOtherWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithOtherWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithProtocolWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xDecisionWithReasonWithProtocolWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xJudgment" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithOtherWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithOtherWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithProtocolWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithProtocolWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithReasonWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithDecisionWithReasonWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithDecisionWithProtocol" substitutionGroup="xDocRef"/>

51

Page 52: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xJudgmentWithOtherWithDecisionWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithDecisionWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithProtocolWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithProtocolWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithReasonWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithOtherWithReasonWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithDecisionWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithDecisionWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithOtherWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithOtherWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithReasonWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithProtocolWithReasonWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithDecision" substitutionGroup="xDocRef"/>

52

Page 53: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xJudgmentWithReasonWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithDecisionWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithDecisionWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithOtherWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithOtherWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithProtocolWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xJudgmentWithReasonWithProtocolWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOther" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithJudgmentWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithJudgmentWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithProtocolWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithProtocolWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithReasonWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithDecisionWithReasonWithProtocolWithJudgment" substitutionGroup="xDocRef"/>

53

Page 54: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithDecisionWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithDecisionWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithProtocolWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithProtocolWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithReasonWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithJudgmentWithReasonWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithDecisionWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithDecisionWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithJudgmentWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithJudgmentWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithReasonWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithProtocolWithReasonWithJudgment" substitutionGroup="xDocRef"/>

54

Page 55: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xOtherWithProtocolWithReasonWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithDecisionWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithDecisionWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithJudgmentWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithJudgmentWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithProtocolWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xOtherWithReasonWithProtocolWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocol" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithJudgmentWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithJudgmentWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithOtherWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithOtherWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithReasonWithJudgmentWithOther" substitutionGroup="xDocRef"/>

55

Page 56: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xProtocolWithDecisionWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithDecisionWithReasonWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithDecisionWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithDecisionWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithOtherWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithOtherWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithReasonWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithJudgmentWithReasonWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithDecisionWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithDecisionWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithJudgmentWithDecisionWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithJudgmentWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithJudgmentWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithReasonWithDecision" substitutionGroup="xDocRef"/>

56

Page 57: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xProtocolWithOtherWithReasonWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithOtherWithReasonWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReason" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithDecisionWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithDecisionWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithJudgmentWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithJudgmentWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithOtherWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xProtocolWithReasonWithOtherWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReason" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithJudgmentWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithJudgmentWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithOtherWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithOtherWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithProtocol" substitutionGroup="xDocRef"/>

57

Page 58: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xReasonWithDecisionWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithProtocolWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithDecisionWithProtocolWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithDecisionWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithDecisionWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithOtherWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithOtherWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithProtocolWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithJudgmentWithProtocolWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithDecisionWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithDecisionWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithJudgmentWithDecisionWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithJudgmentWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithJudgmentWithProtocolWithDecision" substitutionGroup="xDocRef"/>

58

Page 59: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element name="xReasonWithOtherWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithProtocolWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithOtherWithProtocolWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocol" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithDecisionWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithDecisionWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithJudgmentWithDecisionWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithJudgmentWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithJudgmentWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithOther" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithOtherWithDecision" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithOtherWithDecisionWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithOtherWithJudgment" substitutionGroup="xDocRef"/><xs:element name="xReasonWithProtocolWithOtherWithJudgmentWithDecision" substitutionGroup="xDocRef"/><xs:complexType name="xDocDescr"><xs:sequence><xs:element ref="xFileName"/><xs:element minOccurs="0" ref="xJury"/><xs:element minOccurs="0" ref="xClerk"/><xs:element minOccurs="0" ref="xSubject"/><xs:element minOccurs="0" ref="xCitedProvisions"/><xs:element minOccurs="0" ref="xSettlement"/><xs:element minOccurs="0" ref="xDate"/></xs:sequence></xs:complexType><xs:element name="xFileName" type="xs:token"/><xs:element name="xJury"><xs:complexType><xs:sequence><xs:element minOccurs="0" ref="xPresidingJudge"/><xs:element minOccurs="0" maxOccurs="unbounded" ref="xJudge"/></xs:sequence>

59

Page 60: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

</xs:complexType></xs:element><xs:element name="xPresidingJudge" type="xs:string"/><xs:element name="xJudge" type="xs:string"/><xs:element name="xClerk" type="xs:string"/><xs:element name="xCitedProvisions" type="xs:string"/><xs:element name="xSettlement" type="xs:string"/><xs:element name="xDate" type="xs:date"/></xs:schema>

Struktura pliku xml orzeczenia<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"><xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/><xs:element name="xPart"><xs:complexType><xs:sequence><xs:element ref="xName"/><xs:element ref="xBlock"/></xs:sequence><xs:attribute ref="xml:space"/><xs:attribute name="xEditor" type="xs:token"/><xs:attribute name="xPublisher" type="xs:token"/><xs:attribute name="xClassifier" type="xs:token"/><xs:attribute name="xEditorFullName" type="xs:string"/><xs:attribute name="xPublisherFullName" type="xs:string"/><xs:attribute name="xClassifierFullName" type="xs:string"/><xs:attribute name="xClassified" type="xs:boolean"/><xs:attribute name="xVersion" use="required" type="xs:token"/><xs:attribute name="xLang" use="required" type="xs:token"/><xs:attribute name="xFromPg" use="required" type="xs:positiveInteger"/><xs:attribute name="xToPage" use="required" type="xs:positiveInteger"/><xs:attribute name="xFlag" use="required"><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="crude|checking|checked|to_publish|published"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="xVolType" use="required" type="xs:token"/><xs:attribute name="xYear" use="required"><xs:simpleType><xs:restriction base="xs:positiveInteger"><xs:minInclusive value="1900"/><xs:maxInclusive value="2099"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="xVolNmbr" use="required"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="\d{6}"/></xs:restriction></xs:simpleType></xs:attribute>

60

Page 61: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:attribute name="xDocType" use="required" type="xs:token"/></xs:complexType></xs:element><xs:element name="xName"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attributeGroup ref="xNameTitleGroup"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="xTitle"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attributeGroup ref="xNameTitleGroup"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:attributeGroup name="xNameTitleGroup"><xs:attribute name="xPrfx" type="xs:string"/><xs:attribute name="xSffx" type="xs:string"/><xs:attributeGroup ref="xAligningAttrs"/><xs:attributeGroup ref="xFormattingAttrs"/><xs:attribute name="xBrkAfter" type="xs:boolean"/></xs:attributeGroup><xs:attributeGroup name="xPrfx"><xs:attribute name="xPrfx" use="required" type="xs:string"/></xs:attributeGroup><xs:attributeGroup name="xSffx"><xs:attribute name="xSffx" use="required" type="xs:string"/></xs:attributeGroup><xs:attributeGroup name="xAligningAttrs"><xs:attribute name="xALIGNx"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="left|center|right"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="xVALIGNx"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="top|middle|bottom"/></xs:restriction></xs:simpleType></xs:attribute></xs:attributeGroup><xs:attributeGroup name="xALIGNx"><xs:attribute name="xALIGNx" use="required"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="left|center|right"/>

61

Page 62: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

</xs:restriction></xs:simpleType></xs:attribute></xs:attributeGroup><xs:attributeGroup name="xVALIGNx"><xs:attribute name="xVALIGNx" use="required"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="top|middle|bottom"/></xs:restriction></xs:simpleType></xs:attribute></xs:attributeGroup><xs:attributeGroup name="xFormattingAttrs"><xs:attribute name="xBold" type="xs:boolean"/><xs:attribute name="xItalic" type="xs:boolean"/><xs:attribute name="xUnderln" type="xs:boolean"/></xs:attributeGroup><xs:attributeGroup name="xBold"><xs:attribute name="xBold" use="required" type="xs:boolean"/></xs:attributeGroup><xs:attributeGroup name="xItalic"><xs:attribute name="xItalic" use="required" type="xs:boolean"/></xs:attributeGroup><xs:attributeGroup name="xUnderln"><xs:attribute name="xUnderln" use="required" type="xs:boolean"/></xs:attributeGroup><xs:attributeGroup name="xBrkAfter"><xs:attribute name="xBrkAfter" use="required" type="xs:boolean"/></xs:attributeGroup><xs:element name="xBlock"><xs:complexType><xs:group minOccurs="0" maxOccurs="unbounded" ref="xTextClassGroup"/></xs:complexType></xs:element><xs:group name="xTextClassGroup"><xs:choice><xs:element ref="xText"/><xs:element ref="xRows"/><xs:element ref="xEnum"/><xs:element ref="xUnit"/></xs:choice></xs:group><xs:element name="xText"><xs:complexType mixed="true"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xTextGroup"/></xs:sequence><xs:attributeGroup ref="xAligningAttrs"/></xs:complexType></xs:element><xs:element name="xTextGroup" abstract="true"/><xs:element name="xTextFormatGroup" abstract="true" substitutionGroup="xTextGroup"/><xs:element name="xTextContentGroup" abstract="true" substitutionGroup="xTextGroup"/><xs:element name="xBx" substitutionGroup="xTextFormatGroup">

62

Page 63: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:complexType mixed="true"><xs:group minOccurs="0" maxOccurs="unbounded" ref="xBxGroup"/></xs:complexType></xs:element><xs:group name="xBxGroup"><xs:choice><xs:element ref="xIx"/><xs:element ref="xUx"/><xs:element ref="xSPANx"/><xs:element ref="xSUBx"/><xs:element ref="xSUPx"/><xs:element ref="xTextContentGroup"/></xs:choice></xs:group><xs:element name="xIx" substitutionGroup="xTextFormatGroup"><xs:complexType mixed="true"><xs:group minOccurs="0" maxOccurs="unbounded" ref="xIxGroup"/></xs:complexType></xs:element><xs:group name="xIxGroup"><xs:choice><xs:element ref="xBx"/><xs:element ref="xUx"/><xs:element ref="xSPANx"/><xs:element ref="xSUBx"/><xs:element ref="xSUPx"/><xs:element ref="xTextContentGroup"/></xs:choice></xs:group><xs:element name="xUx" substitutionGroup="xTextFormatGroup"><xs:complexType mixed="true"><xs:group minOccurs="0" maxOccurs="unbounded" ref="xUxGroup"/></xs:complexType></xs:element><xs:group name="xUxGroup"><xs:choice><xs:element ref="xBx"/><xs:element ref="xIx"/><xs:element ref="xSPANx"/><xs:element ref="xSUBx"/><xs:element ref="xSUPx"/><xs:element ref="xTextContentGroup"/></xs:choice></xs:group><xs:element name="xSPANx" substitutionGroup="xTextFormatGroup"><xs:complexType mixed="true"><xs:group minOccurs="0" maxOccurs="unbounded" ref="xSPANxGroup"/></xs:complexType></xs:element><xs:group name="xSPANxGroup"><xs:choice><xs:element ref="xBx"/><xs:element ref="xIx"/><xs:element ref="xUx"/><xs:element ref="xSUBx"/>

63

Page 64: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xs:element ref="xSUPx"/><xs:element ref="xTextContentGroup"/></xs:choice></xs:group><xs:element name="xSUBx" substitutionGroup="xTextFormatGroup"><xs:complexType mixed="true"><xs:group minOccurs="0" maxOccurs="unbounded" ref="xSUBxGroup"/></xs:complexType></xs:element><xs:group name="xSUBxGroup"><xs:choice><xs:element ref="xBx"/><xs:element ref="xIx"/><xs:element ref="xUx"/><xs:element ref="xSPANx"/><xs:element ref="xSUPx"/><xs:element ref="xTextContentGroup"/></xs:choice></xs:group><xs:element name="xSUPx" substitutionGroup="xTextFormatGroup"><xs:complexType mixed="true"><xs:group minOccurs="0" maxOccurs="unbounded" ref="xSUPxGroup"/></xs:complexType></xs:element><xs:group name="xSUPxGroup"><xs:choice><xs:element ref="xBx"/><xs:element ref="xIx"/><xs:element ref="xUx"/><xs:element ref="xSPANx"/><xs:element ref="xSUBx"/><xs:element ref="xTextContentGroup"/></xs:choice></xs:group><xs:element name="xBRx" substitutionGroup="xTextContentGroup"><xs:complexType/></xs:element><xs:element name="xHRx" substitutionGroup="xTextContentGroup"><xs:complexType/></xs:element><xs:element name="xLexLink" substitutionGroup="xTextContentGroup"><xs:complexType mixed="true"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xTextFormatGroup"/></xs:sequence><xs:attribute name="xArt" type="xs:string"/><xs:attribute name="xIsapId" type="xs:token"/><xs:attribute name="xTitle" type="xs:string"/><xs:attribute name="xAddress" type="xs:string"/></xs:complexType></xs:element><xs:element name="xAnon" substitutionGroup="xTextContentGroup"><xs:complexType mixed="true"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xTextFormatGroup"/>

64

Page 65: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

</xs:sequence><xs:attribute name="xSubst" type="xs:string"/></xs:complexType></xs:element><xs:element name="xRows"><xs:complexType><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xCOLxGroup"/><xs:group maxOccurs="unbounded" ref="xRowsGroup"/></xs:sequence><xs:attribute name="xALIGNx"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="left|center|right"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="xWIDTHx" type="xs:string"/></xs:complexType></xs:element><xs:attributeGroup name="xWIDTHx"><xs:attribute name="xWIDTHx" use="required" type="xs:string"/></xs:attributeGroup><xs:element name="xCOLxGroup" abstract="true"/><xs:element name="xCOLx" substitutionGroup="xCOLxGroup"><xs:complexType><xs:attributeGroup ref="xCOLxAttrs"/></xs:complexType></xs:element><xs:element name="xCOLGROUPx" substitutionGroup="xCOLxGroup"><xs:complexType><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" ref="xCOLx"/></xs:sequence><xs:attributeGroup ref="xCOLxAttrs"/></xs:complexType></xs:element><xs:attributeGroup name="xCOLxAttrs"><xs:attributeGroup ref="xAligningAttrs"/><xs:attribute name="xSPANx" type="xs:positiveInteger"/><xs:attribute name="xWIDTHx" type="xs:string"/></xs:attributeGroup><xs:group name="xRowsGroup"><xs:choice><xs:element ref="xRow"/><xs:element ref="xEnum"/><xs:element ref="xUnit"/></xs:choice></xs:group><xs:element name="xRow"><xs:complexType><xs:sequence><xs:element maxOccurs="unbounded" ref="xClmn"/></xs:sequence><xs:attributeGroup ref="xAligningAttrs"/>

65

Page 66: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

</xs:complexType></xs:element><xs:element name="xClmn"><xs:complexType><xs:group minOccurs="0" maxOccurs="unbounded" ref="xTextClassGroup"/><xs:attributeGroup ref="xAligningAttrs"/><xs:attribute name="xClmnSpan" type="xs:positiveInteger"/><xs:attribute name="xRowSpan" type="xs:positiveInteger"/><xs:attribute name="xWIDTHx" type="xs:string"/></xs:complexType></xs:element><xs:attributeGroup name="xClmnSpan"><xs:attribute name="xClmnSpan" use="required" type="xs:positiveInteger"/></xs:attributeGroup><xs:attributeGroup name="xRowSpan"><xs:attribute name="xRowSpan" use="required" type="xs:positiveInteger"/></xs:attributeGroup><xs:element name="xEnum"><xs:complexType><xs:sequence><xs:element minOccurs="0" ref="xBullet"/><xs:element maxOccurs="unbounded" ref="xEnumElem"/></xs:sequence></xs:complexType></xs:element><xs:element name="xBullet"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="xClmnSpan" type="xs:positiveInteger"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="xEnumElem"><xs:complexType><xs:group maxOccurs="unbounded" ref="xTextClassGroup"/></xs:complexType></xs:element><xs:element name="xUnit"><xs:complexType><xs:sequence><xs:element minOccurs="0" ref="xName"/><xs:element minOccurs="0" ref="xTitle"/><xs:group minOccurs="0" maxOccurs="unbounded" ref="xTextClassGroup"/></xs:sequence><xs:attributeGroup ref="xFormattingAttrs"/><xs:attribute name="xIsTitle" type="xs:boolean"/><xs:attribute name="xType"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="none|part|book|sect|bran|titl|chpt|schp|arti|para|pass|pint|lett|slet"/></xs:restriction></xs:simpleType>

66

Page 67: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

</xs:attribute></xs:complexType></xs:element><xs:attributeGroup name="xIsTitle"><xs:attribute name="xIsTitle" use="required" type="xs:boolean"/></xs:attributeGroup><xs:attributeGroup name="xType"><xs:attribute name="xType" use="required"><xs:simpleType><xs:restriction base="xs:token"><xs:pattern value="none|part|book|sect|bran|titl|chpt|schp|arti|para|pass|pint|lett|slet"/></xs:restriction></xs:simpleType></xs:attribute></xs:attributeGroup></xs:schema>

Zadaniem modułu anonimizującego jest znalezienie w konkretnym orzeczeniu obiektu typu xBlock, a następnie spójne zanonimizowanie wszystkich paragrafów xText. Anonimizacja polega na wykryciu wszystkich miejsc wymagających utajnienia i otoczenia ich nowym węzłem xAnon z atrybutem xSubst mówiącym o tym, na co powinien zostać zamieniony dany fragment tekstu.

Dla przykładowego orzeczenia z Tabeli 1 zanonimozowana wersja będzie miała postać taką, jak w Tabeli 2. Treść orzeczenia oraz jego struktura nie może zostać zmieniona tzn. wersja podstawowa od zanonimizowanej musi różnić się jedynie tagami <xAnon>. Należy tutaj zwrócić szczególną uwagę na tagi formatujące, takie jak <xBx> bądź <xIx>, gdyż dodanie tagów <xAnon> nie może zmieniać formatowania pliku.

<?xml version="1.0" encoding="UTF-8"?><xPart xVolType="15/500000/0000103/ACa" xYear="2010" xVolNmbr="000069" xDocType="Uz"><xName>Wyrok</xName><xBlock><xText>Sygn. akt I ACa 69/10</xText><xText>po rozpoznaniu w dniu 17 lutego 2010 r. we Wrocławiu na rozprawie</xText><xText>sprawy z powództwa Jana Kowalskiego zamieszkałego w Świdnicy</xText></xBlock></xPart>

Tabela 1: Przykładowe orzeczenie w formacie xml

<?xml version="1.0" encoding="UTF-8"?><xPart xVolType="15/500000/0000103/ACa" xYear="2010" xVolNmbr="000069" xDocType="Uz"><xName>Wyrok</xName><xBlock>

67

Page 68: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

<xText>Sygn. akt I ACa 69/10</xText><xText>po rozpoznaniu w dniu 17 lutego 2010 r. we Wrocławiu na rozprawie</xText><xText>sprawy z powództwa <xAnon xSubst="J. K.">Jana Kowalskiego</xAnon> zamieszkałego w <xAnon xSubst="Ś.">Świdnicy</xAnon></xText></xBlock></xPart>

Tabela 2: Przykładowe zanonimizowane orzeczenie w formacie xml

3.4 Interfejs modułuModuł anonimizacyjny jest programem wsadowym. Przyjmuje na wejściu argumenty:

Parametr Opis

-i, --in-list Plik z listą ścieżek do plików xml do zanonimizowania.

-o, --out-list Plik z listą wyjściowych plików na zanonimizowaną treść. Musi zawierać dokładnie tyle samo elementów co in-list.

Tabela 3: Parametry modułu anonimizującego.

Moduł przetwarzać ma kolejno orzeczenia z listy –in-list zapisując je w miejscu podanym w argumencie –out-list. Każde orzeczenie wejściowe oraz wynik działania anonimizatora jest plikiem xml, którego postać opisana została powyżej.

4. Dostawa modułu wyszukiwania (serwer/silnik wyszukiwania pełnotekstowego, dodatki rozszerzające wyszukiwarkę o korektor zapytań (correct), generator natychmiastowych podpowiedzi oraz serwer/silnik analizy językowej, plugins rozszerzeń modułu analizy językowej o dodatek do podświetlania wybranych haseł w tekstach, dodatek do anonimizacji tekstów)

4.1 WstępModuł wyszukiwania pełnotekstowego wykorzystywany jest jako wyszukiwarka w aplikacji webowej dla Użytkownika Końcowego. W celu integracji z Oprogramowaniem Centralnym wyszukiwarka musi posiadać ściśle określony interfejs programowania oraz pracować na ustalonym modelu danych.Funkcjonalności modułu wyszukiwania to:

● wyszukiwanie literalne po polach metrykalnych, takich jak data bądź typ wydziału, ● wysoka jakość i szybkość wyszukiwania pełnotekstowego,● wyszukiwanie niezależne od fleksji, pomijanie słów nieistotnych, ● automatyczne generowanie streszczeń orzeczeń, zawierających wyszukiwaną przez użytkownika

frazę, ● mechanizm oceny znalezionych orzeczeń ze względu na dopasowanie do wyszukiwanej frazy, ● mechanizm automatycznej korekty błędów we wpisanych przez użytkowników zapytaniach i

podpowiadania najbardziej prawdopodobnej, poprawnej wersji,

68

Page 69: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

● mechanizm sugerowania zapytań w oparciu o dane obecne w bazie, w tym sugerowanie sygnatur, nazwisk sędziów, haseł tematycznych czy słów kluczowych pochodzących tylko z treści oraz metryk orzeczeń prezentowanych w portalu.

Powyższe funkcjonalności zostaną opisane szczegółowo w znajdującym się poniżej opisie API.

4.2 API4.2.1 Protokół komunikacyjnySilnik wyszukiwania pełnotekstowego musi działać jako serwer HTTP, komunikacja z klientami ma się odbywać poprzez protokołu XML-RPC. Szczegółowy opis komunikatów wymienianych z serwerem przedstawiony jest w rozdziale opisującym metody serwera.

4.2.2 Model danychWyszukiwarka ma spełniać założenia dokumentowej bazy danych, opartej o indeksy wyszukiwania.Dokumenty w bazie zapisywane są za pomocą trzech obligatoryjnych informacji: identyfikatora, typu oraz opisu jego lokalizacji (URL). Oprócz tego dokumenty reprezentujące orzeczenia opisane są szeregiem opcjonalnych cech, które zostały przedstawione w dalszej części opisu. Oprócz tego istnieć powinna predefiniowana cecha any - używana podczas wyszukiwania i oznaczać ma, że wyszukiwanie (zadany warunek wyszukiwania) dotyczyć ma wszystkich cech, które mogą być przeszukiwane pełnotekstowo.

4.2.2.1 Typy cechCechy dokumentu definiowane są przez użytkownika w trakcie tworzenia indeksu metodą createIndex. Każda zdefiniowana cecha musi mieć określony typ. W silniku wyszukiwania Portalu Orzeczeń wymagane są 4 typy danych: text, number, date, boolean.

Typ textTyp text umożliwia przechowywanie dowolnych informacji tekstowych. Pola tekstowe mogą być traktowane w różny sposób, zależnie od parametrów określonych dla cechy tego typu w trakcie tworzenia indeksu. Włączenie lub wyłączenie funkcji określanej przez dany parametr następuje poprzez przypisanie mu wartości true albo false w polu t_params w parametrach metody createIndex (patrz punkt 1.3.1). Jeśli parametr nie zostanie określony, domyślnie przypisana zostanie wartość false. Dostępne są następujące parametry modyfikujące typ text:

TM_TEXT_ALLOWFTS – jeżeli wartość tego parametru zostanie ustawiona na true możliwe będzie przeszukiwanie cechy w sposób pełnotekstowy. Włączenie parametru dla zbyt wielu cech tekstowych może powodować wzrost zapotrzebowania na pamięć operacyjną oraz spowolnić wyszukiwanie z użyciem cechy specjalnej any.

TM_TEXT_SPLITSENTENCES – parametr ten informuje system, że wartość danej cechy tekstowej powinna być pamiętana w postaci osobnych zdań.

69

Page 70: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Podział treści na zdania ma wpływ na trafność wyszukiwania dla długich, wielozdaniowych tekstów. Dla tekstów krótszych, co najwyżej kilku zdaniowych (jak np. tytuły) parametr ten powinien być ustawiony na false.

TM_TEXT_INEXCERPT – jeśli parametr ten ma wartość true, wówczas cecha ta będzie uwzględniana przy budowaniu tzw. „strzępek” czyli fragmentów tekstu pokazujących kontekst w jakim występuje szukana fraza.

TM_TEXT_ALLOWCOMPARE – jeśli parametr ten ma wartość true, możliwe będzie sortowanie wyników wyszukiwania według tej cechy, a także porównywanie jej wartości, czyli zadawanie zapytań z użyciem operatorów (tzw. wyszukiwanie leksykalne). Włączenie parametru powoduje zwiększenie rozmiaru pamięci operacyjnej zajmowanej przez indeks.

Parametry TM_TEXT_SPLITSENTENCES i TM_TEXT_INEXCERPT są istotne tylko w przypadku gdy parametr TM_TEXT_ALLOWFTS zostanie ustawiony na true. W przeciwnym wypadku będa one ignorowane.

Typ numberTyp number przeznaczony jest do przechowywania wszelkich wartości liczbowych należących do zbioru liczb rzeczywistych. System wyszukiwarki jako separatora dziesiętnego zawsze używa znaku kropki ('.').

Typ dateTyp date umożliwia zdefiniowanie cech przechowujących daty. Wszystkie daty powinny być znormalizowane do strefy czasowej GMT i mieć jeden format zgodny z normą ISO 8601:%Y-%m-%dT%H:%M:%SZ, np. 2000-01-02T03:45:12ZZ uwagi na to, że implementacje typu XMLRPC datetime.iso8601 są różne na różnych platformach, przesyłanie w zapytaniach wartości cech typu date w tym formacie powinno się stosować jedynie do wąskiego zakresu dat bliskich dacie obecnej (lata 1970-2038). Poza tym zakresem, bezpieczniejszą metodą jest przesyłanie wartości cech typu date za pomocą stringa w podanym powyżej formacie.

Typ booleanTyp boolean umożliwia przechowywanie wartości logicznych true/false. Wyszukiwarka ma umożliwiać stosowanie różnych symboli do reprezentacji logicznej prawdy i fałszu. I tak symbole: true (typu boolean), 'true', 't', 'yes', 'y,' '1' są rozumiane jako true, a symbole false (typu boolean), 'false' , 'f', 'no', 'n', '0' są rozumiane jako false.

4.2.3 OperatoryZapytania o cechy typu text, number i date mogą korzystać z operatorów pozwalających określić zakres poszukiwanej wartości. Wyszukiwarka ma obsługiwać następujące operatory:

operator l. argumentów znaczenie

70

Page 71: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

> 1 znalezione zostaną dokumenty, których zadana cecha ma wartość „większą niż” argument.

>= 1 znalezione zostaną dokumenty, których zadana cecha ma wartość „większą niż lub równą” argumentowi.

< 1 znalezione zostaną dokumenty, których zadana cecha ma wartość „mniejszą niż” argument.

<= 1 znalezione zostaną dokumenty, których zadana cecha ma wartość „mniejszą niż lub równą” argumentowi.

= 1 znalezione zostaną dokumenty, których zadana cecha ma wartość „równą” argumentowi.

W przypadku równości możliwe jest pominięcie operatora.

<> 1 znalezione zostaną dokumenty, których zadana cecha ma wartość „różną od” argumentu.

range 2 znalezione zostaną dokumenty z podanego zakresu. Pierwszy argument oznacza dolną granicę zakresu, a drugi górną.

in dowolna znalezione zostaną dokumenty, których zadana cecha należy do wyliczonego zbioru argumentów.

4.2.4 Metody serweraMetody serwera wyszukiwarki pobierają argumenty, jak również zwracają wyniki w postaci asocjacyjnej tablicy par typu nazwa => wartość. Wartości tekstowe muszą być zakodowane za pomocą kodowania UTF-8.Jeżeli działanie wywołanej metody zakończy się sukcesem, zwróci ona tablicę asocjacyjną postaci:{ "status" => "OK", ... }W przypadku wystąpienia błędu wynikiem będzie tablica zawierająca jego kod:{ "status" => "error", "error" => "identyfikator_błędu" }

4.2.4.1 Metoda createIndexMetoda createIndex tworzy index o zadanej nazwie i strukturze. Nazwa indeksu musi być unikalna. Próba stworzenia indeksu o nazwie identycznej z nazwą innego, istniejącego już indeksu zakończy się błędem.Argumenty:

{ "index" => "nazwa_indeksu", "abbreviations" => "ścieżka_do_pliku_abbreviations", "stopwords" => "ścieżka_do_pliku_stopwords",

71

Page 72: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

"traits" => [{ "t_name" => "nazwa_cechy_1", "t_type" => "typ_cechy", "t_rank" => "waga_cechy" "t_params" =>{"nazwa_parametru_1" => "false" lub "true",…,"nazwa_parametru_n" => "false" lub "true"}},…,{"t_name" => "nazwa_cechy_n","t_type" => "typ_cechy_n",…,}]

}

Zwracana wartość:{ "status" => "OK" }lub informacja o błędzie.

Nieobowiązkowy parametrabbreviationsokreśla ścieżkę do pliku ze skrótami, który ma być użyty dla tworzonego indeksu. Dzięki temu możliwe będzie wyszukanie pewnych fraz po wysłaniu zapytań o związane z nimi skróty. W nieobowiązkowym parametrze stopwords możliwe jest podanie ścieżki do odpowiedniego, dla tworzonego indeksu, pliku definiującego tzw. stop words, czyli często występujące w danym indeksie słowa, które ze względu na swoją powszechność nie mają istotnej wartości informacyjnej. Jeżeli parametr nie zostanie podany, użyte zostaną domyślne stop words dla języka polskiego. Więcej na ten temat w rozdziale opisującym stop words.Lista traits zawiera definicje cech jakich można używać podczas przeszukiwania indeksu. Typy możliwe do użycia w polu t_type zostały opisane w punkcie 4.2.2.1. Dodatkowe parametry możliwe do ustawienia w polu t_params zależą od typu cechy i zostały opisane w opisie poszczególnych typów.Pole t_rank pozwala określić wagę danej cechy. Ma to sens jedynie dla cechy typu text, która może być przeszukiwana pełnotekstowo. Waga jest brana pod uwagę przy określaniu trafności wyniku. Dzięki temu możliwa jest sytuacja kiedy za bardziej trafne uznane zostaną dokumenty, które zawierają szukaną frazę w tytułach, a nie tylko w treści. Waga powinna być dowolną liczbą rzeczywistą większą od 0.0. Jeśli pole t_rank nie zostanie określone, przyjęta zostanie dla niego domyślna wartość 1.0.

4.2.4.2 Metoda startIndexMetoda ładuje/uruchamia index o zadanej nazwie – indeks musi zostać uruchomiony, aby był dostępny i aby można było w nim wyszukiwać. Indeksy są uruchamiane automatycznie w czasie uruchomienia serwera. Automatyczne ładowanie poszczególnych indeksów można włączać/wyłączać modyfikując odpowiednie wpisy w pliku konfiguracyjnym.Argumenty:

72

Page 73: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

{ "index" => "nazwa_indeksu", "readers" => "ilość_jednoczesnych_zapytań(number)"}Zwracana wartość:{ "status" => "OK" }lub informacja o błędzie (np. jeśli podany indeks już jest uruchomiony).

Nieobowiązkowy parametr readersokreśla maksymalną liczbę zapytań, które będą równolegle (jednocześnie) obsługiwane przez startowany indeks. Jeśli parametr nie zostanie podany, przyjęta zostanie wartość domyślna 1.

4.2.4.3 Metoda stopIndexMetoda zatrzymuje index o zadanej nazwie. Po zatrzymaniu nie jest on dostępny do czasu ponownego jego uruchomienia.Argumenty:{ "index" => "nazwa_indeksu" }Zwracana wartość:{ "status" => "OK" }lub informacja o błędzie (np. jeśli podany indeks nie jest uruchomiony).

4.2.4.4 Metoda openIndexMetoda ta otwiera indeks. Otwarcie indeksu i pobranie tokena sesji jest niezbędne, aby móc wywołać metody addDocument, updateDocument, removeDocuments. Otwarty indeks musi zostać zamknięty metodą closeIndex.Argumenty:{ "index" => "nazwa_indeksu" }Zwracana wartość:{ "status" => "OK", "token" => "wygenerowany_token_sesji" }lub informacja o błędzie.

4.2.4.5 Metoda closeIndexMetoda zamyka indeks i unieważnia sesję identyfikowaną przez token otrzymany od funkcji openIndex. Każde wywołanie funkcji openIndex powinno mieć odpowiadające jej wywołanie metody closeIndex. Argumenty:{ "token" => "wygenerowany token sesji" }Zwracana wartość:{ "status" => "OK" }lub informacja o błędzie.

4.2.4.6 Metoda removeIndexMetoda ta usuwa indeks o podanej nazwie. Metoda nie wymaga wcześniejszego otwarciaindeksu. UWAGA: pliki indeksu usuwane są fizycznie z dysku.Argumenty:{ "index" => "nazwa_indeksu" }Zwracana wartość:

73

Page 74: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

{ "status" => "OK" }lub informacja o błędzie.

4.2.4.7Metoda addDocumentMetoda addDocument dodaje dokument do indeksu. Pozwala ona użytkownikowi na określenie zarówno jego cech obowiązkowych jak i dodatkowych. Cechy obowiązkowe to identyfikator dokumentu d_id, typ dokumentu d_type oraz informacja o lokalizacji dokumentu d_url. Cechy dodatkowe definiowane są przez użytkownika w momencie tworzenia indeksu. Jedną z cech dodatkowych jest treść dokumentu i użytkownik powinien zadbać o jej utworzenie.Argumenty:{"token" => "wygenerowany token sesji","document" => {"d_id" => "identyfikator dokumentu","d_type" => "typ dokumentu","d_url" => "lokalizacja dokumentu","d_rank" => statyczna_wartość_dokumentu(number)"d_categories" => ["id_kategorii_1","id_kategorii_2",...],"d_traits" => [{ "t_name" => "nazwa_cechy_1","t_value" => "wartość_cechy_1" },{ "t_name" => "nazwa_cechy_2","t_value" => "wartość_cechy_2" },…]}}Zwracana wartość:{ "status" => "OK" }lub informacja o błędzie.

Należy zwrócić uwagę, aby wartość cechy była zgodna z jej typem określonym w metodzie createIndex. Jeśli wartość nie będzie zgodna ze zdefiniowanym typem, funkcja addDocument zwróci błąd. Wyjątkiem są cechy typu date, których wartości mogą podawane na 2 sposoby: jako XMLRPC datetime.iso8601 albo jako text, w formacie opisanym w punkcie 4.2.2.1.Identyfikator dokumentu d_id to dowolny łańcuch znakowy identyfikujący dokument. Należy zwrócić uwagę, że musi on być unikalny. Próba dodania dokumentu o identyfikatorze już znajdującym się w indeksie zakończy się zgłoszeniem błędu.Typ d_type to dowolny łańcuch znakowy określający typ dokumentu (indeks może zawierać dokumenty różnych typów).Pole d_rank pozwala określić względną wartość dokumentu. Powinna to być liczba rzeczywista większa od 0.0. O sposobie jej wyznaczania decyduje użytkownik, pamiętając, że wyższa liczba oznacza wyższą pozycję na liście wyników. Jeżeli pole to nie zostanie określone, system przyjmie wartość domyślną równą 0.01. Wartość ta jest tylko jedną ze składowych (składową statyczną) do wyliczenia trafności dopasowania wyniku (pole score w wyniku wyszukiwania).

74

Page 75: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Pole d_categories pozwala powiązać dokument z kategoriami taksonomii. Jest to lista identyfikatorów (typu string) kategorii, do których należy wprowadzany dokument. Warto zauważyć, że sama taksonomia (jej struktura, tytuły kategorii itp.) nie jest pamiętana w indeksie wyszukiwania – w indeksie pamiętane jest tylko powiązanie dokumentów z konkretnymi kategoriami.

4.2.4.8 Metoda updateDocumentMetoda ta służy do modyfikacji/aktualizacji danych dokumentu wcześniej wprowadzonego do indeksu za pomocą metody addDocument. Jeżeli dokument zadany za pomocą parametrów nie zostanie znaleziony w systemie metoda zwróci informację o błędzie, zatem metoda ta nie nadaje się do wprowadzania nowych dokumentów do indeksu.Argumenty i zwracane wartości są takie same, jak dla metody addDocument.Należy zwrócić uwagę, że przekazany metodzie jako argument document opis dokumentu musi być zawsze opisem kompletnym, to znaczy nie można za pomocą wielokrotnego wywołania tej metody uzupełniać opisu dokumentu przechowywanego w indeksie.

4.2.4.9Metoda updateTraitsMetoda updateTraits służy do szybkiej modyfikacji wartości poszczególnych cech (atrybutów dodatkowych) dokumentu. W czasie jednego wywołania tej metody zmienione mogą być cechy wielu dokumentów. Metoda ta nie pozwala na zmianę cech tekstowych, dla których ustawiona została flaga TM_TEXT_ALLOWFTS.Argumenty:{

"token" => "wygenerowany token sesji","set" => [

{ "t_name" => "nazwa_cechy_1","t_value" => "wartość_cechy_1" },{ "t_name" => "nazwa_cechy_2", "t_value" => "wartość_cechy_2" },…"where" => {

"d_id" => "identyfikator dokumentu", -- i/lub "d_type" => "typ dokumentu", -- i/lub "d_url" => "lokalizacja dokumentu", -- i/lub ":nazwa_cechy_1" => { "value" => "wartość_cechy_1" },

… }}Zwracana wartość:{

"status" => "OK","updated" => "liczba_zmodyfikowanych_dokumentów"

}

Pole token powinno zawierać token sesji zwrócony przez metodę openIndex.Pole set określa które cechy powinny zostać zmienione i jakie należy przypisać im wartości. Jest to lista słowników z których każdy zawiera nazwę cechy do zmiany (pole t_name) i wartość jaka ma zostać

75

Page 76: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

ustawiona (pole t_value). Wartości te definiowane są w taki sam sposób jak w przypadku metody addDocument.Pole where określa które dokumenty (a konkretnie cechy których dokumentów) zostaną zmodyfikowane. Dokumenty wybierane są podobnie jak ma to miejsce w przypadku metody query – wartość pola value ma taką samą postać (patrz punkt 2.6.7.2.4.11).

4.2.4.10 Metoda removeDocumentsMetoda removeDocuments służy do usuwania dokumentów z indeksu. Usuwane są wszystkie dokumenty spełniające iloczyn logiczny warunków zadanych w parametrach metody.Argumenty:{ "token" => "wygenerowany token sesji", "d_id" => "identyfikator dokumentu", -- i/lub "d_type" => "typ dokumentu", -- i/lub "d_url" => "lokalizacja dokumentu", -- i/lub ":nazwa_cechy_1" => { "value" => "wartość_cechy_1" }, ":nazwa_cechy_2" => { "value" => "wartość_cechy_2" }, ...}Zwracana wartość:{

"status" => "OK","removed" => "liczba_usuniętych_dokumentów"

}lub informacja o błędzie.

Pole value określające wartość cechy dokumentu do usunięcia ma taką samą postać jak w przypadku metody query (patrz punkt 4.2.4.11). W przypadku tej metody nazwy cech poprzedzone są dwukropkiem.

4.2.4.11 Metoda queryMetoda query jest główną metodą umożliwiającą wyszukiwanie. Argumenty tej metody pozwalają określić zestaw warunków jakie muszą spełniać dokumenty, aby znalazły się w zbiorze wyników, oraz zdefiniować liczność i uporządkowanie tego zbioru.Argumenty:{"index" => "nazwa_indeksu","d_id" => "identyfikator_dokumentu", -- i/lub"d_type" => "typ_dokumentu", -- i/lub"d_url" => "lokalizacja_dokumentu", -- i/lub"d_categories" => ["id_kategorii_1",...], –- i/lub":nazwa_cechy_typu_text_1" => {"value" => "zapytanie_pełnotekstowe" }, -- i/lub"normalisation" => true|false }, -- i/lub":nazwa_cechy_typu_text_2" => {"value" => ["operator", "tekst_1", (i/lub) "tekst_2"],

76

Page 77: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

"alias" => "nazwa_pola_wynikowego_1" }, -- i/lub":nazwa-cechy-typu-number" => {"value" => ["operator", "liczba_1", (i/lub) "liczba_2"],"alias" => "nazwa_pola_wynikowego_2" }, -- i/lub":nazwa-cechy-typu-date" => {"value" => ["operator", "data_1", (i/lub) "data_2"],"alias" => "nazwa_pola_wynikowego_3" }, -- i/lub":nazwa-cechy-typu-boolean" => {"value" => ["operator", "wartość_logiczna"]"alias" => "nazwa_pola_wynikowego_4" }, -- i/lub".funkcja-agregująca(argument)" => {"alias" => "nazwa_pola_wynikowego_5" }, -- i/lub…,"excerpt" => "true", -- albo"excerpt" => {"hard_limit" => liczba_1, -- i/lub"soft_limit" => liczba_2 }, -- i/lub"prefix" => "prefix_podświetlanego_tekstu","suffix" => "suffix_podświetlanego_tekstu""sort" => [["score", "desc"],["nazwa-cechy_lub_alias_1", "asc"], ...], -- i/lub"group" => ["nazwa_cechy_lub_alias_1", ...], -- i/lub"group_selector"=>[["nazwa_cechy_lub_alias_2",–-i/lub "metoda_selekcji"], ...]"from" => od_wyniku(integer), -- i/lub"limit" => limit_liczby_wyników(integer)}

W powyższym opisie argumentów metody query pokazane zostały przykłady pytań o cechy różnych typów. Pytania takie można dowolnie łączyć, może być tylko jedno lub może być ich wiele. Poniżej zostaną omówione poszczególne przypadki.Dla cech typu text możliwe są dwa rodzaje zapytań: pełnotekstowe i leksykalne. Pytanie pełnotekstowe zadajemy przekazując w polu value pojedynczy tekst (string). Warto przypomnieć, że pełnotekstowo można przeszukiwać tylko wartości cech dla których parametr TM_TEXT_ALLOWFTS ma wartość true. Jeśli parametr ten nie zostanie włączony, próba wyszukiwania pełnotekstowego spowoduje błąd.Pytanie leksykalne zadajemy przekazując w polu value listę składającą się z operatora oraz jego argumentów tekstowych. W pytaniach leksykalnych możliwe jest zatem porównywanie wartości i z jednej strony wyszukiwanie dokumentów, których zadana cecha ma konkretną wartość, a z drugiej wyszukiwanie dokumentów, których wartość cechy należy do określonego przedziału.Jak łatwo zauważyć, lista może być wartością pola value dla cech typu text, number i date. We wszystkich tych przypadkach pierwszym elementem listy jest operator. Liczba i rodzaj pozostałych elementów zależą od operatora.Pole :nazwa_cechy_typu_text_1 definiuje zapytanie o cechę typu tekstowego z włączonym przeszukiwaniem pełnotekstowym, z uwzględnieniem fleksji (ponieważ wartość w polu value jest

77

Page 78: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

stringiem). Zostaną wyszukane dokumenty zawierająca podaną frazę, ale pole to nie znajdzie się na liście wyników, ponieważ nie został dla niego określony alias.Alias, to nazwa pod jaką wartość danego pola będzie widoczna na liście wyników. Aliasu można też używać w klauzulach sort i group. Zapytanie zdefiniowane w polu :nazwa_cechy_typu_text_2 definiuje alias, zatem wartość tego pola znajdzie się na liście wyników. Cecha o nazwie :nazwa_cechy_typu_text_2 będzie przeszukiwana leksykalnie, ponieważ wartość w polu value jest listą.Warto pamiętać, że w przypadku zapytań pełnotekstowych jako nazwy_cechy_typu_text można użyć nazwy specjalnej any, która spowoduje szukanie po wszystkich cechach, którym ustawiono parametr TM_TEXT_ALLOWFTS na wartość true. Any nie jest żadną konkretną cechą, dlatego nie można dla niej stosować aliasów.Dodatkowo dla zapytań pełnotekstowych możliwe jest wyłączenie normalizacji słów. Po wyłączeniu normalizacji nie będzie uwzględniana fleksja - wyszukiwane będą słowa z zapytania tylko w takiej formie, w jakiej zostały zadane. Normalizację można wyłączyć ustawiając w polu normalisation pytania o cechę wartośc false. Domyślnie normalizacja jest włączona.Pole :nazwa_cechy_typu_number definiuje zapytanie o cechę typu liczbowego. Pole value określa o co pytamy. Wartością tego pola jest lista, której pierwszym elementem jest operator, a kolejnymi liczby – argumenty operatora. Argumenty mogą być podane na 2 sposoby – jako wartości typu liczbowego (int albo double) albo w postaci tekstowej (np. '23.76', '12'), jednak wszystkie w ten sam sposób.Pole :nazwa_cechy_typu_date definiuje zapytanie o datę. Składnia pola value jest analogiczna do składni w przypadku cech typu text i number. Argumenty, podobnie jak dla cech typu number, mogą być podane na 2 sposoby – jako wartości typu XMLRPC datetime.iso8601 albo w postaci tekstowej.Pole :nazwa_cechy_typu_boolean definiuje zapytanie o cechę typu logicznego. Wartości argumentów, jakie może zawierać pole value, zadane za pomocą typu boolean albo w postaci tekstowej.Należy zwrócić uwagę, że w parametrach metody query nazwy cech poprzedzone są dwukropkiem.Pole d_categories pozwala ograniczyć wyniki wyszukiwania do dokumentów należących do zadanej kategorii taksonomii (więcej informacji). Jest to lista identyfikatorów (typu string) kategorii, zatem możliwe jest podanie wielu identyfikatorów. Aby dokument znalazł się na liście wyników musi należeć do wszystkich wymienionych kategorii naraz. Pole excerpt określa, czy w wyniku mają być zwracane tzw. strzępki (fragmenty tekstu pokazujące kontekst w jakim występuje szukana fraza). Strzępki zostaną zwrócone jeśli pole excerpt będzie miało wartość true albo podany zostanie przynajmniej jeden z parametrów hard_limit, soft_limit i jeśli wśród warunków znalazły się zapytania o cechy, które mają ustawiony parametry TM_TEXT_ALLOWFTS i TM_TEXT_INEXCERPT na wartość true. Jeśli pole excerpt zostanie pominięte, strzępki nie zostaną zwrócone. Jeśli pole excerpt będzie miało wartość true, zwrócone strzępki nie będą w żaden sposób przycięte, tzn. będą się składać ze wszystkich zdań ze znalezionych dokumentów, które spełniają warunki podane w zapytaniu. Jeśli zostanie podany któryś z parametrów hard_limit, soft_limit, zwracane strzępki zostaną odpowiednio przycięte. Podany parametr soft_limit spowoduje przycięcie długości strzępków według zdefiniowanej w nim długości, z dokładnością do zdania. W strzępkach znajdzie się zatem taka ilość najbardziej pasujących do zapytania zdań, że ich łączna długość jest równa albo większa od soft_limit, natomiast bez ostatniego z nich, łączna długość pozostałych jest zawsze mniejsza od soft_limit. Mówiąc inaczej, strzępki zostaną zbudowane w ten sposób, że będą do nich dodawane pasujące zdania (w kolejności od bardziej do mniej pasujących), tak długo, aż ich łączna długość osiągnie albo przekroczy

78

Page 79: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

wartość podaną w soft_limit. Jeśli łączna długość wszystkich pasujących zdań będzie mniejsza od soft_limit, strzępki zostaną uzupełnione zdaniami, które z nimi sąsiadują. Podany parametr hard_limit spowoduje przycięcie strzępków według zdefiniowanej w nim długości, z dokładnością do słowa. W strzępkach znajdzie się zatem taka ilość najbardziej pasujących do zapytania zdań, że ich łączna długość jest mniejsza albo równa wartości hard_limit oraz maksymalna ilość kolejnych słów następnego najbardziej pasującego zdania, która spowoduje, że długość strzępków nie przekroczy wartość hard_limit. Jeśli podane zostaną oba te parametry strzępki zostaną zbudowane tak jak w przypadku soft_limit, a następnie jeśli ich długość przekracza hard_limit, ostatnie zdanie zostanie przycięte, tak jak dla hard_limit. W przypadku, gdy ostatnie słowo (z którym długość strzępków przekracza hard_limit jest długie (powyżej 20 znaków), zostanie ono przecięte, tak by długość strzępków była równa hard_limit. Jeśli zdanie będzie przecięte w środku, na końcu strzępków będzie doklejony fragment (…), który również wlicza się do ich długości. Jeśli zapytanie będzie o cechę specjalną any, a pasujące zdania będą tylko w cechach tekstowych, które nie mają ustawionego parametru TM_TEXT_INEXCERPT na wartość true, zwrócone strzępki będą puste.

PrzykładyZałóżmy, że zdania:

A: Ala ma kota. (długość 12)B: Kot jest ładny. (długość 15)C: Ma ogon i wąsy bardzo długie. (długość 29)

pasują do zapytania.Bez parametrów soft_limit i hard_limit mamy strzępki:"Ala ma kota. Kot jest ładny. Ma ogon i wąsy bardzo długie. "

Dla hard_limit = 42 mamy strzępki:"Ala ma kota. Kot jest ładny. Ma ogon (...)" (długość = 12 + 1 + 15 + 1 + 3 + 5 + 5 = 42, trzecie zdanie przycięte)

Dla soft_limit = 20 mamy strzępki:"Ala ma kota. Kot jest ładny." (długość = 12 + 1 + 15 = 28)

Dla soft_limit = 20 i hard_limit>= 28 tak samo, bo długość powyższego strzępka nie jest wtedy większa od hard_limit.

Dla soft_limit = 20 i hard_limit = 25 mamy:"Ala ma kota. Kot (…)" (długość = 12 + 1 + 4 + 5 = 22, drugie zdanie przycięte)

Dla soft_limit = 30 i hard_limit = 40 mamy:"Ala ma kota. Kot jest ładny. Ma (…)" (długość = 12 + 1 + 15 + 1 + 3 + 5 = 37, trzecie zdanie przycięte)

Parametry prefix i suffix definiują sposób wyróżniania szukanej frazy w strzępku. Ich użycie ma zatem sens tylko wówczas, gdy w polu excerpt została ustawiona wartość true.

79

Page 80: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Pole sort pozwala określić sposób uporządkowania wyników. Jego wartością jest lista kolumn sortowania. Każda kolumna jest dwuelementową listą, której pierwszym elementem jest nazwa (alias) pola wynikowego, a drugim elementem kierunek sortowania (asc - rosnąco lub desc – malejąco). Aby sortowanie po danym polu było możliwe, pole to musi mieć flagę TM_TEXT_ALLOWCOMPARE ustawioną na true.Pole group pozwala na grupowanie wyników. Jeżeli na liście wyników znajdzie się wiele rekordów, które w zadanych polach wynikowych mają taką samą wartość, to zwrócony zostanie tylko jeden z nich – reprezentant grupy. To, który rekord zostanie reprezentantem można określić za pomocą pola group_selector. Kolejność grupowania wyników zgodna jest z kolejnością pól w polu group.Pole group_selector pozwala określić sposób wyboru rekordów reprezentujących grupę w wyniku operacji grupowania. Jego argumentem jest lista par, w których pierwszy parametr to nazwa lub alias cechy, której chcemy użyć do wyboru reprezentanta grupy, a drugi to rodzaj selektora. Cechy użyte w polu group_selector powinny być inne niż cechy użyte w group, ponieważ wartość cech użytych do grupowania jest taka sama dla wszystkich elementów w obrębie grupy, a więc próba wyboru reprezentanta grupy w ten sposób nie da oczekiwanego rezultatu. Jeśli chodzi o selektory, to w chwili obecnej dostępne są dwa: min i max. Selektor min spowoduje, że reprezentantem grupy zostanie rekord mający w zadanym polu, po którym następuje wybór (innym niż pola, po których nastąpiło grupowanie), najmniejszą wartość w grupie. Analogicznie, selektor max spowoduje wybór spośród wszystkich rekordów grupy tego o największej wartości w zadanym polu. Aby selektor zadziałał na wybranym polu, konieczne jest ustawienie mu flagi TM_TEXT_ALLOWCOMPARE na true.Jeżeli w danym zapytaniu wykonujemy grupowanie rekordów, możemy użyć funkcji agregujących. Funkcje agregujące, to funkcje wyznaczające swoją wartość na podstawie wszystkich wartości danej cechy w grupie. Dokładniej zostały one opisane w punkcie. Jak można zauważyć w przykładowym zbiorze parametrów zapytania powyżej, nazwy funkcji agregujących poprzedzane są kropką. Wartością pola definiującego funkcję agregującą jest słownik zawierający tylko i wyłącznie jedno pole alias określające nazwę pod jaką wartość funkcji zostanie zwrócona w wyniku.Pole from pozwala określić tzw. offset czyli numer (począwszy od 0) pierwszego rekordu spośród wszystkich znalezionych, który zostanie zwrócony. Jeżeli pole from nie zostanie określone to przyjęta zostanie domyślna wartość 0.Natomiast pole limit pozwala określić rozmiar zwróconego zbioru wynikowego, czyli liczbę kolejnych rekordów począwszy od rekordu o numerze określonym przez from jakie mają zostać zwrócone. Jeżeli w parametrach zapytania limit nie zostanie określony, wówczas zwrócone zostaną wszystkie wyniki.Zbiór rekordów określony przez pola from i limit jest tworzony po wykonaniu sortowania i grupowania.Zwracana wartość:{ "status" => "OK", "from" => od_wyniku(integer), "limit" => limit_liczby_wyników(integer), "total" => sumaryczna_liczba_wyników(integer), "gross_total"=>sumaryczna_liczba_wyników

_przed_grupowaniem(integer), "time" => czas_wykonania_zapytania_przez_silnik(integer), "found" => [ { "d_id" => identyfikator_dokumentu,

80

Page 81: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

"d_type" => typ_dokumentu, "d_url" => lokalizacja_dokumentu, "score" => relatywny_wskaźnik_dopasowania(float), "excerpt" => "wycinek_tekstu_1", "nazwa-pola-wynikowego_1" => "znaleziona_wartość-1", "nazwa-pola-wynikowego_2" => "znaleziona_wartość-2", "nazwa-pola-wynikowego_3" => "znaleziona_wartość-3",

... }, {"d_id" => identyfikator_dokumentu, "d_type" => typ_dokumentu, "d_url" => lokalizacja_dokumentu, "score" => relatywny_wskaźnik_dopasowania(float), "excerpt" => "wycinek_tekstu_2", "nazwa_pola_wynikowego_1" => "znaleziona_wartość_1", "nazwa_pola_wynikowego_2" => "znaleziona_wartość_2", "nazwa_pola_wynikowego_3" => "znaleziona_wartość_3" }, ... ],}lub informacja o błędzie.

Pole score jest polem specjalnym. Jego wyspecyfikowanie w opcji sort powoduje automatyczne wyliczenie rankingu dokumentów (relatywnych wskaźników dopasowania dokumentów do zapytania, będących liczbami zmiennoprzecinkowymi) i umieszczenie odpowiednich wartości w zwróconym zestawie danych. Więcej informacji na ten temat można znaleźć w punkcie pt. Ranking wyników.

Składnia parametrów prefix i suffixParametry prefix i suffix pozwalają określić w jaki sposób będzie wyróżniana (podświetlana) szukana fraza w wybranych z tekstu, najlepiej dopasowanych do zapytania zdaniach. Każdy z tych parametrów składa się z dwóch logicznych części, rozdzielonych znakiem "^" (grot). Pierwsza z części odpowiada słabemu, a druga mocnemu dopasowaniu. Przez słabe i mocne dopasowanie rozumiemy odpowiednio: dopasowanie do części lub całości zadanej frazy.Przykładowo, dla zapytania prawo pracy, prefixu określonego jako "<weak>^<strong>" oraz suffixu określonego jako "</weak>^</strong>" otrzymać możemy następujący tekst:

Efektem wytężonej <weak>pracy</weak> posłów jest <weak>prawo</weak>, które powinno poprawić sytuację tysięcy rodzin... ...Związkowcy protestowali przeciwko zmianom w <strong>prawie pracy</strong>.

Składanie zapytań pełnotekstowychZapytania pełnotekstowe kierowane do systemu wyszukiwarki oprócz czystego tekstu zawierają nieobowiązkowe operatory:

81

Page 82: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

[spacja] – spacja pomiędzy frazą A i B (A B) oznacza, że poszukiwane będą dokumenty, w których frazy A i B występują w tym samym zdaniu, jest to zatem operator AND działający na poziomie zdań

, - przecinek pomiędzy frazą A i B (A, B) oznacza, że poszukiwane będą dokumenty, które zawierają frazę A i jednocześnie zawierają frazę B, ale frazy te mogą wystąpić w różnych zdaniach, jest to zatem operator AND działający na poziomie dokumentów

"" - fraza objęta cudzysłowem szukana będzie w całości, bez uwzględniania fleksji, w dokładnie takiej postaci w jakiej została wpisana przez użytkownika

' ' - fraza objęta apostrofami szukana będzie w całości, ale z uwzględnieniem fleksji dla składających się na nią słów

| - pałka pomiędzy słowami A i B (A|B) oznacza, że poszukiwane będą dokumenty zawierające słowo A lub słowo B. Operator ten ma zastosowanie wyłącznie dla słów, a między operatorem, słowem A i słowem B nie może być żadnego znaku białego (np. spacji). Jest to zatem operator OR działający na poziomie zdań.

* - gwiazdka pomiędzy frazami A i B (A*B) oznacza, że poszukiwane będą dokumenty zawierające frazę A lub frazę B. Jest to zatem operator OR działający na poziomie dokumentów.

Priorytet operatorów jest następujący. Najwyższy mają operatory: cudzysłów, apostrof oraz pałka. Potem kolejno spacja, przecinek i na końcu gwiazdka.

Przykład 1Zapytanie:"ala ma kota", jacek i agatka, "pojechali"

spowoduje, że poszukiwane będą dokumenty, które:1. zawierają frazę ala ma kota i jednocześnie2. zawierają zdanie, w którym występuje (w dowolnej formie) słowo jacek i słowo agatka (spójnik i

jest pomijany jako tzw. stopword) i jednocześnie3. zawierają słowo pojechali (dokładnie w tej formie)

Przykład 2Zapytanie:Makłowicz|Okrasa, makaron|spagetti|spaghetti

spowoduje, że poszukiwane będą dokumenty, które:1. zawierają zdania ze słowami Makłowicz lub Okrasa, a jednocześnie,2. zawierają zdania ze słowami makaron lub spagetti lub spaghetti.

Przykład 3Zapytanie

82

Page 83: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

'ala ma kota', pies Pankracy * Makłowicz|Okrasa

spowoduje, że poszukiwane będą dokumenty, które:1. zawierają frazę z wyrazami ala, ma, kota (w dowolnej formie, np. "ala mieć kot") i jednocześnie

zawierają zdanie, w którym występuje (w dowolnej formie) słowo pies i słowo Pankracy lub2. zawierają zdania ze słowami Makłowicz lub Okrasa.

4.2.4.12 Funkcje agregująceFunkcje agregujące to funkcje działające w trakcie grupowania rekordów, wyznaczające pewną wartość na podstawie wszystkich wartości zadanej cechy należących do jednej grupy. Przykładami funkcji agregujących mogą być funkcje wyliczające sumę lub wartość średnią grupowanej cechy czy też funkcja zwracająca liczbę rekordów należących do grupy. Wyszukiwarka ma udostępniać następujące funkcje:

funkcja Opis

sum(cecha) wylicza sumę wartości cechy wchodzących w skład grupy.

avg(cecha) wylicza średnią wartości cechy o nazwie wchodzących w skład grupy.

count() dla każdej grupy zwraca liczbę należących do niej rekordów.

concat(cecha) skleja wartości cechy należące do grupy w jeden tekst używając jako łącznika sekwencji #:#.

min(cecha) zwraca najmniejszą wartość cechy wchodzącą w skład grupy.

max(cecha) zwraca największą wartość cechy wchodzącą w skład grupy.

Argument cecha oznacza nazwę pola (cechy) dokumentu lub określonego w zapytaniu aliasu tego pola, dla którego chcemy wyliczyć wartość funkcji. Nazwy cech w przypadku funkcji agregujących nie poprzedzamy dwukropkiem.Funkcje sum i avg mogą być używane tylko i wyłącznie dla cech typu liczbowego, funkcja concat tylko i wyłącznie dla cech typu tekstowego, a pozostałe funkcje dla cech dowolnego typu.

4.2.4.13 Ranking wynikówJak zostało wcześniej wspomniane, wyspecyfikowanie w polu sort parametrów metody query kolumny specjalnej score spowoduje wyliczenie rankingu wyników, czyli względnej wartości określającej jakość dopasowania danego wyniku do zapytania. Wyliczanie tej wartości ma sens tylko dla zapytań pełnotekstowych.

83

Page 84: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Wartość score ma dwa składniki: składnik dynamiczny D oraz składnik statyczny S. Składnik statyczny, to wartość pola d_rank zdefiniowana dla dokumentu (np. przy jego dodawaniu metodą addDocument). Natomiast wartość składnika dynamicznego jest wyliczana na podstawie:

● liczby zdań zawierających szukaną frazę,● pozycji tych zdań w dokumencie,● wagi cechy w której znaleziono szukaną frazę, definiowanej przez użytkownika przy tworzeniu

indeksu za pomocą parametru t_rank.Końcowy wynik score jest sumą składnika dynamicznego i statycznego: score = D + S

Składowa dynamiczna jest znormalizowaną liczbą z przedziału 0.0 – 1.0, przy czym w każdym zbiorze wyników, wynik najlepiej dopasowany otrzymuje wartość 1.0. Składowa statyczna (pole d_rank) może być dowolną liczbą zmiennoprzecinkową większą bądź równą 0.0. Jak łatwo zauważyć, im większa będzie wartość d_rank (czyli składowej statycznej) tym mniejsze będzie znaczenie składowej dynamicznej.

4.2.4.14Metoda tokenizeMetoda tokenize służy do zamiany zadanego zapytania (tekstu) na ciąg tokenów. Tokenem może być, np. pojedyncze słowo, operator, znak specjalny. Jednym z zastosowań może być sprawdzenie jak wyszukiwarka rozumie nasze zapytanie, w przypadku, gdy wyniki zwracane przez metodę query nie zgadzają się z naszymi oczekiwaniami.Argumenty:{ "index" => "nazwa_indeksu","value" => "zapytanie_do_tokenizacji" }

Pole value zawiera tekst (string), który ma zostać poddany tokenizacji.

Zwracana wartość:{ "status" => "OK", "time" => czas_wykonania_zapytania_przez_silnik(integer),"parts" => [ { "tokens" => [

wartość_tokenu_1,wartość_tokenu_2,{

"token" => wartość_tokenu_3,"info" => informacja_o_tokenie_3

},...

},{

"operator" => operator_typu_pierwszego_1},{

"operator" => operator_typu_drugiego_1

84

Page 85: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

"tokens" => [wartość_tokenu_4,wartość_tokenu_5,{

"token" => wartość_tokenu_6,"info" => [

informacja_1_o_tokenie_6,informacja_2_o_tokenie_6,...

]},...

},...

]}lub informacja o błędzie.

W polu time metoda zwraca czas wykonania tokenizacji w milisekundach. Wyniki tokenizacji są w polu parts. Jest to lista części na jakie dzielą zadany tekst występujące w nim operatory. Każda część to albo lista tokenów, różnych od operatora, albo operator pierwszego typu, tzn. działający na poziomie dokumentów przecinek ( , ) albo gwiazdka ( * ), albo operator drugiego typu, tzn. apostrof ( '' ), cudzysłów ( "" ) albo pałka ( | ) wraz z listą związanych z nim tokenów. Każdy pojedynczy token różny od operatora jest zwracany w postaci stringa, w przypadku, gdy jest to zwykłe słowo albo w postaci słownika, z polami token (gdzie trzymana jest wartość tokenu) oraz info (gdzie znajduje się informacja czym jest dany token, np. skrót, stopword, itp.).

Przykład 1Zapytanie:"A potem Miś idzie I nie wie gdzie..."

zwróci odpowiedź z następującą wartością pola parts:[{'tokens': [{'info': ['STOP_WORD'], 'token': 'a'}, 'potem', u'miś', 'idzie', {'info': ['STOP_WORD'], 'token': 'i'}, {'info': ['STOP_WORD'], 'token': 'nie'}, 'wie', {'info': ['STOP_WORD'], 'token': 'gdzie'}, {'info': ['STOP_WORD', 'SPECIFIC'], 'token': '.'}, {'info': ['STOP_WORD', 'SPECIFIC'], 'token': '.'}, {'info': ['STOP_WORD', 'SPECIFIC'], 'token': '.'}]}]

Przykład 2Zapytanie"Część pierwsza * część druga, trzecia, tak to jest* \"kiedy się wie\" że trzeba 'napisać' zapytanie, całkiem fajne* i ładne|brzydkie|"

zwróci odpowiedź z następującą wartością pola parts:[ {'tokens': [u'część', 'pierwsza']}, {'operator': 'OR_DOC'}, {'tokens': [u'część', 'druga']}, {'operator': 'AND_DOC'}, {'tokens': ['trzecia']}, {'operator': 'AND_DOC'}, {'tokens': ['tak', {'info': ['STOP_WORD'],

85

Page 86: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

'token': 'to'}, {'info': ['STOP_WORD'], 'token': 'jest'}]}, {'operator': 'OR_DOC'}, {'operator': 'NO_NORM', 'tokens': ['kiedy', u'się', 'wie']}, {'operator': 'AND_DOC'}, {'tokens': [{'info': ['STOP_WORD'], 'token': u'że'}, {'info': ['STOP_WORD'], 'token': 'trzeba'}]}, {'operator': 'AND_DOC'}, {'operator': 'SH_NORM', 'tokens': [u'napisać']}, {'operator': 'AND_DOC'}, {'tokens': ['zapytanie']}, {'operator': 'AND_DOC'}, {'tokens': [u'całkiem', 'fajne']}, {'operator': 'OR_DOC'}, {'tokens': [{'info': ['STOP_WORD'], 'token': 'i'}]}, {'operator': 'AND_DOC'}, {'operator': 'OR_SENT', 'tokens': [u'ładne', 'brzydkie']}, {'operator': 'AND_DOC'}, {'tokens': [{"token": '|', "info" : ["SPECIFIC"]}]}]

4.2.4.15Metoda correctMetoda correct służy do korygowania błędów w zapytaniu użytkownika. W wyniku działania zwraca poprawioną frazę, o którą mogło chodzić użytkownikowi. Typowym zastosowaniem tej metody jest funkcja „Czy chodziło Ci o?”.

Argumenty:{ "query" => "zapytanie_do_korekty","index" => "nazwa_indeksu" }

Pole query zawiera frazę, która ma zostać skorygowana, natomiast pole index określa zasób tematyczny na podstawie którego dokonywana będzie korekta zapytania.

Zwracana wartość:{ "status" => "OK","correct" => "skorygowane_zapytanie","details" => ["informacja1", "informacja2", ...],"time" => czas_wykonania_w_ms }lub informacja o błędzie.

W polu correct metoda zwraca skorygowane zapytanie, w polu details dodatkowe informacje na temat wykonanej korekty, a w polu time czas wykonania korekty w milisekundach.Wartością pola details jest lista stringów. W tej chwili może ona zwierać następujące wartości:

literał Znaczenie

diacritic korekta dotyczyła tylko i wyłącznie znaków diakrytycznych

punctuation korekta dotyczyła tylko i wyłącznie znaków interpunkcyjnych

4.2.4.16Metoda suggestMetoda suggest generuje listę podpowiedzi, czyli fraz podobnych do zadanej frazy lub jej fragmentu. Lista ta jest uporządkowana według subiektywnej miary jakości podpowiedzi. Na jej początku znajdują się frazy, które funkcja uznała za najbardziej trafne.

86

Page 87: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Argumenty:{ "query" => "zapytanie_lub_jego_część","index" => "nazwa_indeksu","trait" => "nazwa_cechy" }Pole query zawiera zapytanie lub jego fragment, dla którego mają zostać znalezione podpowiedzi. Pola index i trait to odpowiednio nazwy indeksu i cechy, której wartości stanowią podstawę do wyszukania podpowiedzi.Argument trait, jeśli nie jest określony, przyjmuje wartość domyślną any oznaczającą, że podpowiedzi wybierane będą ze zbioru ogólnego. Inne wartości argumentu trait, zależą od struktury danego indeksu.

Zwracana wartość:{"suggest" => [ "res1", "res2", …, "res10" ],"status" => "OK""time" => czas_wykonania_w_ms }

Pole suggest zawiera tablicę 10 stringów, będących podpowiedzią dla zapytania query, w przypadku braku podpowiedzi dla danego indeksu, zwracana jest pusta lista. Metoda ta może również zwrócić informację o błędzie (np. jeśli podano błędne parametry wywołania).

4.2.4.17Metoda systemInfoMetoda systemInfo pozwala uzyskać informacje dotyczące systemu wyszukiwarki, takie jak np. wersja silnika wyszukiwawczego czy lista dostępnych indeksów.

Argumenty:brakZwracana wartość:

{"engine_version" => "id_wersji_silnika_wyszukiwawczego","indices" => [ {"name" => "nazwa_indeksu_1",

"active" => True/False (wartość boolean) },{"name" => "nazwa_indeksu_2", …} ]

}lub informacja o błędzie.

4.2.4.18 Metoda indexInfoMetoda indexInfo pozwala uzyskać różne informacje dotyczące indeksu o zadanej nazwie, takie jak np. informacje statystyczne o liczbie zaindeksowanych dokumentów.

Argumenty:{ "index" => "nazwa_indeksu" }Zwracana wartość:

{ "status" => "ok", "documents" => "liczba_dokumentów_w_indeksie", "sentences" => "liczba_zdan_w_indeksie" }lub informacja o błędzie.

87

Page 88: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

4.2.5 Skróty i stopwordsPodczas tworzenia indeksu metodą createIndex możemy użyć opcjonalnych parametrów abbreviations i stopwords. Pierwszy z nich służy do określenia ścieżki do pliku ze skrótami, których chcemy wyszukiwać w naszym indeksie. Dzięki temu będziemy mogli wyszukać dokumenty zawierające interesujące nas frazy wysyłając zapytania o związane z nimi skróty. Jeśli np. zdefiniujemy ZP jako skrót dla Zakład Produkcyjny, to w odpowiedzi wyszukiwarki na zapytanie o wartość „ZP” znajdą się wszystkie dokumenty zawierające frazę Zakład Produkcyjny. Każda linia pliku definiującego skróty dla danego indeksu ma następujący format:fraza --> skrót albofraza ==> skrótW pierwszym przypadku skrót jest zdefiniowany dokładnie dla podanej frazy, w drugim dodana jest normalizacja. Zatem definicja:

Bank Kredytowy --> BK spowoduje, że w odpowiedzi na zapytanie o „BK” znajdą się tylko te dokumenty, które zawierają tą frazę w takiej właśnie postaci.

Definicja:Bank Kredytowy ==> BK spowoduje, że w odpowiedzi na zapytanie o „BK” znajdą się wszystkie dokumenty zawierające frazę Bank Kredytowy w dowolnej formie gramatycznej, a więc np. Banku Kredytowego, Banki Kredytowe, itp.

Parametr stopwords służy do określenia ścieżki do pliku ze słowami, które uważamy za nieistotne podczas wyszukiwania. Słowa te nie będą brane pod uwagę przez wyszukiwarkę przy znajdywaniu odpowiedzi na pytanie. Przykładowo dla zapytania: duży biały kotnormalnie wyszukiwane będą wszystkie dokumenty, które w zadanej cesze, mają zdanie zawierające jednocześnie słowa duży, biały i kot (w dowolnej formie, o ile nie wyłączymy normalizacji)Jeśli jednak słowo duży znajdzie się na liście stopwords, wyszukiwane będą wszystkie dokumenty, które w zadanej cesze, mają zdanie zawierające jednocześnie tylko słowa biały i kot.Plik definiujący stopwords ma format:stopword1stopword2stopword3...

4.3Moduł podświetlający frazy w tekściePojedyncze orzeczenie może składać się z kilku, bądź nawet kilkunastu stron. Portal Orzeczeń ułatwia wyszukiwanie w treści konkretnego orzeczenia podświetlając w nim każde wystąpienie podanej przez użytkownika frazy.Moduł podświetlający frazy musi wyszukiwać fraz niezależnie od fleksji. Każde znalezienie frazy musi być zaopatrzone dodatkową informacją o poziomie dopasowania tzn. czy wszystkie słowa z wyszukiwanej frazy zostały znalezione.

88

Page 89: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

Moduł będzie operować na tekście w formacie HTML. Znalezione wystąpienia fraz nie mogą być zależne od formatowania tekstu (tagów html). Musi być możliwe podświetlenie fraz bez modyfikacji struktury dokumentu.

4.3.1 API4.3.1.1 Protokół komunikacyjnyModuł podświetlający wybrane frazy w treści orzeczeń musi działać na zasadzie serwera HTTP, który udostępnia swoje zasoby zgodnie z konwencją REST, a komunikaty przesyłane pomiędzy klientem a serwerem powinny być serializowane do formatu JSON lub XML. Przykłady komunikatów w poniższym opisie prezentowane są przy pomocy formatu JSON.

4.3.1.2 Typy danychMatchTypeTyp MatchType reprezentuje sposób dopasowania zadanego zapytania do znalezionej przez funkcję matchQuery podfrazy. Przyjmuje wartości:

● Phrase - dopasowanie mocne. Zaznaczane jest, gdy w tekście wystąpi cała podana przez użytkownika fraza.

● Word - dopasowanie słabe. Zaznaczane jest, jeśli jakieś słowo należało do podanego zapytania.

MatchTypeAnnotationAdnotacja o dopasowaniu do zadanego zapytania:{ "@type" : "matchTypeAnnotation", "matchType" : MatchType}

RichTextTyp RichText reprezentuje tekst podzielony na paragrafy. Program traktuje takie paragrafy rozłącznie tzn. zdanie bądź fraza nie może występować na przecięciu dwóch paragrafów.

{ "paragraphs": [ "paragraf_1", "paragraf_2", "paragraf_3", ... ] }

AtomAtom reprezentuje pojedynczy, niepodzielny token, czyli najmniejszą rozważaną przez silnik część tekstu.{ "leftWhite" : "true" | "false", "rightWhite" : "true" | "false","text" m: "tekst" }

AnnotatedTextTyp AnnotatedText służy do reprezentacji tekstu, w którym niektóre kawałki zostały zaznaczone i nazwane. Obiekt AnnotatedText odpowiada bezpośrednio tekstowi, który był argumentem funkcji tzn. pominięcie wszystkich adnotacji i sklejenie ze sobą atomów i białych znaków spowoduje stworzenie dokładnie tego samego tekstu, dla którego został stworzony.

89

Page 90: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

{ "phrases" : [ AtomPhrase|WhitePhrase|AnnotatedPhrase, AtomPhrase|WhitePhrase|AnnotatedPhrase, ... ] }

Obiekt AnnotatedText ma postać drzewa. Liśćmi w drzewie mogą być obiekty typu:● AtomPhrase - pojedynczy atom,

{ "@type" : "atomPhrase", "atom" : Atom}

● WhitePhrase - zbitka białych znaków występujących pomiędzy atomami.{ "@type" : "whitePhrase", "whites": "tekst"}

PhrasedTextTyp PhrasedText zwracany jest przez funkcje operujące na całym tekście i jest kolekcją obiektów AnnotatedText.

{ "paragraphs": [ AnnotatedText, AnnotatedText, ... ] }

4.3.1.3 API podświetlaniaFunkcjonalność podświetlania trafień w tekście realizowana jest przy pomocy funkcji metchQuery udostępnianej przez serwer podświetlający. W ogólności funkcja matchQuery służy do znajdowania i zaznaczania w tekście podanego zapytania. Istnieją dwa rodzaje dopasowań opisane typem MatchType (Phrase, Word).Moduł podświetlający zaznacza zapytania niezależnie od fleksji. Nie bierze też pod uwagę białych znaków i znaków interpunkcyjnych. Wynik działania funkcji matchQuery dla przykładowego tekstu:

Tekst: Jan Kowalski nigdy nie był na wakacjach. Kowalski jest domatorem, z Janem lepiej nie rozmawiać o urlopie.

Zapytanie:Jan Kowalski

Wynik:<Phrase>Jan Kowalski</Phrase> nigdy nie był na wakacjach. <Word>Kowalski</Word> jest domatorem, z <Word>Janem</Word> lepiej nie rozmawiać o urlopie.

Funkcja matchQuery jako argument przyjmuje obiekt RichText oraz zapytanie, które ma zostać znalezione i zaznaczone w tekście. W wyniku zwraca obiekt typu PhrasedText, w którym znalezione dopasowania zaznaczone są adnotacjami MatchTypeAnnotation.

90

Page 91: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

5. Instalacja i konfiguracja

1. Wykonawca zainstaluje i skonfiguruje dostarczone Oprogramowanie Dedykowane oraz zmodyfikowane Oprogramowanie Centralne na środowisku (opisanym przez Zamawiającego w rozdziale II pkt. 4)wskazanym przez Zamawiającego.

2. Oprogramowanie importujące pliki oraz metadane z systemu repertoryjno-biurowego (import-manager) zostanie zainstalowane we wszystkich sądach objętych wdrożeniem. Instalacja może być wykonana zdalnie lub za pośrednictwem pracownika - informatyka (administratora systemu) sądu, po uprzednim przesłaniu plików instalacyjnych wraz z kompletną instrukcją instalacji i konfiguracji programu. Wykonawca będzie świadczył wsparcie w zakresie instalacji i konfiguracji programu importującego.

6.Szczegółowe zasady realizacji usługi gwarancyjnej

1. Usługa gwarancyjna obejmuje wszystkie wykryte podczas eksploatacji Systemu wady tj. uszkodzenia, błędy i nieprawidłowości w funkcjonowaniu Systemu powstałe w czasie poprawnego, zgodnego z instrukcją użytkowania. Klasyfikacja wad Systemu określona została w Załączniku nr 7 do Umowy.

2. Wszelkie modyfikacje oprogramowania wynikające z realizacji usługi gwarancyjnej przez Wykonawcę są realizowane wyłącznie na zlecenie Zamawiającego. Wykonawca winien uzyskać zgodę Zamawiającego na wprowadzenie modyfikacji lub poprawek, których wykonanie uważa za konieczne.

3. Postulaty modyfikacji oprogramowania Systemu zgłaszane przez Użytkowników Końcowych Systemu Wykonawca jest zobowiązany niezwłocznie, nie później niż w terminie 3 dni roboczych, przekazać w postaci elektronicznej Zamawiającemu.

4. Przed przystąpieniem do wykonania modyfikacji Systemu (zgłoszenie typu nadzór autorski w rozumieniu Załącznika nr 7 do Umowy), Wykonawca przedstawi w postaci elektronicznej Zamawiającemu do akceptacji projekt zmian.

5. Wykonawca przystępuje do wykonania modyfikacji po akceptacji projektu zmian przez Zamawiającego niezwłocznie, nie później niż w terminie 3 dni roboczych.

6. Po wykonaniu modyfikacji Wykonawca przedstawi Zamawiającemu nową wersję aplikacji Systemu.

7. Zamawiający weryfikuje przekazaną wersję sprawdzając, czy w zmodyfikowanej nowej wersji aplikacji Systemu zostały uwzględnione wymagania modyfikacji zaakceptowanym przez Zamawiającego projekcie zmian, a także czy przekazana wersja nie zawiera wad.

8. Wyniki weryfikacji Zamawiający przekazuje drogą elektroniczną Wykonawcy w postaci raportu z testowania wersji, zgodnie ze wzorem uzgodnionym przez Strony.

9. W przypadku braku wad uniemożliwiających poprawną eksploatację zmodyfikowanej aplikacji Zamawiający dokonuje instalacji nowej wersji oprogramowania.

91

Page 92: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

7. Zasady realizacji usługi nadzoru autorskiego, wsparcia technicznego i serwisu

1. Wykonawca świadczy usługę nadzoru autorskiego, wsparcie techniczne i serwis Oprogramowania Dedykowanego dla Zamawiającego oraz Użytkowników Końcowych wymienionych w Załączniku nr 6 do wzoru Umowy.

2. W lokalizacjach ujętych w Załączniku nr 6 do wzoru Umowy, a nie objętych wdrożeniem zgodnie z Listą dystrybucyjną (Załącznik nr 2 do wzoru Umowy), sądy samodzielnie zakupiły licencje na następujące komponenty serwera/silnika wyszukiwania pełnotekstowego, dodatki rozszerzających wyszukiwarkę o korektor zapytań (correct), generator natychmiastowych podpowiedzi oraz serwer/silnik analizy językowej, plugins rozszerzeń modułu analizy językowej o dodatek do podświetlania wybranych haseł w tekstach, dodatek do anonimizacji tekstów, dodatek do wykrywania imion i nazwisk (wraz z podręczną bazą imion i nazwisk) oraz o dodatek do wykrywania nazw geograficznych (wraz z podręczną bazą nazw) o parametrach tożsamych z niniejszą specyfikacją. Dostawcą oprogramowania jest firma Neurosoft Sp. z o.o. z siedzibą we Wrocławiu. W sytuacji, gdy Wykonawca nie jest w stanie świadczyć usługi wsparcia technicznego i serwisu dla wszystkich lokalizacji wskazanych w Załączniku nr 6 do wzoru Umowy, obowiązany jest do zastąpienia Oprogramowania Dedykowanego tak, aby mógł wywiązać się z powyższego zobowiązania.

3. Wykonawca gwarantuje Zamawiającemu oraz Użytkownikom Końcowym możliwość zgłaszania błędów przez internetowy system ewidencji zgłoszeń w trybie 24/7/365.

4. Wykonawca zapewni stały kontakt w celu udzielenia nieodpłatnych konsultacji i pomocy technicznej dotyczącej funkcjonowania Oprogramowania Dedykowanego w dni robocze (od poniedziałku do piątku) w godz. 8:00 – 16:00 ze wskazaniem numerów telefonicznych, faksu, adresów poczty elektronicznej.

5. Szczegółowe zasady realizacji usługi wsparcia technicznego i serwisu zawarte są w Załączniku nr 7 do wzoru Umowy.

8. Instalacja nowej wersji Systemu na skutek usunięcia błędów lub wykonania modyfikacji Systemu.

1. Dystrybucja nowych wersji Oprogramowania Centralnego następuje według następującej procedury:

a. Wykonawca przekazuje Zamawiającemu nową wersję Systemu na nośniku (CD, DVD) oraz za pomocą środków komunikacji elektronicznej zawierającą w szczególności;

i. numer wersji,

ii. wykaz zmian w stosunku do poprzedniej wersji;

iii. instrukcję użytkownika ze szczególnym uwzględnieniem sposobu postępowania w związku z wprowadzonymi zmianami a także skutki zmian wersji oprogramowania od strony użytkowej;

iv. pakiet obejmujący kody źródłowe programu oraz instrukcję kompilacji i konsolidacji poszczególnych elementów oprogramowania, a także wszystkie

92

Page 93: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

elementy dodatkowe służące kompilacji i konsolidacji, z uwzględnieniem wszystkich etapów tworzenia oprogramowania na założonej linii technologicznej.

b. Zamawiający dokonuje odbioru wersji (Załącznik nr 8 do Umowy).

c. Wykonawca instaluje nową wersję na infrastrukturze produkcyjnej.

d. W szczególnych przypadkach, gdy konieczne jest pilne wykonanie niewielkiej zmiany w oprogramowaniu, dopuszcza się instalację aktualizacji bez dostarczania kompletnej nowej wersji, punkty a i b stosuje się odpowiednio.

e. Wraz z nową wersją Wykonawca zobowiązany jest dostarczyć dokumentację techniczną oraz użytkową programu obejmującą wykonane zmiany w Systemie. W przypadku, gdy zmiany nie nastąpiły, nowa wersja dokumentacji nie musi być dostarczana.

f. Wykonawca, przez czas trwania Umowy, będzie prowadził ewidencję dostarczanych wersji Systemu, zawierającą:

i. numer kolejny,ii. numer wersji,iii. datę zatwierdzenia wersji przez Zamawiającego / polecenie dystrybucji wersji,iv. datę instalacji wersji,v. skrótowy opis zmian, w tym wyliczenie formularzy reklamacji lub zlecenia

modyfikacji, które wersja uwzględnia,vi. ewentualne uwagi.

g. Wykonawca przedstawia ewidencję, o której mowa w ust. 3 w cyklu kwartalnym lub na żądanie Zamawiającego, w ciągu siedmiu dni roboczych po zakończeniu kwartału z pominięciem dni ustawowo wolnych od pracy, z zaznaczeniem wersji dystrybuowanych w danym kwartale, w postaci elektronicznej i papierowej.

h. Wykonawca zapewni i przeprowadzi aktualizację kodów źródłowych oprogramowania i ich wersjonowania co najmniej raz na kwartał. Aktualizacja musi zapewnić zgodność wersji oprogramowania zainstalowanego w infrastrukturze centralnej oraz u Użytkownika Końcowego z aktualną wersją kodu źródłowego.

2. Opisane zasady dystrybucji nowych wersji Oprogramowania Centralnego stosuje się odpowiednio do dystrybucji nowych wersji Oprogramowania Dedykowanego instalowanych na skutek usunięcia błędu lub wykonania modyfikacji.

9. Szkolenia

1. Wykonawca przeszkoli Użytkowników Końcowych systemu w liczbie co najmniej 2 pracowników każdego wydziału merytorycznego objętego wdrożeniem, zgodnie z listą wydziałów ujętą w Liście Dystrybucyjnej (Załącznik nr 2 do wzoru Umowy).

2. Szkolenia dla sądów okręgowych odbędą się w siedzibie danego sądu. Szkolenia pracowników sądów rejonowych zostaną przeprowadzone w siedzibie nadrzędnego sądu okręgowego lub w siedzibie sądu rejonowego za uprzednią zgodą Zamawiającego.

93

Page 94: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

3. Wykonawca samodzielnie ustala termin i miejsce szkolenia, a także listę osób objętych szkoleniem.

4. Wszystkie szkolenia przeprowadzi w języku polskim, zapewniając na swój koszt materiały szkoleniowe dla uczestników szkoleń.

5. Wykonawca zapewni prowadzenie szkoleń przez wykwalifikowaną kadrę.

6. Wykonawca przedstawia Zamawiającemu harmonogram oraz listę obocneści każdorazowo po wykonaniu szkolenia.

7. Przeprowadzenie szkolenia jest elementem koniecznym do podpisania Protokołu odbioru częściowego (Załącznik nr 4 wzoru Umowy).

10. Dokumentacja

1. Wykonawca zaktualizuje dokumentację zgodnie z zaakceptowanymi przez Zamawiającego standardami w dziedzinie dokumentowania.

2. Wykonawca zobowiązuje się do opracowania dokumentacji w języku polskim w jednym wydrukowanym egzemplarzu oraz w wersji elektronicznej w formacie DOC i formacie PDF na nośniku (CD/DVD).

3. Wszystkie dokumenty tworzone w ramach realizacji przedsięwzięcia charakteryzowały się będą wysoką jakością, na którą będą miały wpływ, takie czynniki jak:

a. czytelna i zrozumiała struktura zarówno poszczególnych dokumentów jak i całej dokumentacji z podziałem na rozdziały, podrozdziały i sekcje

b. zachowanie standardów, a także sposób pisania, rozumianych jako zachowanie jednolitej i spójnej struktury, formy i sposobu prezentacji treści poszczególnych dokumentów oraz fragmentów tego samego dokumentu jak również całej dokumentacji

c. kompletność dokumentu, rozumiana jako pełne, bez wyraźnych, ewidentnych braków przedstawienie omawianego problemu obejmujące całość z danego zakresu rozpatrywanego zagadnienia. Oznacza to w szczególności jednoznaczne i wyczerpujące przedstawienie wszystkich zagadnień w odniesieniu do systemu.

d. spójność i niesprzeczność dokumentu, rozumianych jako zapewnienie wzajemnej zgodności pomiędzy wszystkimi rodzajami informacji umieszczonymi w dokumencie, jak i brak logicznych sprzeczności pomiędzy informacjami zawartymi we wszystkich przekazanych dokumentach oraz we fragmentach tego samego dokumentu.

e. W części dokumentacji dotyczącej specyfikacji wymagań dla każdego wymagania nadanie etykiety. Kolejno, aby w pozostałej części dokumentacji jednoznacznie wskazywać sposób realizacji określonych wymagań.

4. W dokumentacji w części obejmującej specyfikację wymagań dla każdego z nich zostanie nadana przez Zamawiającego niepowtarzalna etykieta w celu jednoznacznego wskazywania w pozostałej części dokumentacji sposobu realizacji określonych wymagań.

5. Cała dokumentacja, o której mowa powyżej, podlegała będzie akceptacji Zamawiającego.

94

Page 95: Web viewZałącznik nr 1 do umowy. I. Wstęp. W 2012 r. Ministerstwo Sprawiedliwości rozpoczęło realizację projektu mającego na celu wdrożenie systemu publikacji

6. Wykonawca Systemu, w okresie jego gwarancji, będzie nanosił do dokumentacji wszelkie zmiany dokonane w systemie i w terminie do 30 dni od wprowadzenia zmiany do systemu przekazywał uzupełnioną dokumentację Zamawiającemu.

7. Wykonawca przeniesie na Zamawiającego całość majątkowych praw autorskich do stworzonej dokumentacji wraz z prawem do dalszego przenoszenia tych praw na inne osoby, na wszystkich poniższych polach eksploatacji, w tym w szczególności wymienionych odpowiednio w artykule 50 i artykule 74 ust. 4 ustawy o prawie autorskim i prawach pokrewnych.

95