ďťż
Podstrony
|
telcocafeWprowadziłem obsługę rozszerzeń tak, że można tworzyć nowe komponenty, np. forum, chat... Można rozszerzać także istniejące funkcjonalności, np. profil użytkownika, ale tylko na osobnej podstronie - niezależnej od wbudowanych modułów.Przypuśćmy, że ktoś chce wpłynąć na widok profilu użytkownika, artykułu, nowości, centrum zarządzania treścią... Właściwie na każdy element, który już istnieje. Inny przykład: kalendarz z obsługą zdarzeń. Oczywiście można go umieścić na osobnej podstronie, ale powinien powiadomić użytkownika o ważnym wydarzeniu już na stronie głównej. Pomińmy powiadamianie na e-mail, bo to wymaga CRON. PunBB stosuje hooki. W przypadku, gdy HTML znajduje się w szablonach, sprawdzi się to tylko wtedy, gdy NIE wpływamy na DOWOLNY element, ale np. podpinamy inny szablon tam, gdzie to jest możliwe (akurat skrypt ma obsługę wielu szablonów). Zaś PunBB ma HTML wplątany w PHP. PhpBB modyfikuje oryginalne pliki przy instalacji. Wystarczy potem zaktualizować skrypt do nowszej wersji i wszystko bierze w łeb, chyba że każemy dokonać modyfikacji ponownie. Autorzy rozszerzeń musieliby dostosowywać instalator do zmian. Być może warto wydzielić miejsca, w których rozszerzenia mogłyby podpinać swój kod, np. strona główna, profil użytkownika. Przykład: można podpinać dodatkowe zakładki lub pola do profilu. Czy znacie inne sposoby na implementację rozszerzeń, które mogą więcej? Wordpress ma bardzo rozbudowane API umożliwiające rozszerzanie istniejących elementów. Ogólnie taka funkcjonalność jest dość złożona i nie warto w to się wgłębiać bez zbudowania grupy użytkowników i programistów chcących tego używać (a wtedy powiedzą ci co im najbardziej pasuje). Frameworki Pythonowe mają także middleware (możliwość wpływania na żądania kierowane do widoków i odpowiedzi przez nie zwracane), rozszerzalny system autoryzacji itp. (Django), przez co np. bardzo łatwo podpinać dodatkowe systemy autoryzacji (OpenID, Facebook Connect, Twitter OAuth itd.). Więc najpierw zbierz zainteresowanych, to powiedzą Ci co by chcieli. Można zacząć od http://www.goldenline.pl/grupa/cms i innych serwisów, for. (najlepiej byłoby wystartować z wersją anglojęzyczną i uderzyć na anglojęzycznych serwisach - reddit, cmsmatrix i inne) Użytkownik Riklaunim edytował ten post 17 wrzesień 2009, 23:54 |
|||
Sitedesign by AltusUmbrae. |