Tuesday, April 29, 2008

jQuery UI tabs and jMap with Seagull

Today I came accross a weird problem while tried to put together a pimped-up profile page with jQuery tabs and a google map inside one of tabs.

jMap is a jQuery plugin for handling Google Maps.

UI is user interface plugin for jQuery which among others handles tabbed controlls.

Problem :
If you embed a jMap map inside a UI tab the map wont be rendered correctly (it isnt centered correctly, some sections of map wont be loaded). When you place the div containing the map out of the tab it loads just fine. Obviously jQuery magic goes wrong somewhere, as the map is functioning correctly, you have controlls and if you move it around it loads some (not all visible) sections so it must be some width/height/padding/margin but I wasnt able to debug what is going on in the background, too much things happen at once.

Solution:
It DOES matter in which order you set up jQuery objects. First you have to set up the map, then set up UI Tabs and it works like a charm.

The code should be something like this (if you wander about {} enclosed stuff which are not JSON notation, its how you can reference php variables in JS with Flexy in Seagull):

{scriptOpen:h}
$(document).ready(function(){
$('#map').jmap('init', {
mapCenter:[{aGeoCodes[longitude]},{aGeoCodes[latitude]}],
mapZoom: 15,
mapShowjMapIcon: false
});
$('#map').jmap("addMarker", {pointLatLng:[{aGeoCodes[longitude]},{aGeoCodes[latitude]}]});
$("#tabbedProfile > ul").tabs();
});
{scriptClose:h}


Hope this helps to someone suffering from same (d)effect to save a bit of debugging.

Thursday, April 17, 2008

Seagull CMS first impression

Today I gave a Segaull CMS module (1.3) a try. Was interested about its features, and what benefit it has over Publisher module, which is a bit aged cms solution for SGL, and is it ready for production use without any tweaking.

CMS beats Publisher in almost every aspect (faster, smarter,more configurable), so it could be a solid solution if you dont need multilingual support (although it could be around the corner, but I dont know how far the corner is :). Publisher has multilingual support on the other hand.

CMS supports: types & attributes of content (nice feature), versioning (although I couldnt figure out how can I select the version of the published content, but maybe that is my bad). Give the wiki a try for more details.

Found a small bug in category management (images for TreeView are not referenced correctly) nothing serious, another one in navigation (add a page that is link to content, save and try to edit it, it doesnt fill the edit form correctly) more serious a bit, but there is workaround, fill everything again on edit :).

It has some really nice AJAX interface, so things are kept simple yet usable.

The next step will be to use CMS functionality to store user generated content like CV-s etc, interested in how it could be used along with other modules, but I am sure that it will perform well.

Only few things are there that are making me to stick with Publisher:
- the code comes obfuscated with community version, and sooner or later I will need some customization (though that can be done by extending cms classes),
- multilingual support (most of sites done are not english on my side), lack of it is showstopper atm
- still have some environments with php4 installed, and CMS requires 5.2, but if I make serious threats to root on host he will upgrade for sure, as all such upgrades have to be done sooner or later as php4 is not supported any more, and I am the root...

So Demian and Julien did a great job as CMS module is getting mature CMS solution. Cant wait to see how it develops further.

Friday, March 28, 2008

Milestone achieved finally...

After some heavy coding finally put together a Seagull based Feeder module`s first milestone (will publish it soon somewhere), it is working on RSS atm, but soon it will evolve to other feeds as well. It has autoUpdate where updateable feeds are ordered by bayesian rating, with limits etc. It maps discovered Items to a generic Content class, so it will be a great content provider. I am really excited about it, and cant wait to see it in production which is yet to come. Next steps include caching, and a bit refactoring, as the project evolves. It should be a news aggregator service, with some fresh ideas, but basics should be done first :)

Zend Neon Impressions

Hopefully found my next php IDE. I have just installed Zend Studio For Eclipse. So here are the first impressions. I wanted to move over to Eclipse for a while now, but got used to ZDE which is decent IDE, but its HTML/CSS support is bellow poor. First impressions are great, easy install, a little headache (more about reasons, and thanks for help), but finally I can debug my Seagull installs from IDE directly (a bit slowly though). Now I have to get used to new keyboard shortcuts but nevermind (I delete all the time instead of duplicate, what is rather annoying :). Eclipse has rather large coding language base, and well supported plugins and together with Zend Eclipse is a great thing to have.

Tuesday, June 5, 2007

SugarCRM with Seagull, Chapter 3 (final)

The thing finally works & is simply great. It took a little time but it is really good tradeoff because you gain all of SugarCRM functionality and development of such would take way more time.
Experience with provided API is that it is really easy to communicate with. A little bit frustrating was the fail to use PEAR`s SOAP_Client, but nusoap does the job just fine (if anybody have done it with mentioned package, please place a comment with a guide for providing complex datatypes).

So to summarize: Christians - Lions 1:0 :)

Monday, June 4, 2007

Technocrati submission

Have submitted this blog to Technocrati, will see if it drives attention, I am interested in feedback

Adwords experiment

I have started an interesting experiment with AdWords service of Google. I have chosen a high quality software product. Selected the right keywords, made geotargeting & started advertising. Have made a campaign with 2 adgroups (one for broader keywords, another for the best matching keywords). These groups compete against each other. Its really interesting that broad keywords, with terrible CTR`s & with tons of impressions are performing better. The CPC is better, so the price of clicks is for astonishing 30%. lower. The purchase-quality of clicking users could be worse of course, but will continue the experiment & report the results.