Avramov bRlog
Web dnevnik Nemanje Avramovića

Avramov bRlog

Instant Update 3 Sneak Peek

maj 20th, 2008 . by Avram

Oni koji me poznaju znaju da već oko dve godine razvijam komercijalni CMS Instant Update uz pomoć kojeg možete ažurirati bilo koji web sajt. Trenutno aktuelna verzija je v.2 i u postoji oko 10 meseci. Poslednjih par meseci radim na verziji 3, a uzevši u obzir sugestije i potrebe korisnika, od novina možete očekivati:

  1. novi dashboard
  2. korisničke grupe sa nivoima pristupa (access levels)
  3. automatsko kreiranje navigacionih menija
  4. novi WYSIWYG editor (InnovaStudio)
  5. novi plaintext editor
  6. osnovnu podršku za dodatke (plugins)
  7. ponovno napisanu kompletnu dokumentaciju
  8. višejezičnost
  9. neka sitna poboljšanja interfejsa kao i samog sistema

Neki snimci ekrana:

Novi WYSIWYG editor

Novi page editor

Fancy popup za sitne posliće

Uzmite u obzir da su ovo snimci verzije koja je u izradi i da tek treba dizaner da “pročešlja” celu aplikaciju, tako da će najverovatnije biti dosta vizuelnih izmena.

Ne mogu da preciziram kada će ova verzija izaći jer to ne zavisi samo od mene već i od dizajnera koji nikako da se smisli da krene da radi na aplikaciji, ali prognoziram negde kraj juna.

 

Tagovi:

Interaktivna mapa grada

maj 4th, 2008 . by Avram

Odavno se na ES-u tražilo rešenje za izradu sistema za mape kao što je Google-ov Google maps ili Contrast-ov PlanPlus, ali uvek se dolazilo do zaključka da je potreban MapServer i ka-Map! ili neki sličan softver, što dalje zahteva dedicated server jer pomenuti programi ne mogu da rade na običnim shared hosting mašinama. Odlučio sam da promenim to, i mogu vam reći da mi uopšte ne ide loše.

Na sajtu www.mladenovac.in.rs, koji sam još ranije započeo, a koji još uvek nije zaživeo kako treba (nema se vremena), možete videti interaktivnu mapu grada Mladenovca koju pokreće ništa više do PHP (+GD) i MySQL. Projekat nije baš elegantan kao gore pomenuti sistemi mapa, ali vrši posao… a kako nameravam da ga dalje razvijam u slobodnom vremenu (kojeg više nemam počev od prekosutra kad mi ponovo kreću predavanja), verujem da će biti sve bolji i bolji. Još ako nađem nekog asistenta - super (dobrovoljci?)

Takođe, ovo je prvi put da koristim jQuery u nekom od svojih projekata, i pitam se kako sam mogao da živim bez njega do sada? Pa znate kada bih uradio ovako dobro cross-browser panovanje slike bez njega? Nikad :-)

Ono što će se razlikovati u aplikaciji koju ću na kraju objaviti i ove “pre alpha” verzije koja stoji na mladenovac.in.rs je to da tamo posetioci sajta mogu da se upišu na mapu, a u verziji koju zvanično budem objavljivao biće sve read-only (ili barem ja to tako trenutno mislim).

E sad, na prvi pogled, ono što treba implementirati u ovu web aplikaciju:

  1. Smisliti ime aplikacije (phpMyMap? Mnogo volim phpMy… imena za projekte)
  2. Automatsko panovanje mape1
  3. Grupe objekata
  4. Pretraga objekata po grupama
  5. Filtriranje prikaza po grupama2
  6. Kompletni redizajn aplikacije (moram naći neki profi dizajn ili da angažujem nekog da to uradi)
  7. Zoom (ovo nema teorije da odradim :-/)

Sistem radi tako što, kada ja odobrim unos, PHP (odnosno GD) na određenim koordinatama ucrtava plavi kvadratić koji označava da tu ima nečega na mapi (a onda se na istim koordinatama kreira jedan area u image mapi u samom html-u koji služi za prikaz detaljnih informacija). Za sliku dimenzija 2699×3114 piksela, kolika je mapa Mladenovca koju posedujem, potrebno je skoro 45 megabajta memorije da se njom manipuliše (za izračunavanje je korišćena forumula koju možete naći ovde). Ukoliko ne nađem alternativu ovome, i ova moja aplikacija će biti prilično non-user-friendly, a ja to ne želim. A mogao bih da koristim nešto kao što koristi Dootzky na njegovoj GNU/Linux mapi, ali ne znam kako to da ukomponujem u panovanje?

1 - Ako otvorite mapu Mladenovca i ne vidite ništa iako se informacija o tome da sačekate učitavanje mape sklonila, mapa je tu, ali u tom delu mape (gore-levo) nema ničega, tako da je samo potrebno da panujete mapu malo u stranu i videćete ulice/objekte. Kada bih uspeo da automatski centriram mapu onda se ljudi ne bi zbunjivali. Za panovanje slike koristim panView JQuery plugin, a on nije toliko fleksibilan da može i ručno da se panuje/centrira slika, a sam da izmenim plugin ne umem (još uvek… ali sve se da naučiti :-)), tako da… ideje?

2 - Kao što napisah iznad, objekti se ucrtavaju na mapu. To znači da bih za svaku grupu morao da imam odvojenu mapu. Not gonna happen :-/

p.s. Ako sam nešto zaboravio da napišem, ne zamerite. Sad je dva sata ujutro, a ja sam ceo prethodni dan radio na ovoj aplikaciji. Laku noć!

 

Tagovi:

WP Plugin Stats Wordpress plugin

april 20th, 2008 . by Avram

Da, može se reći da sam se naložio na pravljenje Wordpress dodataka, ali šta ću - jesam :-) Šalu na stranu, nekako mi je mnogo user-friendly pravljenje dodataka za WP, uopšte ne primećujem da radim “za” Wordpress, čini mi se kao da pišem klasičan PHP, što u principu i radim.

Ovaj put napravio sam plugin za ljude koji prave plugine za WP (ja i slični). On služi da prikažete statistike vašeg plugina sa Wordpress.org u okviru vašeg bloga. Plugin može da dovuče broj preuzimanja vašeg dodatka u sledećim periodima: tekućeg dana (today), prethodnog dana (yesterday), prethodne sedmice (last week), od kad se hostuje na WP.org (total). Sve ove brojke možete prikazati zasebno, a možete prikazati sve od jednom (pogledaj kraj unosa). Takođe, plugin može da ubaci flash grafik sa preuzimanjima vašeg plugina, kao onaj što se može naći na stats stranici vašeg plugina na Wordpress.org.

Sve podatke osim flash grafik(on)a plugin dovlači sa Wordpress.org uz pomoć AJAX-a što, kao što znamo, ima neke svoje loše strane (statistike neće biti indeksirane od strane pretraživača), ali opet, ima i neke prednosti, kao što je uklanjanje potrebe za čekanjem stranice dok se rezultati dovuku i isparsiraju, i baš te prednosti su dovele do toga da ipak koristim AJAX za dovlačenje rezultata. Da nema AJAXa, mnogo biste duže čekali da se stranica gde su prikazane statistike otvori, a ovako se strana otvori, a čekate samo taj jedan SPAN tag u koji se naknadno upisuju rezultati. A i pored svega, izgleda lepo :-)

Upravo to što koristim AJAX, i što ne umem da simultano dovlačim neograničen broj podataka sa isto toliko stranica, dovodi do toga da ne možete koristiti više bb tagova za statistike u okviru jedne stranice. Odnosno možete, ali ko zna šta ćete dobiti za rezultat. Zato preporučujem da koristite samo jedan od sledećih bb tagova po stranci: today, yesterday, lastweek, total ili stats. Grafik, koji se dobija stavljanjem bb taga chart nema veze sa ostalim tagovima i može se koristiti neograničeno puta u okviru stranice, a razlog što ga ja ne koristim ovde ni na zvaničnoj stranici plugina je taj što je grafik širi od prostora za tekst na mom blogu/sajtu pa mi u Internet Exploreru navigacija ceo sidebar pobegne ispod teksta, a grafik ne može da se smanji (zašto?)…

Na kraju krajeva, razumem da ovaj plugin neće biti zanimljiv običnim WP korisnicima već (možda) ljudima koji razvijaju pluginove za WP, tako da se neću iznenaditi ako ovo ne bude korišćeno od strane mnogo ljudi… ali opet, statistike za ovaj i moja prethodna dva plugina (AVrAmTAR i Page Peel) govore drugačije - ovaj plugin za jedan dan ima više preuzimanja nego oni što su imali prvoga dana.

Evo statistika o preuzimanjima upravo za ovaj plugin:

click me to obtain stats

 

Tagovi:

Kennyfier - February 2008 Nominee

mart 2nd, 2008 . by Avram

Većina vas verovatno zna za originalni Kenny translator? Meni se ova web aplikacija mnogo svidela, pa pošto link za PHP verziju ne radi, odlučio sam da postojeći Java kod portujem u PHP. Za Javu sam se odlučio jer trenutno u školi imam predmet “Java 1″ gde učimo istu, a jako je slična PHPu i ostalim C-olikim jezicima koji mi nisu problem za shvatanje, te sam pre skoro mesec dana seo i za sat-dva prepisao Java kod u PHP, i svoj rad objavio pod LGPL licencom na sajtu phpclasses.org, a demo skripte možete videti na mom sajtu, na sledećoj adresi: http://www.avramovic.info/razno/kenny/

Ono što me je iznenadilo je to da je g-din Manuel Lemos predložio moju klasu za Innovation Award sledećim rečima:

Kenny is a character of the popular animated comedy series South Park. He usually wears an hooded parka, which covers his mouth and nose, making all of his lines sound like mumblings.

This class tries to make fun of Kenny by translating phrases into sequences of text equivalent to Kenny mumblings and vice-versa. Although the class has apparently no real serious use, it is certainly very funny.

I taaaaaaaako, sada možete da glasate ;-)

http://www.avramovic.info/razno/kenny/

 

Tagovi:

Januar summary :)

januar 30th, 2008 . by Avram

Prethodnih dana nedelja nemam vremena skoro ni za šta, po ceo dan sam u Beogradu na predavanjima i vežbama, i onda kad dođem kući nemam snage ništa da radim, samo mi se spava, tako da baš ništa ne radim vezano za programiranje… to ostavljam za vikende, kad se malo odmorim od škole.

Ipak, malo sam radio na blogu: Ne znam da li ste primetili, ali moj bRlog sada ima uptime skoro 24/7 jer sam promenio DNS servere ovog poddomena tako da je sada sve ok… bar se nadam. Zatim, implementirao sam LightBox plugin za WP, tako da linkovane slike možete videti na samom blogu, odnosno ne morate napuštati blog ili otvarati slike u novom prozoru da biste ih videli. Nadam se da vam se sviđa?

Takođe, danas sam kupio KOSS-ove The Plug slušalice, mnogo su dobre, a nisu uopšte skupe. Koštaju 2250,00 dinosaurusa, što nije mnogo s obzirom da, za razliku od nekih Sennheiser modela koji su koštali preko 5000,00 din, ove imaju doživotnu garanciju. U prvih godinu dana garancija je potpuna, odnosno ako slušalice prestanu da rade samo im odnesem i dobijem nove, a posle prvih godinu dana, ako slušalice prestanu da rade, uz doplatu od 5 € u dinarskoj protivvrednosti dobijam iste ovakve, samo nove. Jedino što mi se ne sviđa kod slušalica jeste veoma veoma tanak kabl, tako da se bojim da će lako pući. Verovatno ću uzeti i carrying case za njih, video sam u 4audio katalogu da imaju, ali nisam video cenu, moraću ovih dana da pogledam. Uz to, ove slušalice imaju silikonski deo koji se oblikuje ušnoj školjci tako da lepo zapuše uvo i imaju jako dobar noise reduction. Malo sam ih testirao i nemam nikakvih primedbi: zvuk je odličan (imaš osećaj da ti je bas u glavi :-)), a ništa oko sebe ne možeš da čuješ kad slušaš muziku (što može biti opasno ako prelaziš ulicu i ne čuješ kola :-P). Super su! Inače, kupio sam ih u 4audio prodavnici u ulici Kneza Miloša broj 4, u Beogradu.

slushalice.jpg
sl. 1. Moje nove KOSS slušalice

 

Tagovi:

WordPress tagovi i na bRlogu

januar 18th, 2008 . by Avram

Zahvaljujući ovom tekstu (via DPT), od sada na bRlogu možete videti TagCloud sa leve strane, ispod navigacije i liste kategorija, a ispod teksta svakog unosa možete videti tagove kojima je on obeležen. Fina stvarčica, baš sam se pitao kako u ovoj zastareloj WP temi da omogućim tagove, ali evo, zahvaljujući Đukijevom blogu odradio sam to bez mnogo mučenja.

snapper1200711696281.gif

sl. 1. Sidebar bRloga

 

Tagovi:

AVrAmTAR WordPress plugin [beta]

januar 5th, 2008 . by Avram

Od danas na mom blogu pored svakog komentara stoji AVrAmTAR.com avatar autora poruke, ukoliko je isti registrovan na www.avramtar.com (a ko nije odma’ trk da se registruje :-)). Ukoliko niste registrovani na avramtar.com prikazaće se default “?” avatar.

AVrAmTAR WordPress plugin u akciji

sl. 1. AVrAmTAR WordPress plugin u akciji
(klik za uvećanje)

Ceo dan sedim ispred računara čitajući WordPress Codex i evo sada je gotov, a uskoro će biti objavljen i na blogu avramtara, samo da ga malo istestiram i da mi odobre prikazivanje plugina na sajtu WordPress-a.

Plugin se sastoji iz tri dela, a to su PHP skripta, CSS fajl i malo JavaScript koda: PHP skripta je tu da kod svakog komentara dovlači avatar sa avramtar.com sajta, kao i da se integriše automatski u vašu WP temu. CSS fajl se sastoji samo iz jednog stila (”.avramtar”) sa dva atributa koji služe da pozicioniraju avramtar desno od komentara. I na kraju, malena Javaskripta koja dinamički menja veličinu avatarima, tako da se lepo vide i da svi budu iste širine (a mogu i iste visine). Razlog zašto se avatari risajzuju na klijentskoj strani je to što bi mi menjanje veličine animiranih gifova (kojih i te kako ima, a imaće ih još dosta ako servis postane iole poznat) na strani servera oduzimalo mnogo resursa koji su ionako dosta ograničeni na mom VPS-u, dok JS to odradi “in no time,” a verujem da je procenat ljudi kojima je JS isključen mnogo manji od 1% tako da mogu sebi to da priuštim :-)

Kako su kod mene na temi komentari organizovani u jednoj unordered listi (UL tag), a ne u tabeli, dešavalo se da mi avatar bude veći od teksta (kad je komentar jako kratak) pa je sve bilo sjebano. Onda sam dodao još jednu stavku u CSS fajl koja svim elementima sa IDom “avramtarized_comment” (a to su svi komentari kad ih obradi AVrAmTAR plugin) postavlja min-height svojstvo na 80px što osigurava da visina svakog komentara bude sasvim dovoljna i da avatar ne prelazi u sledeći komentar, a i ako se to desi, desiće se u jako malom broju slučajeva, a i tad se min-height može povećati. Ovo je sve super radilo u Firefoxu, ali zato u IE6 - užas. Neki avatari se nisu videli, neki su prelazili u drugi komentar ispod njih. Ukratko - blagi užas. Iako je IE7 već zaživeo, IE6 se može naći i dalje na ogromnom broju računara (možda čak više od 50% računara gde je instaliran Windows) pa sam morao i to da sredim. Kako? Lako, pronašao sam nešto što se zove “IE7 { css2: auto; },” a što sa samo jednom linijom koda popravlja bugove u IE6, tj. omogućava korišćenje CSS2 u IE6. Ovo nije standardni deo AVrAmTAR plugina, ali svakako ću ga linkovati u dokumentaciji, jer spašava blogere mnogo muka.

 

Tagovi: