49. Sesja kół naukowych AGH – Symbolizacja treści kartograficznych 14-12-2008
Autor: Grzegorz Olejarz. Kategorie: Geomatyka , 0 komentarzyNa 49. Sesji Studenckich Kół Naukowych AGH, która odbyła się 11 grudnia 2008 roku zaprezentowałem referat pt. „Symbolizacja treści kartograficznych w środowisku języków znacznikowych”.
Streszczenie:
Celem niniejszego referatu jest zbadanie możliwości zastosowana standardu Styled Layer Descriptor (SLD) opracowanego przez OGC (Open Geospatial Consortium) do resymboliazacji treści danych kartograficznych zgodnych z polskimi normami. Resymbolizacja SLD jest fragmentem serii norm OGC, które stają się coraz bardziej rozpowszechnionym standardem wykorzystującym język znacznikowy do przetwarzania danych geograficznych. W ramach realizacji tematu przebadano istniejące w Internecie oprogramowanie open suorce, które wykorzystuje technologię SLD. Następnie oprogramowanie to zostało sprawdzone pod kątem możliwości SLD do symbolizacji treści kartograficznych polskich map.
Prezentacja (pdf):
Multicheckboxy zamiast multiselectorów w CakePHP 1.2RC2 13-09-2008
Autor: Grzegorz Olejarz. Kategorie: CakePHP , 0 komentarzyMając zaprojektowaną bazę danych i zdefiniowaną relację wiele-do-wielu, skrypt „bake” generuje kod strony. Relacja wiele-do-wielu przedstawiona jest jako lista „multiselect” – lista wielokrotnego wyboru. Lista ta jest o tyle niewygodna, że chcąc wybrać kilka opcji, trzeba robić to z wciśniętym przyciskiem ctrl. Jeden nieuważny ruch, przypadkowe kliknięcie i cały proces wyboru trzeba powtarzać od nowa.
Można usunąć tą niedogodność zamieniając listę wielokrotnego wyboru na listę checkboxów:
W widoku dodajemy tablicę atrybutów:
echo $form->input('Post.Tag', array('type'=>'select', 'multiple'=>'checkbox', 'options'=>$tags, 'label'=>'Tagi:' ));
Można zmienić jeszcze kontroler, aby generował listę tagów, gdzie wartością jest nazwa tagu, kluczem natomiast jest Tag.id – identyfikator w bazie danych. Lista taka służy do tego, aby w widoku były nazwy przy checkboxach, a nie identyfikatory:
$tags = $this->Post->Tag->find('list', array('fields'=>'Tag.name')); $this->set(compact('tags'));
CakePHP 1.2 RC2, brak mod_rewrite i serwery AGH 05-09-2008
Autor: Grzegorz Olejarz. Kategorie: CakePHP , 0 komentarzyBrak modułu przepisującego adresy mod_rewrite w przypadku CakePHP objawia się między innymi brakiem „ładnych” adresów. Tyle przynajmniej wyczytałem w manualu Cake’a (link). Niestety brak wspomnianego modułu apache skutkuje jeszcze błędnym działaniem HtmlHelpera, a konkretniej metody HtmlHelper->link. Po długich poszukiwaniach udało mi się znaleźć rozwiązanie, które wydaje się być skuteczne na serwerze AGH.
Krótki tutorial:
- Usuwamy pliki .htaccess z 3 katalogów:
- /.htaccess (katalog główny aplikacji)
- /app/.htaccess
- /app/webroot/.htaccess
- Edytujemy plik /app/config/core.php i wyłączamy komentarz linijki:
Configure::write(’App.baseUrl’, env(’SCRIPT_NAME’));
- Przed w/w linią dopisujemy:
$tmp_base = env('SCRIPT_NAME'); $len = stripos($tmp_base,"index.php") + 9; $tmp_base = substr($tmp_base,0,$len);
- Linię
Configure::write(’App.baseUrl’, env(’SCRIPT_NAME’));
zamieniamy na:
Configure::write('App.baseUrl', $tmp_base);
Odnośniki, które wyglądały następująco:
http://student.agh.edu.pl/~twoja-nazwa/posts/index
mają postać:
http://student.agh.edu.pl/~twoja-nazwa/index.php/posts/index
Również metoda HtmlHelper->link poprawnie generuje odnośniki użyte w aplikacji.
–
Po kilku testach okazało się, że opisana metoda nie działa w 100%. Zainstalowanie aplikacji w ścieżce:
http://student.agh.edu.pl/~twoja-nazwa/aplikacja/
nie przekierowuje się automatycznie na index.php:
http://student.agh.edu.pl/~twoja-nazwa/aplikacja/index.php
Wpisanie w przeglądarkę powyższej ścieżki daje dobry rezultat.
Rozwiązaniem tego problemu jest ręczne wpisanie do pliku /app/config/core.php ścieżki do aplikacji:
Configure::write('App.baseUrl', '/~twoja-nazwa/aplikacja/index.php');
Teraz przekierowanie działa poprawnie.
Dlaczego właśnie „WordPress”? 01-09-2008
Autor: Grzegorz Olejarz. Kategorie: o stronie , 0 komentarzyWłasną stronę chciałem założyć od dawna. Ale taką stronę, na której byłaby prezentacją moich prac, projektów itp. Początkowo myślałem tylko o statycznej stronie, ale decydowałem się również na prowadzenie tzw. webloga, bardziej znanego pod nazwą „blog”. Niestety nie posiadam talentu pisarsko-dziennikarskiego, ale oprócz zwykłego chwalenia się moją twórczością będę chciał przedstawić problemy i rozwiązania z informatyki (głównie php) oraz geodezji (GIS). Czy się to uda – zobaczymy.
Stronę założyłem na silniku WordPressa. Wahałem się pomiędzy autorskim systemem zarządzania treścią, a jakimś gotowym rozwiązaniem. Na pierwszy rzut oka takie rozwiązanie wydaje się pójściem na łatwiznę. Ale po przeanalizowaniu problemu doszedłem do wniosku, że napisanie od podstaw dobrego CMS-a będzie trudne biorąc pod uwagę aspekty bezpieczeństwa skryptu. Tym bardziej, że to nie ja pierwszy zakładam stronę-bloga (cóż za odkrycie) i problem takiego skryptu już dawno ktoś mądrzejszy ode mnie rozwiązał. Inną rzeczą jest to, że większość tech- i dev- blogów, które czytam i z których czerpię wiedzę wykorzystują właśnie WordPress.
Decydując sie na WordPressa mam nadzieje zgłębić jego kod, a także rozwiązania i wzorce projektowe wykorzystywane w tym systemie.
