Portale

W ramach pracy dla firmy NutriCon miałem okazję współtworzyć projekt portalu Ciążowy.pl, przeznaczonego dla osób starających się o dziecko, kobiet w ciąży, rodziców małych dzieci.

Ciążowy.pl - strona główna

Projekt był opóźniony o 2 lata w roku 2008 w chwili, gdy rozpocząłem nad nim pracę. Celem zespołu było zbudowanie portalu od podstaw: zarówno pod kątem technologicznym jak i merytorycznym.

Po wielu miesiącach ciężkiej pracy udało nam się debiutować na Dzień Matki w roku 2009. Projekt trwał około półtora roku z wielu względów, zwłaszcza z powodu niedużych nakładów programistycznych poświęconych pracy przy portalu.

Jedną z bardziej innowacyjnych części było stworzenie kalkulatora koloru oczu. Należało zaprogramować model genetyczny koloru oczu i krzyżowanie opisujących go genów. Umożliwiło to próbę określenia koloru dziecka na podstawie koloru oczu rodziców i dziadków.

Ciążowy.pl - kalkulator koloru oczu

Do moich zadań należało:

  • przygotowanie panelu administracyjnego,
  • zbieranie wymagań,
  • współtworzenie projektu graficznego - np. ramki w artykułach znane z czasopism,
  • stworzenie modelu genetycznego do kalkulatora koloru oczu,
  • opracowanie założeń dla sekcji "moje dzieci",
  • implementacja ogłoszeń,
  • optymalizacja portalu pod kątem SEO,
  • prace nad optymalizacją czasu ładowania witryny,
  • wsparcie projektu od strony technicznej,
  • zarządzanie repozytorim Subversion,
  • zarządzanie zespołem programistów.

Ciążowy.pl - przykładowy artykuł

Wykorzystane technologie:

Poniżej chciałbym przedstawić kilka informacji na temat panelu administracyjnego, którego jestem autorem.

Zrzut ekranu z CMSa portalu Ciążowy.pl - lista artykułów
Zrzut ekranu z CMSa portalu Ciążowy.pl - lista artykułów

Część zarządzająca portalem została wykonana - jak wcześniej wspomniano w technologii ExtJS. Stworzono całą listę klas w języku JavaScript, rozszerzając działanie samych widżetów ExtJS o nowe funkcjonalności.
Zaimplementowano prosty w obsłudze system wersjonowania artykułów. Umożliwiało to wielokrotną pracę nad pojedyńczym artykułem z zachowaniem historii zmian.

Zrzut ekranu z CMSa portalu Ciążowy.pl - lista wersji artykułu
Zrzut ekranu z CMSa portalu Ciążowy.pl - lista wersji artykułu

Jako że jest to portal - kluczową rolę odgrywa treść, czyli w tym przypadku artykuły. Posiadają one szereg parametrów, w tym tytuł, tzw. tekst wprowadzający (ang. lead), zdjęcie, tagi, autora, powiązane artykuły, kategorię i inne. W każdym momencie można też prześledzić zmiany w artykule - kto i kiedy go edytował i publikował.

Można też tworzyć wielostronnicowe artykuły jeśli zachodzi taka potrzeba. A ponieważ artykuł składa się z paragrafów - w prosty sposób można przesuwać je do kolejnej lub poprzedniej strony. Dzięki temu można dostosować ilość tekstu na każdej podstronie.

Zrzut ekranu z CMSa portalu Ciążowy.pl - ustawienia artykułu
Zrzut ekranu z CMSa portalu Ciążowy.pl - ustawienia artykułu

Powyżej wspomniano, iż każdy artykuł zbudowany jest z listy paragrafów. Można im przypisać dodatkowe właściwości. Na przykłąd wspomniane powyżej ramki z fragmentem tekstu, np. słowo przewodnie tekstu.

Zrzut ekranu z CMSa portalu Ciążowy.pl - lista paragrafów artykułu
Zrzut ekranu z CMSa portalu Ciążowy.pl - lista paragrafów artykułu

Edytor może też w każdej chwili zobaczyć jak artykuł będzie wyglądał w portalu. Ułatwia to znacznie pracę nad tekstem.

Zrzut ekranu z CMSa portalu Ciążowy.pl - podgląd artykułu
Zrzut ekranu z CMSa portalu Ciążowy.pl - podgląd artykułu

Panel administracyjny bardzo mocno wykorzystuje technologię Ajax. Wymiana danych z serwerem możliwa jest poprzez specjalnie opracowany dokument XML.
Warto również podkreślić, że przy edycji artykułu przesyłane są wyłacznie zmiany w tekście, a nie cały artykuł - jak to zwykle ma miejsce.

Z powodu istnienia ponad 30 klas ExtJS, napisanych w języku JavaScript stworzono narzędzie przebudowujące pojedyńczy, skompresowany (ang. minified) plik JavaScript. Narzędzie to napisano w Bash-u, zaś samo "kompresowanie JavaScript" zapewniał program yuicompressor. Obecnie dostępne jest narzędzie napisane przez programistów firmy Sencha, dostępne pod adresem http://www.sencha.com/products/jsbuilder.

Free Web Hosting