wtorek, 7 lipca 2015

ELOG - elektroniczny logbook i wiele więcej

Od pewnego czasu poszukiwałem narzędzia, które posłużyłoby mi jako elektroniczny dziennik zdarzeń (logbook) z dostępem przez www. Miało być ono proste - coś jak tabela bazy danych z możliwością wypełniania rekordów.

Długo szukałem w necie, ale nic nie przyciągało mojej uwagi. W akcie rozpaczy byłem gotowy sam napisać sobie odpowiednią apkę. Nie jestem ekspertem od webdeveloperki, ale HTMLa, CSSa, troszkę PHP i SQL potrafię sklecić.

Wszystko wskazywało na to, że właśnie tego typu rozwiązanie przyjdzie mi zastosować.
Na szczęście moje wrodzone lenistwo broniło się przed dodatkową robotą, więc postanowiłem zagadnąć wujka Google'a ostatni raz, aby wskazał mi coś ciekawego. Wujek wyrzucił mi coś co nosiło nazwę ELOG, a było skrótem od Electronic Logbook.

Wszedłem na stronkę projektu i "paczę", a tu staro.... Data ostatniej modyfikacji strony - "16.02.2002". No ładnie. Projekt pewnie już dawno umarł. Zaglądnąłem jednak na forum, a tam oznaki życia. Praktycznie codziennie są wpisy. A więc jednak! It's Alive!
Co więcej, okazało się, że jest to projekt wykorzystywany w Instytucie Paula Scherrera, który zajmuje się m.in. fizyką cząstek i mionami....  - hmmmm.....

Brzmiało to bardzo naukowo, więc postanowiłem spróbować. Ściągnąłem, zainstalowałem i .... WOW - tego mi było trzeba :)

Po zainstalowaniu (dostępne są wersje na Windowsa, Linuxa oraz kody źródłowe) otrzymujemy bardzo konfigurowalnego webloga. Jego funkcjonalność można też sprawdzić na stronie DEMO. Ma wbudowany własny serwer www, zaś składnicą danych jest folder instalacyjny. Tworzone są tam podfoldery i pliki z odpowiednimi notatkami. Nie ma żadnego serwera SQL. To mi się akurat średnio spodobało, bo wolałbym mieć dane w bazie danych, chociażby ze względu na możliwość użycia języka SQL do wyciągnięcia informacji.
Twórcy - a właściwie twórca Stefan Ritt - uzasadnia taki stan rzeczy tym, że chce aby apka była jak najprostsza w instalacji i użyciu, tak, aby nawet ludzie, którzy nie wiedzą czym jest SQL mogli z niej korzystać oraz aby była niezależna od zewnętrznych projektów. Trzeba przyznać, że ma to sens, więc nie będę tego dezawuował.

Cóż "to coś" zatem potrafi? Jak wspomniałem wcześniej jest to narzędzie bardzo konfigurowalne, a więc możemy dzięki niemu zrobić np.:
  • listę zadań (tzw. todo list),
  • forum, 
  • dziennik zdarzeń (tzw. logbook - główne zastosowanie). Może on być prywatny lub współdzielony, z możliwością blokady usuwania wpisów lub ich edycji. Tego szukałem i w tej roli sprawdza się idealnie,
  • prostą bazę danych z możliwością wyszukiwania,
  • repozytorium plików,
  • ewidencja sprzętu i oprogramowania,
  • pewnie wiele innych rzeczy ;)

Dostęp do ELOGa może być otwarty lub zabezpieczony hasłem. O wpisach możemy być powiadamiani emailem, a nawet można ustawić dowolne kryterium po spełnieniu którego, emaila z informacją otrzymają też inne osoby. Można to wykorzystać do powiadamiania kierownictwa o wpisach oznaczonych np. kategorią incydent.

Omówienie Eloga na przykładzie Listy Zadań

Lista zadań została oparta o plik konfiguracyjny udostępniony tutaj. Dopasowałem go do własnych potrzeb. Czy lepiej, czy gorzej ... nie wiem. Zrobiłem to na potrzeby tego posta, więc być może taki konfig nie sprawdziłby się w życiu codziennym. Na szczęście można go dość swobodnie zmieniać.
Po zainstalowaniu ELOGa i wpisaniu w przeglądarkę http://localhost:8080 otwiera się nam wersja gdzie są 3 logbooki i aby się dostać do dwóch z nich należy się zalogować (po czystej instalacji jest tylko logbook demo).
Wyjaśnię tylko, że na poniższym screenie widać domyślny temat graficzny ELOGa przypominający (przynajmniej dla mnie) tabelki Excelowskie z lat 90-tych. Dalsze screeny to już przerobiony przeze mnie CSS. Lepszy czy gorszy, oceńcie sami. W każdym razie będziecie mogli łatwo go zmienić poprzez zmienną theme w pliku konfiguracyjnym na dowolny inny. Jeżeli będzie zainteresowanie moim stylem, to chętnie go udostępnię. 

Menu wyboru logbooków
Menu wyboru logbooków
Na poniższym screenie widać logbooka po zalogowaniu. Na jego górze (numer 1) dostępne są zakładki umożliwiające przełączanie się pomiędzy logbookami. Niżej znajduje się menu zarządzania, które również można konfigurować. W tym przypadku jest tutaj dość dużo komend, ale nic nie stoi na przeszkodzie, aby znalazły się tam tylko niektóre z nich.  
Poniżej (numer 2) jest menu przełączania widoków logbooka. W tym momencie wybrany jest tryb Wszystko, który - jak sama nazwa mówi - pokazuje wszystko.

Przykładowa lista to do z widokiem Wszystko
Przykładowa lista to do z widokiem Wszystko
Widok Podsumowania wyświetla te same dane w formie tabelarycznej.
Widok Podsumowanie
Widok Podsumowanie
Natomiast widok wątków pozwala na uzyskanie zwięzłego przeglądu tematów z zaznaczeniem odpowiedzi do tematu. Na powyższych screenach widać, że kolumna Status przyjmuje różne kolory, w zależności od tego jaki został wybrany status zadania. Kolory mogą być dowolne, jak również sytuacje w których się one pojawiają. Istnieje też możliwość ustawienia wyróżnienia całego wiersza zamiast pojedynczej komórki. Można też zauważyć coś czego nie udało mi się do tej pory rozwiązać, mianowicie brak polskich literek w nazwach dni. Format wyświetlania daty można zmieniać, więc jeżeli krzaczki komuś przeszkadzają to ELOG nie musi wyświetlać nazw dni, albo może robić to skrótowo np. pn., wt., itd.
Widok Według wątków z utworzoną odpowiedzią do pierwszego wpisu
Widok Według wątków z utworzoną odpowiedzią do pierwszego wpisu
Po prawej stronie menu wyboru wyświetlania można utworzyć filtr na jedną lub kilka kategorii. Tworzenie filtra jest opcjonalne i tylko od nas zależy czy go utworzymy. Poza filtrem kategorii istnieje również wyszukiwarka "pełną gębą". Oczywiście pola, które są w niej widoczne zależne są od tego jakie atrybuty będzie posiadał nasz logbook. Atrybuty (max. 100) definiuje się dla każdego logbooka osobno wg tego czego potrzebujemy. Tutaj atrybutami są Miejsce, Status, Data wpisu, Data zamknięcia, Opis zadania, Autor. Atrybuty mogą przyjmować dowolną wartość lub można ją zdefiniować aby przyjmowała konkretne dane, np: liczby, daty, czas, listę użytkowników, lista emaili użytkowników. Atrybuty mogą mieć także swoje opcje, tworząc w ten sposób listy rozwijalne.

Wyszukiwarka dostępna poprzez menu Szukaj
Wyszukiwarka dostępna poprzez menu Szukaj

Atrybuty można także zablokować do edycji przez użytkowników. Takim atrybutem może być np. Autor (zaznaczony czerwoną obwódką na poniższym screenie)
Dodawanie nowego wpisu. Na czerwono zaznaczony jest atrybut Author, którego użytkownik nie może zmieniać
Dodawanie nowego wpisu. Na czerwono zaznaczony jest atrybut Author, którego użytkownik nie może zmieniać

Po wejściu w menu Konfiguracja wyświetlany jest panel w którym można m.in. zarządzać użytkownikami, subskrybować logbooki (powiadamianie na e-mail o wpisach), oraz edytować plik konfiguracyjny.

Menu Konfiguracja
Konfiguracja pliku konfiguracyjnego to temat na osobny post, aczkolwiek zaznaczam, że jest to naprawdę prosta rzecz i warto w tym celu wyjść od domyślnej instalacji i dopasowywać ją do własnych potrzeb. Zorientujecie się wtedy co się z czym je.


Powyższy tekst to jedynie ogólne zaprezentowanie aplikacji. Mam nadzieję, że przynajmniej troszkę wyklarowałem do czego ona służy i jak potężnym narzędziem może być. Pewnie są lepsze i superpłatne apki z wykresami, SQL-em itd, ale ja się po prostu w ELOGu zakochałem (nooo.... może to zbyt duże słowo ;).
Ustawiłem go pod swoje potrzeby i po prostu się nim cieszę. Działa tak jak tego oczekiwałem.


Polskie tłumaczenie (przygotowane przeze mnie, więc jeżeli znajdziecie błędy to piszcie), prezentacje pptx dotyczące ELOGa (przedstawiające znacznie więcej niż powyższy tekst) oraz link do wszystkich opcji pliku konfiguracyjnego znajdziecie na końcu tego wpisu.

Poniżej zamieszczam konfiguracje prezentowanego wyżej logbooka pełniącego rolę listy do zrobienia.
Na jego wstępie wybierany jest temat CSS przeze mnie przygotowany, więc ten wpis można spokojnie usunąć, lub napisać do mnie o jego podesłanie. Na razie  nie wrzucam go na stronkę, bo jeszcze nie jest skończony.

theme=dansaj
Password file = passwordfile
Display mode = threaded
Suppress default = 3
Admin user = dansaj
Self register = 2
Entries per page = 100
Filtered browsing = 0
Entries per page = 8
Reverse sort = 1
Restrict edit = 1
Summary lines = 1
Display Email recipients = 0
Comment = Daniela lista "to do"
Date Format = %A, %d %B %Y
Time Format = %A, %d %B %Y, %H:%M
Message Height = 6
Attributes = Miejsce, Status, Data wpisu, Data zamkniecia, Opis zadania, Author
Type Status = Time
Type Data wpisu = time
Type Data zamkniecia = time
Options Status = 1-Do zrobienia{1}, 2-Otwarte{2}, 3-Zamknięte{3}, 4-Zawieszone{4}
{1} Preset Data wpisu = $Date
{2} Preset Data wpisu = $Date
{3} Preset Data zamkniecia = $Date
{4} Preset Data zamkniecia = $Date
Options Miejsce = Warszawa, Londyn, Moskwa, Paryż
Extendable options = Miejsce,
Page Title = Roger's Worklist - $subject
Option Author = Filled In Automatically
Subst Author = $long_name
Menu Commands = Back, New, Edit, Delete, Reply, Find, Select, Copy to, Move to,
Reverse sort = 1
Quick Filter = Miejsce, Status
Subst on reply subject = Re: $Opis zadania
Thread display = $Opis zadania, posted by $author on $Entry time
Thread icon = Icon
Remove on reply = Author, Author Email
Date format = %B %d, %Y
Preset Author = $long_name
Preset Author Email = $user_email
Locked Attributes = Author
Quick filter = Date, Category, Status
Cell Style Status 2-Otwarte = background-color:pink
Cell Style Status 1-Do zrobienia = background-color:red
Cell Style Status 4-Zawieszone = background-color:grey




Linki:
Prezentacje pptx przedstawiające możliwości ELOGa:
  • Seminar at KIT, Karlsruhe, Jan. 2015. Introduction talk by Stefan Ritt.
  • Seminar at KIT, Karlsruhe, Jan. 2015. Application of ELOG for accelerator operation at PSI by Andreas Luedeke.
Polskie tłumaczenie ELOGa:
Składnia konfiguracji oraz wyjaśnienie atrybutów itd. 

Brak komentarzy:

Prześlij komentarz

Bardzo proszę o zachowanie netykiety.