EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów. Zawiera bogaty zestaw funkcjonalności dzięki którym realizowane aplikacje są bezpieczne, stabilne i elastyczne. Główne elementy EXSO-CORE Bezpieczeństwo Zastosowanie technologii webowej pozwala na: pracę zdalną, łatwość łączenia się z serwerem za pomocą przeglądarki oraz bezpieczną transmisję z zastosowaniem protokołu https. Wielowarstwowa architektura systemu zapewnia wysokie bezpieczeństwo, jak również elastyczność w jego rozbudowie. Wykorzystanie technologii Java gwarantuje stabilność i umożliwia uruchamianie aplikacji serwera na różnych systemach operacyjnych. Kontrola sesji Możliwość otwierania wielu sesji programu w osobnych oknach pozwala na swobodę pracy dla użytkownika Przekazywanie klucza do sesji poprzez e-mail pozwala na szybkie wejście do systemu z wiadomości e-mail i przejście bezpośrednio do właściwego okna Możliwość śledzenia i zarządzania sesjami osób zalogowanych Możliwość sprawdzania aktywności (logowań) użytkowników
Zarządzanie użytkownikami Szczegółowy opis osób/użytkowników występujących w systemie Możliwość zdefiniowania dowolnego pola opisującego osobę Możliwość definiowania różnego typu relacji (np. przełożony-podwładny, uczeń-rodzic, lekarz-pacjent) wykorzystywanych w innych miejscach w programie Możliwość określania aktywności konta w konkretnym okresie czasu Uprawnienia do funkcjonalności Wygodne zarządzania uprawnieniami poprzez przypisywanie użytkownikom grup/ról Zaawansowane mechanizmy uprawnień dostępu do okien i funkcjonalności Uprawnienia nadawane lub odbierane na określony czas Kontrola typu: kto posiada określone uprawnienie Uprawnienia do danych (ang. Access Control List - ACL) Możliwość ograniczenia dostępu do poszczególnych rekordów różnego typu danych (np. odczyt kluczowych klientów możliwy dla wybranych osób) Możliwość pracy różnych podmiotów z odseparowanymi danymi w jednym systemie Automatyczne zaznaczanie rekordów wybranych bytów jako posiadających ograniczony dostęp (np. przy tworzeniu zamówienia sprzedażowego ma być ono dostępne tylko dla grupy użytkowników właściwej dla osoby tworzącej)
Wielojęzykowość Możliwość definiowania dowolnej ilości języków aplikacji Łatwość przełączania języka programu Wielojęzykowość pól statycznych programu Wielojęzykowość danych Możliwość stosowania wariantów językowych Wiadomości i komentarze Mechanizmy komunikacji pomiędzy użytkownikami systemu oraz powiadomień o istotnych zdarzeniach Powiadomienia wysyłane do osób, grup lub całych systemów Powiadomienia tworzone ręcznie i automatycznie (przez skrypty) Możliwość wykorzystania wiadomości z kontekstu i w powiązaniu z wybranym dokumentem (np. powiadomienie o nowym zamówieniu) Komentarze do bytów (np. do zamówień) wraz z mechanizmem powiadomień o nowych komentarzach do monitorowanych (subskrybowanych) bytów. Integracja z programem pocztowym Możliwość zdefiniowania parametrów połączenia do serwera pocztowego dla poszczególnych użytkowników Klient pocztowy wbudowany w system - możliwość odbierania i wysyłania e-maili bezpośrednio z systemu Umożliwienie automatyzacji (np. w rejestrowaniu zdarzeń kontaktowych w systemie CRM) dzięki integracji z serwerem pocztowym Rozszerzenia i parametry Możliwość rozszerzenia informacji dla zdefiniowanych bytów o dodatkowe, dowolne pola (np. informacja o kolorze dla indeksu)
Możliwość wyszukiwania po polach rozszerzeń oraz prezentowania ich na listach wyników Dodatkowe parametry opisujące byty Szczególny typ parametrów finansowych umożliwiający opisywanie bytów (np. szczegółowe składniki budżetowe projektu) Możliwość prezentowania różnym osobom różnego typu parametrów w zależności od posiadanych uprawnień, w połączeniu parametrów z funkcjonalnością ACL; Metody rozszerzające Możliwość rozszerzenia logiki systemu w wielu miejscach poprzez wywołanie dedykowanych metod (skryptów) Możliwość elastycznych zmian metod rozszerzających w pracującym systemie Wydruki i raporty Mechanizmy definiowania raportów w oparciu o technologię JasperReports Dedykowane raporty dodawane i zmieniane bez konieczności przebudowy systemu Możliwość podpięcia raportu pod dowolną transakcję (ekran) Raporty z możliwością eksportu do popularnych formatów (PDF, XLS, DOC) Własne zadania (algorytmy) Możliwość wywoływania skryptów przed i po zdarzeniach systemowych (np. zatwierdzenie dokumentu, zmiana wartości w polu parametru) Zadania uruchamiane cyklicznie (np. odczyty/zapisy z/do zewnętrznych systemów, uruchamianie dodatkowych obliczeń) Możliwość elastycznego modelowania zachowań systemu
Zasoby plikowe dostępne w aplikacji Mechanizmy serwera plików wbudowane w system Możliwość definiowania partycji różnego typu (np. baza danych, lokalny system plików serwera, zasoby sieciowe) Załączniki przypinane do różnych bytów (np. kontrahenta, indeksu, zamówienia) Rejestracja informacji o zmianach Informacja o osobie i czasie tworzenia oraz modyfikacji wszystkich rekordów Rejestracja historii zmian dla kluczowych pól, zapamiętująca stan przed i po zmianie Obsługa wyjątków i logi systemowe Rejestrowanie wyjątków w aplikacji z możliwością natychmiastowego powiadomienia administratora Mechanizmy logów systemowych Możliwość śledzenia działań użytkowników
Zmienne globalne i użytkownika Możliwość przechowywania wybranych danych jako zmienne globalne, pozwalające sterować zachowaniem aplikacji Zapamiętywanie indywidualnych dla użytkowników ustawień okien (np. widoczność i szerokość kolumny, stan rozwinięcia sekcji, schemat kolorystyczny). Style Wsparcie dla stosowania stylów interfejsu umożliwiające opracowanie dedykowanego wyglądu aplikacji