Edytor procesów graficznych definiuje procesy interaktywne, stosowane na portalu. Edytor ten jest komponentem flash, który może tworzyć strony zawierające teksty, obrazy i elementy animowane w celu wyświetlenia procesów biznesowych użytkownika w sposób graficzny.

Graficzne komponenty tego rodzaju mogą zawierać powiązania z funkcjami pakietu oprogramowania, innymi procesami lub stronami pomocy. Mogą one także wywoływać procesy animacji (np. wyświetlanie lub znikanie części procesów).

Edytor może być także stosowany do wyboru zakresu obrazów w domyślnej bibliotece. Biblioteka ta nosi nazwę 'Standard Sage'. Jest to pierwsza pozycja w rozwijanej liście, które znajduje się w oknie wyboru komponentów graficznych:

./GES_APR_libraries.jpg

Na zrzucie ekranu przedstawiono sposób organizacji dostępnych obrazów:

  • biblioteki (w tym wypadku standard Sage oraz Custom vol 1)
  • biblioteki te obejmują grupy (np. kształty Vector, Logo, Tematy, Przyciski, ... )
  • grupy te obejmują tematy (Podstawowe kształty, Gwiazdy), np. zbiory obrazów wyświetlone w przeszukiwarce miniatur grafik.

Istnieje możliwość dodania innych bibliotek, grup i tematów. Zostaną one wyświetlone w przedstawionym powyżej oknie bibliotek.

Wymaga to ręcznego wykonania określonych operacji na serwerze aplikacji:

  • utwórz katalogi i podkatalogi dla bibliotek, grup i tematów.
  • załaduj obrazy w katalogach tematycznych.
  • utwórz pliki konfiguracji (napisane w JSON); pliki te opisują strukturę drzewiastą bibliotek (_param.txt), grupy (sgx_libsinfo.txt), i tematy (list.txt).

Celem tej dokumentacji jest opis dalszego sposobu działania.

Uwaga:

  • Należy zwrócić uwagę na fakt, że faza ręcznej konfiguracji wymaga pisania kodem JSON i z tej przyczyny zaleca się powierzenie tego zadania osobie znającej JSON lub JAVASCRIPT. W przeciwnym wypadku zaleca się użycie edytora posiadającego zdolność posłużenia się kodem JSON w celu ukazania bardziej przejrzystej struktury.
  • Istotne znaczenie ma dokładne przestrzeganie wielkości czcionki (duże/małe litery) w zdefiniowanych powyżej nazwach plików.

Dodanie bibliotek graficznych do generatora procesów

Proces, Grafika, Aneks, Technika

Notacja JSON

Notacja JSON, tzn. notacja stosowana do definiowania struktur w Javascript korzysta z następujących składni:

  • struktura składająca się z własności i ich wartości, pomiędzy dużymi nawiasami, wygląda następująco:

{ 'prop1' : 'wartość 1' , 'prop2' : 'value2', 'prop3' : 25 }

W tym wypadku struktura posiada 3 własności o nazwach odpowiednio prop1, prop2 oraz prop3, wartości alfanumeryczne o nazwach value1 oraz wartość2 oraz wartość numeryczną (25).

  • pomiędzy nawiasami kwadratowymi wpisana zostaje tabela:

[ 'indice_0', 'indice_1', 'indice_2, 'indice_3' ] będący tabelą, składającą się z 4 elementów.

  • Obie notacje można w zasadzie połączyć w następujący sposób:

{ [ { 'wiek': 25, 'imię' : 'Martin' }, { 'wiek': 67, 'imię' : 'Emile' } ], 'numer' : 2 }

tworząc strukturę składającą się z tabeli o 2 strukturach i innej wartości ('numer'). W tym wypadku podstruktura posiada dwa pola: 'wiek' i 'imię'.

Należy zwrócić uwagę na fakt, że w JSON ciąg nie może zostać rozdzielony podziałem wiersza (znak akapitu).

W konsekwencji następująca składnia:

{'nazwa':
'Martin' }

jest prawidłowa. Natomiast następujące wyrażenie

{'nazwa': 'Mar
tin' }

nie jest prawidłowe.

Ponadto istotne znaczenie ma przestrzeganie wielkości czcionki (duże/małe litery) w nazwach własności, ponieważ mają one ogromne znaczenie (własności 'Nazwa' oraz 'nazwa' nie mają tego samego znaczenia).

Katalog bazowy

Katalog bazowy jest podkatalogiem katalogu X3_PUB. Zawiera konkretne biblioteki i pliki konfiguracji. Katalog X3_PUB można zlokalizować przy użyciu kalkulatora poprzez następujące wyrażenie:

filpath('','','','X3_PUB')

Stąd można znaleźć podkatalog:

X3_ROOT\X3CLI\XBLOCK\ (w Windows)

X3_ROOT/X3CLI/XBLOCK/ (w Unix lub Linux)

Katalog ten posiada podkatalog FLASH, który zawiera standardowe komponenty graficzne. Tego rodzaju specjalne komponenty będą tworzone w katalogu o nazwie FLASH_CUSTOM, zlokalizowanym na tym samym poziomie (w katalogu XBLOCK). Jeżeli katalog ten jeszcze nie istnieje, to należy go utworzyć.

Uwaga: w podkatalogu FLASH istnieje katalog FLASH_CUSTOMREF. Jeżeli FLASH_CUSTOM nie istnieje, to zaleca się skopiowanie FLASH_CUSTOMREF w katalogu XBLOCK oraz nadanie mu innej nazwy. W ten sposób użytkownik będzie posiadać przykłady plików konfiguracji, zgodnie z opisem w dalszym tekście.

W tym wypadku FLASH_CUSTOM zostaje uznany za bazowy katalog komponentów, którego zawartość należy opisać.

Podkatalogi i ich zawartość

FLASH_CUSTOM posiada następujące podkatalogi:

  • katalog o nazwie _params posiada plik konfiguracji _param_main.txt który należy pozostawić bez zmian.
  • inny katalog o nazwie FlowCharting z trzema podkatalogami:
    • podkatalogi PadDev oraz PadPlayer. Każdy z tych dwóch katalogów posiada plik konfiguracyjny o nazwie _params.txt. Nawet jeżeli te dwa pliki mogą się technicznie różnić, zaleca się konfigurowanie ich w ten sam sposób. Zawartość tych plików, napisana w JSON, podaje nazwę i lokalizację bibliotek użytkownika (Uwaga: każda biblioteka jest folderem zlokalizowanym w folderze biblioteki_niestandardowe ).
    • podkatalog biblioteki_niestandardowe zawiera biblioteki graficzne.

Katalog biblioteki_niestandardowe zawiera po podkatalogu dla każdej biblioteki graficznej. Podkatalog ten zawiera podkatalog dla każdej grupy (grupą jest lista tematów) oraz podkatalog według tematów (temat jest zbiorem obrazów). Obrazy znajdują się w tym ostatnim katalogu. Pliki te mogą posiadać następujące rozszerzenia: .jpg, .gif, .png. Katalog zawiera także plik konfiguracji o nazwie list.txt w którym podano listę plików obrazów w katalogu.

Następująca prezentacja stanowi przykład użycia tego oprogramowania dla grupy spółek. Są to:

  • biblioteka na każdą spółkę: MYCORP, MASOC...MEINGMBH
  • lista grup w każdej bibliotece: obrazki, obrazy, tła, loguna przykład
  • oraz tematy w każdej grupie. Dla grupy obrazki może istnieć temat Lokalizacje z obrazkami z różnych lokalizacji danej spółki, temat Ludzie z obrazkami przedstawiającymi różne osoby z danej spółki, temat Artykuły z obrazkami przedstawiającymi różne artykuły itp.

Struktura drzewiasta powinna wyglądać następująco:

MYCORP

obrazki

Ludzie

list.txt

MARTIN.jpg

HENRY.png

DAVID.gif

Lokalizacje

list.txt

PARIS.gif

LONDON.jpg

...

obrazy

schematy

list.txt

MAP.png

...

MASOC

...

Fichier _params.txt

Plik ten znajduje się w dwóch katalogach: PadDev oraz PadPlayer. Zawiera on nazwy i lokalizacje bibliotek użytkownika, jak w następującym przykładzie:

{

'bibOriginsInfo' :

[ {'etykiety' :

[

{'jęz' : 'ENG' , 'etykieta' : Firma MYCORP'},

{'jęz' : 'FRA' , 'etykieta' : 'Société MYCORP'},

....

{'jęz' : 'GER' , 'etykieta' : 'MYCORP Gesellschaft' }

],

'originSubpath' : '../FLASH_CUSTOM/FlowCharting/libraries_custom/MYCORP',

'id' : 'identificateur_1'

},

{'etykiety' :

{'jęz' : 'ENG' , 'etykieta' : 'Firma MASOC'},

....

{'jęz' : 'GER' , 'etykieta' : 'MASOC Gesellschaft' }

],

'originSubpath' : '../FLASH_CUSTOM/FlowCharting/libraries_custom/MASOC',

'id' : 'identificateur_2'

},

...

{'etykiety' :

[ {'jęz' : 'ENG' , 'etykieta' : 'Firma MEINGMBH'},

....

{'jęz' : 'GER' , 'etykieta' : 'MEINGMBH Gesellschaft' }

],

'originSubpath' : '../FLASH_CUSTOM/FlowCharting/libraries_custom/MEINGMBH',

'id' : 'identificateur_M'

}

],

'r' : 0,

'v' : 1

}

W poprzednim pliku:

  • 'bibOriginsInfo' jest tabelą referencyjną, której elementy (w dużych nawiasach) zawierają charakterystykę biblioteki. Dla każdego elementu tabeli, wpisanego do JSON, są one rozdzielone przecinkami (Uwaga: za ostatnim elementem nie ma przecinka).
  • bibliotekę można scharakteryzować przy użyciu następujących informacji:
    • 'etykiety' - tytuły, które zostaną ukazane w edytorze procesów: sam edytor stanowi tabelę struktur (jeden element na kod języka połączenia, po kodzie języka następuje element bez tytułu)
    • 'originSubpath' - ścieżka podkatalogu, w którym przechowywana jest biblioteka
    • 'identyfikator' - wolna ale unikatowa nazwa użytkownika
    • 'r' oraz 'v' - dwa parametry, które nie powinny być modyfikowane

W ten sposób w poprzednim pliku katalogi bazowe bibliotek to MYCORP, MASOC, MEINGMBH.

Fichier sgx_libsinfo.txt

Plik ten znajduje się w katalogu bazowym biblioteki (MYCORP w poprzednim przykładzie) i zawiera opis - wpisany do JSON- struktury biblioteki. Postępując dalej w tym samym przykładzie, zawartość będzie następująca:

{ 'libsinfo' :
[
{ 'biblist' :
[
{'bibid' : 'mycorp_1',
'catsubpath' : 'ludzie',
'h':70,
'w':70,
'typ':'plik',
'etykiety' :
[
{'jęz' : 'ENG', 'Etykieta' : 'Ludzie' },
{'jęz' : 'FRA', 'etykieta' : 'Osoby' },
....
{'jęz' : 'GER' , 'etykieta' : 'Leute'}
]
},
....
{ 'bibid' : 'mycorp_N',
'catsubpath' : 'lokalizacje',
'h':30,
'w':40,
'typ':'plik',
'etykiety' :
[
{'jęz' : 'ENG', 'Etykieta' : 'Lokalizacje' },
...
{'jęz' : 'GER' , 'etykieta' : 'Standorte'}
]
}
],
'etykiety' :
[
{'jęz' : 'ENG', 'Etykieta' : 'Obrazki' },
{'jęz' : 'FRA', 'etykieta' : 'Zdjęcia' },
....
{'jęz' : 'GER' , 'etykieta' : 'Zdjęcia' }
],
«familysubpath»:'obrazki',
'familyid':'pic_mycorp'
},
{ 'biblist' :
[
{ 'bibid' : 'mycorp_2',
'catsubpath' : 'schematy',
'h':70,
'w':70,
'typ':'plik',
'etykiety' :
[
{'jęz' : 'ENG', 'Etykieta' : 'Schematy' },
....
{'jęz' : 'FRA', 'etykieta' : 'Schematy' }
]
},
....
}
],
'etykiety' :
[
{'jęz' : 'ENG', 'Etykieta' : 'Obrazy' },
{'jęz' : 'FRA', 'etykieta' : 'Obrazy' },
....
{'jęz' : 'GER' , 'etykieta' : 'Bilder' }
],
'familysubpath':'images',
'familyid':'img_mycorp'
}
],
'oid' : 'mycorp',
'r' : 0,
'v' : 1
}

W poprzednim pliku:

  • 'libsinfo' jest odniesieniem do tabeli, której każdy element zawiera charakterystykę grupy. Dla każdego elementu tabeli, wpisanego do JSON, są one rozdzielone przecinkami (Uwaga: za ostatnim elementem nie ma przecinka).
  • grupę można scharakteryzować przy użyciu następujących informacji:
    • lista tematów, która może być zidentyfikowana przez 'bibid' (podkatalog tematu przechowywany w 'catsubpath'), charakterystyka 'h' oraz 'w' odnośnie do wielkości miniatur grafik, biblioteka o nazwie 'typ' zawierająca 'plik' jeżeli lista plików graficznych została opisana w katalogu tematów (Uwaga: inna wartość 'swf' to istnieje możliwość, że lista plików swf została opisana), podobnie jak tabela etykiet dla każdego języka w celu nadania nazwy tematu.
    • tabela opisów dla każdego języka w celu nadania nazwy grupie.
    • ścieżka dla grupy ('familysubpath' - odpowiada ścieżce podkatalogu, w którym przechowywana jest grupa).
    • 'familyid' - wolna ale unikatowa nazwa użytkownika

Na koniec ostatnie parametry pliku

  • 'r' oraz 'v' - dwa parametry, które nie powinny być modyfikowane
  • 'oidunikatowe odniesienie do biblioteki.

W ten sposób np. istnieje grupa obrazki (z tematami osoby oraz lokalizacje) oraz obrazy (z tematami schematami).

Parametry 'h' oraz 'v' definiują rozmiar miniatur grafik w pikselach, które mogą zostać wyświetlone w przeglądarce obrazów dla danego tematu. Uwaga: ich wartość domyślna wynosi 40.

Przykładowa lista miniatur grafik:

  • rozmiar 40×40:

./GES_APR_img4040.jpg

  • rozmiar 180×60:

./GES_APR_img18060.jpg

Fichier list.txt

Plik ten znajduje się w katalogu bazowym tematu. Zawiera konkretne listę obrazów. Posiada całkiem prostą strukturę:

{ 'pliki' :
[
{'nazwa': 'MARTIN.jpg' }
{'nazwa': 'HENRY.png' }
{'nazwa': 'DAVID.gif' }
]
}

Utworzenie poziomów uzupełniających w hierarchii

Istnieje możliwość dodania dalszych poziomów w strukturze hierarchicznej biblioteki, grupy lub tematu w celu uzyskania struktury składającej się z więcej niż dwóch poziomów.

Na przykład na podstawie poprzedniej hierarchii można dodać katalog Map. Sam katalog może zawierać w każdym folderze podkatalogi dla państw, regionów lub stanów, departamentów/województw lub powiatów, miast oraz różne mapy tego samego miasta. Foldery mogą być zorganizowane w następujący sposób:

MYCORP/images/map/USA/tenessee/hamilton/chattanooga (z różnymi mapami tego samego miasta)

W tym celu użytkownik musi:

  • utworzyć odpowiednie struktury hierarchii foldera
  • zmodyfikować dwa pliki sgx_libinfo.txt w celu modyfikacji definicji podfolderów oraz odpowiednio ich tytułów:
    • 'catsubpath':'images/map/USA/tenessee/hamilton/chattanooga'
    • 'etykieta':'images;map;USA;tennessee;hamilton;chattanooga'
    • 'etykieta':'Images;Maps;US Country;Tennesse State;Hamilton County;City of Chattanooga'

Należy tutaj zwrócić uwagę, że nawet jeżeli użytkownik zamierza w ten sposób mnożyć liczbę sub-folderów, to muszą one zostać opisane bez skrótów na liście, która powinna być bardzo szczegółowa. Ponadto jedynie ostatni poziom listy może zawierać pliki (oraz odpowiednie pliki list.txt plik).

Niezależnie od powyższego, istnieje możliwość posiadania różnych poziomów struktury hierarchicznej według oddziałów. W ten sposób np. można posiadać następującą strukturę hierarchiczną:

MYCORP/pictures/animals/mammals/cows (folder zawiera obrazki przedstawiające krowy)

Generowanie archiwizacji

Po zrealizowaniu poprzednich modyfikacji pojawia się możliwość wykorzystania bibliotek, które zostały utworzone bezpośrednio na strukturze drzewiastej serwera bez jakichkolwiek ograniczeń dla trybu internetowego.

Niezależnie od powyższego, w celu wykorzystania ich w trybie klient-serwer konieczne jest utworzenie pliku archiwizacyjnego (o nazwie XCLI.tar), zawierającego wszystkie pliki, zlokalizowane w katalogu FLASH_CUSTOM.

Działania takie prowadzi się dla dedykowanego programu użytkowego.