Puste procesowe
Transkrypt
Puste procesowe
Ekspertyza wykonana przez Karola Bregułę, w związku z zamówieniem „Przygotowanie pisemnego opracowania założeń do zmiany CMSa strony watchdog.org.pl” (UD33/2013) 1. Istotne wymagania techniczne 1. Aplikacja winna być możliwa do uruchomienia na serwerze wspierającym technologie języka PHP lub Python i relacyjną bazę danych MySQL. Przykładowymi serwerami wspierającymi takie oprogramowanie są obecne użytkowane serwery: 1. "kaszub" (np. http://korkowe.samiswoje.pl), 2. u partnera SO-WP - Linuxpl.com (np. http://bip.siecobywatelska.pl). 2. Strona winna spełniać minimalne wymagania dla systemów teleinformatycznych rozporządzeniu Rady Ministrów z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności, minimalnych wymagań dla rejestrów publicznych i wymiany informacji w postaci elektronicznej oraz minimalnych wymagań dla systemów teleinformatycznych (Dz.U. 2012 nr 0 poz. 526) oraz zostać zaprojektowana w sposób umożliwiający ich modyfikacje, uwzględniających technologiczny rozwój systemu teleinformatycznego. 2. Istotne wymagania funkcjonalne 1. Strona winna zawierać w szczególności, ale nie wyłącznie: ◦ moduł administracyjny - element oprogramowania umożliwiający modyfikacje strony w szczególności w zakresie redakcje treści strony (publikacji artykułów, galerii, danych adresowych itp.; dalej: treści redakcyjne) osobie zidentyfikowanej, autoryzowanej, uprawnionej, ◦ moduł wyszukujący - element oprogramowania umożliwiający przeszukiwanie treści opublikowanych osobie nieautoryzowanej, ◦ moduł galerii - element oprogramowania umożliwiający publikację zgrupowanych obrazów, ◦ moduł komentarzy - element oprogramowania umożliwiający komentowanie wybranych treści redakcyjnej oraz skuteczną moderacje w ramach panelu administracyjnego umożliwiającą w szczególności, ale nie wyłącznie blokować zautomatyzowane komunikaty reklamowe oraz reagować na zgłoszenia naruszeń prawa w sposób prawem przewidziany, ◦ moduł umożliwiający tworzenie blogów dla osób podejmujących działania zgodne z założeniami programu, ◦ moduł kalendarza, ◦ moduł aktualności opatrzonych grafiką i "miniaturą wpisu", ◦ moduł artykułów statycznych lub publikacji wielorozdziałowych, ◦ możliwość wysyłki newslettera. 1/4 3. Analiza dostępnych rozwiązań a. Drupal 1. Wymaga wiele większych nakładów związanych z konfiguracją początkową: ◦ utworzenie struktury dokumentów, ◦ zaprojektowanie przepływu dokumentów, ◦ uporządkowanie wszelkich bloków nawigacyjnych, ◦ przygotowanie do komunikacji z innymi systemami teleinformatycznymi w zakresie prostej publikacji tekstów na innych stronach. 2. Nie posiada wbudowanych lub prostych dodatkowych mechanizmów umożliwiających publikacje wybranych treści na kompatybilnych systemach teleinformatycznych, 3. Kompatybilny z wszystkimi wykorzystywanymi przez Stowarzyszenie serwerami 4. Posiada szerokie wsparcie społeczności 5. W zakresie bezpieczeństwa należy wyróżnić: ◦ moduł automatycznej aktualizacji silnika oraz modułów dodatkowych, ◦ przechowywanie haseł w formie bezpiecznej uniemożliwiającej ponowne ich wykorzystanie w innym miejscu, ◦ szerokie przebadanie w zakresie bezpieczeństwa przez wielu światowej sławy ekspertów. ◦ wsparcie i kompatybilność przez okres ok.2-3 roku w obrębie wersji niekompatybilnych wersji głownych , 6. Trudniejsza obsługa oraz istotne błędy w usability1, 7. Posiada budowę modularną, 8. Istotnie większa złożoność przystosowania skórki, szczególnie istotne przy ograniczonych zasobach osobowych. b. Wordpress 1. Utworzenie struktury dokumentów jest fakultatywne. 2. Oprogramowanie jest nowoczesne, zgodne z powszechnymi zasadami projektowania aplikacji, stale rozwijane i aktualizowane, 3. Istnieją ogólnodostępne, bezpłatne mechanizmy umożliwiające w prosty sposób publikacje wybranych treści na prekonfigurowanych stronach internetowych (np. z watchdog.org.pl na siecobywatelska.pl, jeżeli siecobywatelska.pl również zostanie zmigrowana na Wordpress) 4. Wymaga PHP>=5.2.4 i MySQL>=5, co oznacza kompatybilność ze wszystkimi obecnie wykorzystywanymi przez Stowarzyszenie serwerami, 5. Posiada szerokie wsparcie społeczności, wiele bezpłatnych modułów rozszerzających funkcjonalność (tu: pluginy/wtyczki) 6. Posiada architekturę modularną. Należy zauważyć, że dzięki temu możliwe jest ponowne wy1 http://drupal.org/usability-test-university-baltimore-community-solutions/ 2/4 korzystanie publicznie dostępnych modułów, 7. Lepsze dopasowanie UX, szczególnie istotne przy świadczeniu usług dla zewnętrznych strażników / strażniczek, 8. W zakresie bezpieczeństwa należy wyróżnić: ◦ moduł automatycznej aktualizacji silnika oraz modułów, który zapewnia niezwłoczne wprowadzanie poprawek bezpieczeństwa bez aktywności obsługi, a pozostałe aktualizacje są projektowane z myślą o jak najmniejszych trudnościach (backward compatibility), ◦ przechowywanie haseł w formie bezpiecznej uniemożliwiającej ponowne ich wykorzystanie w przypadku przełamania zabezpieczeń, ◦ szerokie przebadanie w zakresie bezpieczeństwa przez wielu światowej sławy ekspertów. c. Rekomendacje Mając na względzie powyższe, a także zasoby osobowe Stowarzyszenia Sieć Obywatelska Watchdog Polska rekomenduje wykorzystywanie oprogramowania Wordpress w procesie modernizacji stron Stowarzyszenia. 4. Wydajność ładowania stron Jest to bardzo szeroki problem o którym wiele książek napisano. Należy wskazać następujące główne czynniki wpływające na wydajność strony: • wydajność serwera i łącza - wydajność transmisji serwer<->użytkownik, • wydajność bazy danych - dotychczasowa przyczyna problemu w watchdog.org.pl - zapytanie do bazy danych to w istocie poszukiwanie 1 elementu lub kilku spełniających kryteria nieprawidłowo zbudowany opis poszukiwań tego elementu, który pomija np. istniejące indeksy elementów prowadzi do spowolnienia strony, która oczekuje na odpowiedź bazy danych, • wydajność kodu aplikacji ze względu na wykonywanie złożonych obliczeń (np. niespotykane w życiu Stowarzyszenia - zmniejszanie rozmiaru obrazów za każdym ich żądaniem), W zakresie architektury strony WWW za właściwe wydaje mi się przytoczenie sposobu komunikacji wszystkich wymienionych przedstawionego przez mnie w formie prezentacji: http://prezi.com/yqnon3vr4hb7/serwer-www/ Wordpress jest zdecydowanie lżejszy. 5. Internacjonalizacja (i18n) W podanym zakresie pozwolę sobie przytoczyć definicję tytułowego pojęcia z Wikipedii "Internacjonalizacja – umiędzynaradawianie oprogramowania, czyli wprowadzenie do programu możliwości obsługi wyświetlania komunikatów i dokumentacji w wielu różnych językach. Blisko spokrewnione z pojęciem lokalizacji (l10n). Pojęcie jest często skracane do i18n, pochodzącego od ang. internationalization (i + 18 liter pośrodku + n)." Oba silniki są przystosowane do l10n i i18n. Uważam, że lepiej wykonać osobne strony, gdyż pozwoli wzmocnić sprofilowanie przekazów - do odbiorców krajowych lub do odbiorców międzynarodowych, a nie sprawia to większych trudności. 3/4 6. Bezpieczeństwo 1. Należy podjąć następujące kroki w zakresie bezpieczeństwa: • Wdrożyć zasadę zasada minimalnego uprzywilejowania (Każdy element systemu informatycznego, w tym użytkownik winien mieć dostęp tylko do tych informacji i zasobów, które są niezbędne do spełnienia wyznaczonego mu celu lub zadania) w tym odizolować systemy danych wrażliwych od systemów danych publicznych, • Wprowadzić wymóg wprowadzania zmian przez centralne repozytorium systemu kontroluiwersji kodu w celu: • wzajemnego przeglądu i korekty kodu w szczególności, ale nie wyłącznie bezpieczeństwa, • ustalenia osób odpowiedzialnych za dany fragment kodu z względu na autorstwo. 7. Centralny System Logowania (CAS) W zakresie centralnego systemu logowania należy uznać powstawanie go za nieuzasadnionego. Nie jest to też uzasadnione koniecznością zwiększenia skuteczności zarządzania użytkownikami (odejścia, przyjścia, włamania), a skala ewentualnego wdrożenia byłaby nieznaczna. System ds. centralnego logowania wywołuje konieczność zarządzania nim, aktualizacje, konserwacyjne prace administracyjne, co w świetle przedstawionych wyżej argumentów, niepotrzebnie będzie angażować nasze skąpe zasoby administratorów. 8. System Q&A Serwis typu Q&A (np.http://stackoverflow.com/) jest pewnego rodzaju forum internetowym, gdzie użytkownicy zadają pytania, dostają odpowiedzi, a najlepsza odpowiedź jest wyróżniana. Tworzone jest archiwum. Nie uważam za celową integracje w obrębie watchdog.org.pl modułów świadczących Q&A, ponieważ tekst opublikowany zawiera całą literaturę przedmiotu. 9. Patrz także • http://mikeschinkel.com/blog/17-reasons-wordpress-is-a-better-cms-than-drupal/ 4/4