SaturnAnalytic.com – projekt na Startup Weekend Krakow

Mój pierwszy Startup Weekend, który odbył się w Krakowie oceniam za bardzo udany. Niesamowita ilość pozytywnych emocji, zwariowanych pomysłow i jeszcze bardziej szalonych ludzi wkoło, jest czymś co nie da się opisac!

Polecam wszystkim! :)

Szybko podsumowując, wystartowałem z pomysłem, który w założeniach miał być nową generacją narzędzi analitycznych. Stworzyliśmy świetny zespół z Grzegorzem i Tim’em. Dosłownie po kilku godzinach wytężonej pracy, kombinacji i sugestii mentorów stworzyliśmy projekt który o chrzciliśmy SaturnAnalytic.com.

W skrócie jest to narzędzie przeznaczone dla małych i średnich przedsiębiorstw, które wykorzystują internet i media społecznościowe jako główny nośnik reklamy i chcą konkurować na rynku globalnym.  Głównym zadaniem naszego produktu jest porównywanie Twojej strony internetowej do stron konkurencji.

Poniżej prezentacja, która zawiera troszeczkę więcej szczegółów.
Zapraszam do obserwowania naszego konta na Twitterze @SaturnAnalytic

 

KontorX jQuery

Dzisiaj rozpocząłem zbieranie wszystkich pluginów jakie napisałem w jQuery.

Wszystkie rozszeżenia i dodatki będa umieszczane na stronie http://code.google.com/p/kontorx-jquery/.

W jednym z pierwszych commit-ów znalazły się dwie biblioteki z przykładami:

jquery.alternate

jQuery.alternatejQuery.alternate

Prezentowanie alternatywnego tekstu w polach inputtype=text?,inputtype=password?,… jest teraz bardzo przyjemne. Wystarczy tylko umieścić poniższy kod na swojej stronie WWW i zdefiniować jaki alternatywny tekst ma być wyświetlany w elemencie o konkretnym ID.

 $('#searchText').alternate({text:'Szukaj kalendarza...'});

jquery.searchFilter

jquery.selectFilter

Wybranie wartości w polu typu „select” przy ilościach przekraczajacych 100 opcji jest bardzo problemowe. Plugin wzbogaca element „select” o szybkie wyszukiwanie elementów wpisując fragment jego nazwy.

$('select').selectFilter();

Wkrótce więcej przykładów i nowych bibliotek :)
Pozdrawiam.

Zend Framework DataGrid – „Out of the box”

Niezależnie od rodzaju, wielkości i skomplikowania aplikacji internetowej można wyróżnić w niej kilka podstawowych (prawie zawsze występujących) elementów; autoryzacja, model, prezentacja danych, itp.

Przykład wyglądu i zastosowania KontorX_DataGrid

KontorX_DataGrid

Ten wpis chciałbym poświęcić bardzo powszechnemu elementowi – prezentacji, a dokładniej prezentacji danych tabelarycznych z j.ang. „data grid”. Notorycznie napotykamy ten element w prawie każdym panelu administracyjnym. Przybiera on różne formy w zależności od postawionych wymagań. Można wyróżnić:

Formy prezentacji danych tabelarycznych

  • Podstawową – dane są prezentowane w tabeli HTML bez możliwości sortowania, filtrowania i stronicowania
  • Rozszerzoną - tabela z możliwościami stronicowania i filtrowania kolumn danych
  • Dedykowaną- rozwiązanie jest połączeniem w/w typów z elementami rozszeżającymi, np.:
    • tabelę z możliwościami eksportowania danych tabelarycznych do różnych formatów (csv, pdf, itp…)
    • spersonalizowany wygląd komórek danych w zależności od typu: data, godzina, waluta, url, grafika, ….
    • możliwość edycji danych w bezpośrednio w wierszu tabeli (inline editing)
    • prezentacja danych za pomocą biblioteki JavaScript (np. Ext.DataGrid i inne,… )

Rodzaje istniejących bibliotek poruszających ten problem

Natywne PHP:

JavaScript + PHP:

Powyższe biblioteki implementują mniej lub więcej form prezentacji danych. Każda z nich wymaga wykonania kilku „ruchów” by je skonfigurować ale czy można prościej?… Tak. Dlatego chciałbym w tym wpisie omówić bibliotekę – KontorX – jest to biblioteka, którą nieprzerwanie rozwijam od  prawie 3 lat. Bibliotekę KontorX zawiera w sobie wiele elementów a jednym z nich jest KontorX_DataGrid.

Czym jest biblioteka KontorX_DataGrid

Biblioteka umożliwia elastyczne prezentowanie danych tabelarycznych w dowolny sposób i prawie w dowolnej formie. Poniżej przedstawiam główne cechy biblioteki:

  • Adaptowanie danych różnych typów np. Doctrine, Zend_Db_Table, Zend_Db_Select, natywna tablica – array, …. (więcej w budowie :) )
  • Różnorodna forma prezentacji danych. Data_Grid prezentuje dane jako czysty HTML oraz dynamiczny widok ExtJS Grid. Biblioteka pozwala również na implementacje nowych sposobów prezentacji danych np. jako plików .csv, .xls, .pdf.
  • Integracja z Zend_Form.
  • Zbiór gotowych rozwiązań. Biblioteka posiada już zaimplementowane elementy odpowiedzialne za filtrowanie, grupowanie i stronicowanie danych.
  • Elastyczność i rozszerzalność poprzez dopisywanie plugin’ów.

Powyższy opis może nie wiele mówić dlatego zapraszam do przykładów demonstrujących, niektóre możliwości komponentu:
http://kontorx.widmogrod.info/#http://kontorx.widmogrod.info//KontorX/DataGrid/example1.php

DataGrid – „Out of the box”

Jeżeli korzystasz z ZF wystarczy że pobierzesz bibliotekę z Google Code umieścisz ją w include_path aplikacji i zaimplementujesz powyższy kod w kontrolerze wybranej akcji przekazując model danych (na chwilę obecną zaimplementowałem obsługę Zend_Db_Table, Zend_Db_Select, array).

Biblioteka posiada już zaimplementowany domyślny sposób prezentacji danych więc niczym nie musisz się martwić  (jedynie tabelę możesz ostylować w/g własnych upodobań :) )

Poniżej przedstawiam najszybszą drogę  do wy-renderowania prostej prezentacji danych tabelarycznych:

// prosty przykład
$dataGrid = KontorX_DataGrid::factory($dbTable);
$dataGrid->render();

Zainteresowanych źródłami zapraszam do strony projektu na Google Code: http://code.google.com/p/kontorx