Projekty

Aktualizacja PunBB i polskie tłumaczenie

Jakiś czas temu wyszła nowa wersja PunBB oznaczona numerem 1.4.2. Konieczne było zaktualizowanie polskiego pliku językowego. Polski pakiet językowy do forum PunBB 1.4.2

Oprócz tego w dziale download umieściłem najnowsze wersje moich rozszerzeń do PunBB

PunBB AdSense Manager

Rozszerzenie do PunBB, dzięki któremu można zarządzać reklamami na forum. Pozwala na dodanie reklamy w nagłówku oraz reklamy za pierwszym postem.

http://quadric.goblix.pl/download/?did=98

PunBB SEO Optimizer

Rozszerzenie, do PunBB 1.4 które dba o to aby właściwie przekierowywać schematy adresów między sobą na te, które powinny być docelowo. Dodatkowo wprowadza tytuł forum do treści linka tematu, dzięki czemu adres jest bardziej szczegółowy

http://quadric.goblix.pl/download/?did=93

PunBB Google Analytics Integration

Jakoś mnie wzięło ostatnio na robienie rozszerzeń do forum PunBB.

Tym razem: PunBB Google Analytics Integration 1.0.0

Rozszerzenie pasuje do wersji 1.4 forum PunBB

Paczka językowa do PunBB 1.4

Jeśli ktoś interesuje się forum PunBB http://punbb.informer.com/ to przygotowałem właśnie do najnowszej wersji polską paczkę językową.

punbb-1.4.1-lang_pack-pl-1.0.0

Dyskusja i aktualizacje na forum PunBB: http://punbb.informer.com/forums/post/142372

Prime

Tak to jest, że czasem aby pójść dalej trzeba zawrócić i wybrać inną drogę. Tak samo jest z rozwijaniem umiejętności, projektów i celów sobie postawionych. GRAD Framework był rozwijany tylko przeze mnie a inicjatywa postała z chęci lepszego zrozumienia Zend Framework. ZF rozwija się bardzo szybko, rośnie do niebagatelnych rozmiarów i często przy pierwszym “starciu” z nim można się przerazić. GRAD rozwijał się w taki sposób, że “to co jest fajne w zendzie” starałem się zaimplementować do GRADA jednak nie korzystając w ogóle z tego jak kod w Zendzie jest napisany. Myślę, że mogę śmiało stwierdzić, że część rzeczy działa nawet lepiej i na pewno szybciej. GRAD Framework przyjął się bardzo dobrze w kilku środowiskach developerskich (zawodowych i amatorskich). Otwarcie projektu na innych pozwoliło mi na spojrzenie na framework z dystansu, dowiedziałem się wielu rzeczy o usability oraz o rzeczach, które w nim działają słabo lub czego w nim brakuje.

Z kolei z inicjatywy dalszych badań nad frameworkami takimi jak Code Igniter czy później Kohana, oraz badań nad frameworkiem Symfony, zrodziła się idea podobna do “GRAD’owej” a mianowicie Luna Framework. Niestety okazało się przy dalszym badaniu, że idea wykracza poza to do czego ludzie się przyzwyczaili przez co była zbyt “niestandardowa” aby programista chętnie do tego przysiadł i zgłębił jego założenia. Robienie kolejnego framework’a który robi wszystko inaczej wydała się bez sensu dlatego projekt porzuciłem.

Kilka miesięcy potem analizując ponownie GRAD’a, Lunę oraz powstający system CMS (który kiedyś zaprezentuję) oraz analizując kierunki którymi podąża ZF oraz to jak rozwija się PHP stworzyłem ideę zintegrowanego systemu pod nazwą Prime. W tej chwili pracuję nad rozwojem frameworka wykorzystującym komponenty w zwarty sposób. Tzn, idea polega na czymś zupełnie przeciwnym do założeń ZF. Framework stanowi całość – nie ma w nim w zasadzie rzeczy opcjonalnych. Dzięki temu system działa bardzo szybko i zajmuje niewiele pamięci. Ponadto pozwala na dzielenie swoich komponentów między wieloma aplikacjami. Podobnie jak w GRAD system będzie pozwalał na uruchamianie wielu aplikacji na tym samym czasie. Ponadto zintegrowany system będzie szybszy i czytelniejszy. (Zaprezentuję wkrótce porównanie wydajności).

W kolejnej serii artykułów zaprezentuję sposób w jaki zaimplementowane są poszczególne elementy systemu a na końcu dojdziemy do pełnej integracji całego komponentu.

Postaram się zaprezentować w kolejnych odcinkach:

  1. Prezentacja poszczególnych części systemu i wyjaśnienie ich najważniejszych elementów
  2. Tworzenie projektu w NetBeans IDE
  3. Podłączanie do swojego projektu pakiet frameworka Prime
    a) Tworzenie “externala” dla projektów wersjonowanych w SVN
    b) Tworzenie zrzutu (checkout) dla projektów, które nie są wersjonowane
  4. Uruchomienie “Hello world” opartego o framework
  5. Zaawansowane funkcje systemu

Info! Będę używał do prezentacji środowiska NetBeans tylko dlatego, że mi ono odpowiada. Do zrealizowania i zrozumienia tematu możesz używać dowolnego innego środowiska (np Eclipse) czy nawet zwykłego edytora z kolorowaniem składni (np Notepad++). Podobnie z SVN. Możesz użyć samodzielnego klienta (np Tortoise SVN) do ściągania repozytorium. Ja używam NetBeans dlatego, że jest tam “All in One”. Jeżeli, na którymś etapie pojawią się problemy to oczywiście chętnie pomogę.

Zapraszam do artykułów

  1. Request

Nowy projekt – Luna

Luna logoLuna to nazwa mojego nowego projektu. Jest to (podobnie jak GRAD) framework PHP. Luna jest dedykowana do zastosowań bardziej profesjonalnych.

Założenia polegają m.in. na wyciągnięciu wszystkiego co najlepsze z istniejących rozwiązań i wkomponowanie ich w jeden prosty i szybki framework (podobnie jak GRAD tylko, że bardziej pro). Główne założenia:

  • MVC
  • Modele danych
  • Kontrolery i akcje
  • Obsługa błędów i zdarzeń
  • Benchmark
  • Router

To tyle z najważniejszych rzeczy. Luna będzie bardziej rozbudowana co nie znaczy wolniejsza niż GRAD. Najważniejsze z punktu widzenia projektowego będzie stworzenie elastycznego routera i sensownego modelu danych.

Szczegóły i historia opracowania projektu znajduje się w dziale Projekty

Nowy GRAD komponent: Form

Zawziąłem się w sobie i w końcu postanowiłem zrobić porządnie i wygodnie znienawidzonego przeze mnie elementu w programowaniu stron WWW: formularzy.

Poszperałem, poczytałem i mnie więcej doszedłem do ogólnego zarysu i idei. Składnia powinna nieco przypominać tę z framework’a Zend – jednakże mechanizm działania opiera się zupełnie na innej zasadzie.

Założenia są następujące: Ma być szybko, prosto i automatycznie.

Pierwsza wersja ukaże się wraz z wersją 0.4, o której pisałem już jakiś czas temu. Wersja 0.4 obfitować będzie przede wszystkim w:

  1. Optymalizację funkcji i metod zapytań
  2. System sekcji
  3. Komponenty (pierwszy z nich to wspomniany Form)
  4. Optymalizacje i uproszczenia w kodzie

W ogólnej postaci Grad Framework posiada już elementy wersji 0.3 i 0.4. Postaram się dokończyć założenia i w końcu opublikować działający kod – z którego będę zadowolony.

GRAD 0.3 – postępy

Ostatnio sprawy zawodowe przybrały mocno na sile przez co kompletnie nie miałem czasu zająć się stroną i projektami. Udało mi się jednak wdrożyć w framework system obsługi sekcji. Po tą “tajemniczą” nazwą kryje się bardzo prosta rzecz – a mianowicie: dodatkowy poziom drzewa katalogów. Obrazując to prościej:

W tej chwili przykładowy request:

/konto/logowanie

uruchomi kontroller kontoController i funkcję logowanieAction. To czego mi brakowało to pewien dodatkowy abstrakcyjny stopień grupowania funkcjonalności – i tak narodziło się pojęcie sekcja. Przykładowo:

tworzę katalog o nazwie “autor” i wewnątrz niego dopiero tworze kontrollery:

controllers/
—- indexController.php
—- kontoController.php
—- panel/

—- autorController.php
—- ustawieniaController.php

itd. W ten sposób można zgrupować pewne duże fragmenty funkcjonalności nie zabierając miejsca w kontrolerze – który przecież ma odpalać się błyskawicznie – bez przedzierania się przez setki niepotrzebnych kilobajtów. Zatem odpalenie jakiejś funkcji w sekcji mogłoby wyglądać tak:

/panel/autor/aktywacja

i to wszystko. Prosta rzecz a jakże przydatna. System sam znajduje czy dana “sekcja”  istnieje – jeśli tak to korzysta z danego poziomu drzewa.

logo GRAD

grad-logoLogo framework’a GRAD. Zostało już przygotowane o wiele wcześniej ale jakoś nie miałem okazji go wrzucić i pokazać więc czynię to teraz.

Po kliknięciu możecie obejrzeć je w lepszej rozdzielczości.

Go to Top