Invenzzia »

Invenzzia... po polsku

Wednesday, 20 August 2008

OPT 2.0.0-dev7

Open Power Template Tagged under: development dokumentacja opt2 releases

3 miesiące i 10 dni. Tyle zajęło przepisywanie dotychczasowego kodu OPT do nowej, lepszej wersji. Dziś w końcu uznałem, że dotarł on do punktu, w którym może aspirować do miana "dev7" i odpowiednia paczka znalazła się w działach "Download". Zmian jest sporo, głównie związanych z API biblioteki, którą teraz się nieco inaczej inicjuje. Poprawiłem też nieco kompilator, dodając do szablonów parę nowych możliwości oraz znacząco rozbudowałem dokumentację, która zresztą dołączona jest do wydania.

Czytaj dalej »

Zyx 2008-08-20, 11:31

4 komentarzy

Friday, 25 July 2008

OPT zbiera się do kupy

Open Power Template Tagged under: development OPT2 optymalizacja

Mija trzeci miesiąc, odkąd na tym blogu pojawiły się ostatnie wieści dotyczące Open Power Template'a 2.0.0. Czas ten nie był stracony, gdyż (pomijając sesję na uczelni) upłynął na ostrym przepisywaniu całego projektu. Wieści nie było, gdyż doprowadzenie nowego kodu do stanu uruchamialności nieco trwało, ale w końcu jest. Kompilator na nowo kompiluje szablony, i to już bez użycia rekurencji, zmory poprzednich wydań nawet, jeśli po części spowodowana ona była przez błąd w samym PHP :). Ale do rzeczy...

Czytaj dalej »

Zyx 2008-07-25, 19:13

4 komentarzy

Wednesday, 23 July 2008

TypeFriendly 0.1.0 wydane

TypeFriendly Tagged under: development releases typefriendly

W końcu zakończyliśmy tłumaczenie dokumentacji na język angielski i gotowy od kilkunastu dni kod wreszcie został wydany jako pierwsza wersja systemu generowania dokumentacji TypeFriendly. Można ją pobrać w dziale Pliki na stronie głównej. Dokumentacja dostarczana jest w wersji źródłowej i robi jednocześnie za przykład, dlatego nie obawiajcie się, że czegoś brakuje. Wszystkie informacje potrzebne do zbudowania HTML-owej wersji dokumentacji znajdują się w pliku /info/README.txt - jest to kwestia wklepania jednego polecenia z konsoli. Trwają już prace nad nową stroną Invenzzii i znajdzie się tam miejsce na dokumentację on-line.

Czytaj dalej »

Zyx 2008-07-23, 10:29

1 komentarz

Wednesday, 02 July 2008

TypeFriendly

TypeFriendly Tagged under: development dokumentacja typefriendly

Z eXtremem ciężko pracujemy, by pierwsza wersja ujrzała w końcu światło dzienne i jesteśmy już bardzo blisko. W związku z tym chciałbym bliżej przedstawić ten projekt, który z pewnością powinni docenić inni programiści, autorzy rozmaitych skryptów i poszukujących sensownego narzędzia do generowania dokumentacji. Pomysł na napisanie TypeFriendly zrodził się w mojej głowie po nieudanych zmaganiach z dodaniem paru niezbędnych rzeczy do parsera XSLT dla DocBook. Widać choćby po dokumentacji PHP, co można z tym zrobić (kolorowanie składni, wiele różnych formatów, ogromna ilość pomocnych znaczników), ale nie dajmy się zwariować. To są wręcz tygodnie siedzenia, by osiągnąć podobny efekt. Pomijam już fakt, że byłby on słabo przenośny... wolałem poświęcić te tygodnie na stworzenie czegoś bardziej przydatnego.

Czytaj dalej »

Zyx 2008-07-02, 20:51

0 komentarzy

Monday, 30 June 2008

SVN uruchomiony

Invenzzia Tagged under: development svn

Niestety porządna konfiguracja systemu kontroli wersji na naszym serwerze nie jest tak łatwa i przyjemna, jak na Sourceforge.net, aczkolwiek w końcu znalazłem czas i pomysł, jak to wykonać. Repozytorium działa pod adresem http://svn.invenzzia.org/ z tym, że nie została jeszcze zainstalowana żadna porządna jego przeglądarka. W ciągu dnia wrzucę tam aktualny kod przebudowywanych Open Power Libs oraz bliskie ukończenia pierwszej wersji 0.1.0 TypeFriendly do tworzenia dokumentacji, zaś wszystkie informacje odnośnie połączenia znajdą się na stronie głównej.

Zyx 2008-06-30, 08:08

2 komentarzy

Saturday, 10 May 2008

OPT 2.0.0-dev6

Open Power Template Tagged under: development dokumentacja opt2

Do ściągnięcia dostępna jest wreszcie kolejna wersja rozwojowa OPT. Jej zawartość opisałem w poprzednim wpisie, dlatego tu dodam tylko, że wbrew zapowiedziom, nie ma jeszcze instrukcji opt:grid z powodów, które zaraz wyjaśnię. Ponadto nie da się jeszcze ustawiać statusu escape'owania dla pojedynczego szablonu, ale takowy z globalnej konfiguracji i ustawień wyrażenia w klamerkach już działa ładnie. Za to dodałem implementację instrukcji opt:capture i częściową opt:cycle. Polskich użytkowników z pewnością ucieszy informacja, że podczas długiego weekendu doprowadziłem do względnego porządku nasz nowy system dokumentowania TypeFriendly i OPT 2 ma już nową, ładną dokumentację :)

Czytaj dalej »

Zyx 2008-05-10, 14:15

5 komentarzy

Sunday, 27 April 2008

Co nowego w OPT

Open Power Template Tagged under: development opt2

Minęło już trochę czasu od ostatnich wieści z frontu, dlatego naprawiam zaległości. Za jakiś tydzień pojawi się kolejna wersja developerska. Prace posunęły się jeszcze dalej do przodu. Obejmują one zaimplementowanie kolejnych "brakujących" elementów, a także (co powinno niektórych ucieszyć) - zmniejszanie zużycia zasobów serwera w trakcie kompilacji. Zobaczmy zatem, z czym będziemy mieli do czynienia.

Czytaj dalej »

Zyx 2008-04-27, 13:06

0 komentarzy

Saturday, 05 April 2008

Wymagania OPT

Open Power Template Tagged under: development OPT2 optymalizacja

Na bugtrackerze pojawiło się ostatnio zgłoszenie informujące o błędzie "Nesting level too deep - recursive dependency" przy próbie uruchomienia jednego z przykładów w najnowszej wersji rozwojowej OPTv2. Po dokładniejszych oględzinach wyszło na jaw, że winny jest zbyt wyśrubowany limit ustawiony w konfiguracji PHP przez autora zgłoszenia (ponad czterokrotnie mniejszy, niż wartość domyślna). Jednak przy tej okazji myślę, że warto trochę bardziej przyjrzeć się temu, jakie wymagania postawi nowy OPT interpreterowi i wyjaśnić kilka spraw z tym związanych.

Czytaj dalej »

Zyx 2008-04-05, 09:32

0 komentarzy

Sunday, 30 March 2008

OPT 1.1.4

Open Power Template Tagged under: nowe wersje OPT

Wypuściłem dziś w świat ostatnią stabilną wersję Open Power Template'a z gałęzi 1.x. Powinna ona mieć już wszystko, co potrzebne jest użytkownikom tej wersji. Poprawiłem znalezione błędy oraz dodałem kilka nowych opcji, o które byłem proszony. Gdyby oczywiście wykryty został jakiś krytyczny błąd uniemożliwiający komuś pracę, przygotuję dla niego odpowiednią poprawkę, ale poza tym żadnych działań więcej nie przewiduję w tym zakresie. Wszystko przez to, że przyszłością jest OPT 2.0.0.

Czytaj dalej »

Zyx 2008-03-30, 14:02

11 komentarzy

Thursday, 20 March 2008

OPT 2.0.0-dev5

Open Power Template Tagged under: development komponenty OPT2

Upłynęło trochę więcej czasu, niż planowałem, od ostatniej wersji dev, lecz poniekąd w ramach rekompensaty dodałem do OPT sporą liczbę nowych rzeczy. Rozwiązanie sprawy DTD, prologów XML, obsługi sekcji CDATA i escape'owania kodu, dokończenie parsera wyrażeń czy wreszcie pełna implementacja komponentów są moim zdaniem znaczącym krokiem naprzód. Do końca prac jest już bliżej, niż dalej. Na zakodowanie czeka już tylko kilka instrukcji, prawie wszystkie pozostałe są już ukończone. Kompilator działa bardzo dobrze, na ukończeniu jest cały interfejs programistyczny, przechodząc ostatnie szlify. Niebawem planuję rozpocząć pierwsze testy bojowe na bazie mojej własnej strony domowej, a także rozpocząć tworzenie biblioteki Open Power Forms zgodnej z nową wersją.

Czytaj dalej »

Zyx 2008-03-20, 14:27

0 komentarzy

Saturday, 08 March 2008

Dokumentacje

Tagged under: dokumentacja

Jak dotąd, wszystkie dokumentacje tworzymy w pakiecie bazującym na DocBooku (dodanych kilka drobnych znaczników), z których wersja HTML-owa tworzona jest arkuszami XSLT. Istniejące systemy przetwarzania automatycznie dbają o utworzenie nawigacji między rozdziałami oraz podział tego na pojedyncze pliki, o ile wybraliśmy taki tryb. Niestety, utworzenie kompletnego frameworka dla dokumentacji jest okropnie skomplikowane, co tłumaczy fakt, dlaczego całość zapisana jest póki co w jednym wielkim pliku XML, a przykłady nie mają kolorowania składni. Do tego dochodzi problem z parserami XSLT. Choć w DocBooku piszę od dawna, postanowiłem znaleźć alternatywne rozwiązanie i rozpocząć projekt gotowego do użycia generatora dokumentacji napisanego w PHP i korzystającego z prostszej składni. eXtreme ochrzcił go mianem TypeFriendly.

Czytaj dalej »

Zyx 2008-03-08, 22:29

4 komentarzy

Sunday, 02 March 2008

OPT 2.0.0-dev4

Open Power Template Tagged under: development dziedziczenie OPT2

Do ściągnięcia jest już czwarta wersja developerska Open Power Template'a. Projekt zaczyna nabierać kształtów, jako że na ukończeniu jest już główna klasa parsera. Oprócz wzmiankowanego wcześniej cache'u, zaimplementowałem nowe instrukcje oraz skończyłem prace nad snippetami tak, że w zasadzie już całe dziedziczenie szablonów działa, jak należy. Mam nadzieję, że pod koniec miesiąca biblioteka będzie już w takim stanie, że będzie nadawać się do ostrożnego użycia. Rzeczywiste projekty będą potrzebne, aby wykryć błędy oraz końcowe niedociągnięcia.

Czytaj dalej »

Zyx 2008-03-02, 11:14

2 komentarzy

Tuesday, 26 February 2008

Invenzzia.org... od nowa

Invenzzia Tagged under: invenzzia website

Powoli zaczynamy stawać na nogi. Miesiąc temu czas naglił i Zyx przygotował na szybko stronę naszej grupy oraz zainstalował devbloga. Dzisiaj prezentuję rozwiązanie bardziej rozbudowane. Niech będzie ono takim fundamentem i podstawą, dalszym krokiem w rozwoju naszej grupy. Strona została uzupełniona o teksty i informacje o grupie i choć wiele pracy jeszcze przed nami to z devblogiem sprawa jest już praktycznie zamknięta.

Czytaj dalej »

eXtreme 2008-02-26, 16:05

0 komentarzy

Wednesday, 20 February 2008

Główna klasa OPT na ukończeniu

Open Power Template Tagged under: OPT2

Owocem dzisiejszych zmagań z kodem źródłowym nowego OPT jest ukończenie pliku opt.class.php, w którym (jak niektórym wiadomo) mieści się główna klasa parsera. Przyznam, że paradoksalnie plik ten był bardziej wymagający, niż kompilator. W tym drugim przypadku można sobie pozwolić na bardzo dużo, wystarczy pomysł na algorytm i przewidzenie, jak wpłynie on na resztę układu. Z główną klasą sprawa ma się troszeczkę inaczej. Jest ona dołączana za każdym razem, tak więc musi zawierać wszystko, co jest uruchamiane permanentnie. Musi to robić szybko, sprawnie i być nieduża. A tymczasem wymagania co do funkcjonalności rosną.

Czytaj dalej »

Zyx 2008-02-20, 22:12

0 komentarzy

Friday, 15 February 2008

OPT 2.0.0-dev3

Open Power Template Tagged under: OPT2

Zgodnie z zapowiedzią częstszego publikowania postępów prac, udostępniamy dziś trzecią wersję developerską nowego Open Power Template'a, nad którą pracowałem przez ostatni tydzień. Tym razem poświęciłem sporo uwagi przetwarzaniu atrybutów OPT, które robią różne ciekawe rzeczy ze znacznikami, do których zostały dodane. Wstępna implementacja już była - nawet przykłady dotyczące "opt:section" znajdowały się już w paczce. Jednak aby w pełni spełniała oczekiwania, trzeba było rozbudować cały kod.

Czytaj dalej »

Zyx 2008-02-15, 13:26

0 komentarzy

Saturday, 09 February 2008

Nowy dev

Open Power Template Tagged under: OPT2

Dodałem do strony dział "Download", przy okazji umieszczając w nim nową wersję rozwojową Open Power Template'a. Znalazł się tam również nieduży skrypcik "docgen", którego używamy do uruchamiania automatycznego parsowania dokumentacji w DocBooku. Nowe wersje rozwojowe będą teraz już publikowane znacznie częściej; w okresie dużego nasilenia prac być może nawet co dwa, trzy dni. Powód, dla którego nie były one dotąd tak częste, był brak automatyzacji, a przygotowanie takiej paczki pochłania trochę czasu (dla przykładu, umieszczenie nowej wersji OPT w Internecie zajmuje kilka godzin).

Czytaj dalej »

Zyx 2008-02-09, 10:52

0 komentarzy

Thursday, 07 February 2008

Licencjonowanie

Invenzzia Tagged under: licencjonowanie

Co jakiś czas powraca jak bumerang sprawa licencji, na jakiej biblioteki są publikowane. Nie ulega wątpliwości, że jej dobór ma dość duże znaczenie dla popularyzacji projektu. Liberalne licencje są łatwe do interpretacji przez każdego oraz przez to bardzo łatwe w użyciu, lecz stwarzają prawo do pewnych nadużyć. Z drugiej strony mamy licencję GNU LGPL, na której dotąd był rozpowszechniany OPT. Zapewnia ona należytą ochronę kodowi, ale utrudnia łączenie z zamkniętym oprogramowaniem. A przecież biblioteka napisana w PHP dedykowana jest także twórcom stron WWW na zamówienie czy autorom kompletnych skryptów udostępnianych jako open-source bądź nie.

Czytaj dalej »

Zyx 2008-02-07, 09:29

11 komentarzy

Saturday, 02 February 2008

Dziedziczenie szablonów

Open Power Template Tagged under: OPT2

Przeważnie kod wynikowy strony komponuje się z kilku mniejszych szablonów zawierających fragmenty kodu. Istnieje wiele technik ich łączenia. W parserach dla PHP królują jak dotąd dwa rodzaje: ręczne uruchamianie szablonów we właściwej kolejności z poziomu kodu PHP oraz dyrektywa include. Podobnie było także w poprzedniej wersji OPT, jednak w nowym wydaniu pierwszy ze sposób właściwie idzie do kasacji - o ile nie korzystamy z quirks mode, parser nie dopuści do tego, by wywołać metodę parse() dwukrotnie. Początkowo miałem zamiar zrekompensować to, rozbudowując include o tzw. sekwencje, lecz dnia pewnego na moim blogu Coldpeer zapytał się mnie, czy będzie dziedziczenie szablonów. Poszukałem, popatrzyłem i stwierdziłem, że to może być niezłe. Tak zaczęły się eksperymenty z implementacją.

Czytaj dalej »

Zyx 2008-02-02, 12:14

5 komentarzy

Thursday, 31 January 2008

Głębsze przetwarzanie

Open Power Template Tagged under: Open Power Forms

Ostatni projekt, jaki realizowałem z użyciem Open Power Forms, ukazał kilka słabych punktów aktualnej implementacji. Było tam kilka formularzy umożliwiających masowe dodawanie rekordów jednego typu, tj. była sobie tabelka, w kolumnach pola: Imię, Nazwisko, PESEL, coś tam innego i było tak 30 wierszy. Razem można było za jednym zamachem dodać do 30 rekordów. O ile metodę map() dało się jeszcze dość łatwo zmusić do przetworzenia czegoś takiego bez rozpisywania się, o tyle połączenie z szablonem zaczęło już wtedy szwankować.

Czytaj dalej »

Zyx 2008-01-31, 13:08

2 komentarzy

Wednesday, 30 January 2008

Zaczynamy

Invenzzia Tagged under: invenzzia website

Witam na devblogu nowej grupy programistycznej Invenzzia. Jest kilka powodów, dla których ją powołałem. Pierwszy i najważniejszy to chęć zapewnienia porządnej organizacji i infrastruktury projektom open-source, które już tworzę i które dopiero powstaną. Na początek przetransferowałem na jej poczet istniejący już od trzech lat system szablonów Open Power Template, który tutaj stanie się zalążkiem rodziny bibliotek Open Power Libraries. Aktualnie jesteśmy na początku etapu samoorganizowania się i nasza witryna internetowa będzie uruchamiana po kawałku w miarę jak powstaną kolejne jej elementy. Postaram się, aby nie potrwało to długo.

Czytaj dalej »

Zyx 2008-01-30, 12:29

0 komentarzy