<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>(function() { &#187; Massimiliano Balestrieri</title>
	<atom:link href="http://maxb.net/blog/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://maxb.net/blog</link>
	<description>// MAXB.NET LABS</description>
	<lastBuildDate>Fri, 25 Jun 2010 07:26:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>jbgallery 2.0 BETA</title>
		<link>http://maxb.net/blog/2010/03/29/jbgallery-2-0/</link>
		<comments>http://maxb.net/blog/2010/03/29/jbgallery-2-0/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 14:48:42 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jbgallery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=616</guid>
		<description><![CDATA[DEMO SITE jbgallery is a UI widget webpage written in javascript on top of the jQuery library. Its function is to show a single big image, multiple images, multiple galleries, slideshows, as a site&#8217;s background, in a &#8220;dialog&#8221; mode or as a common pop-up. jbgallery has two basic menus: the first one has music player [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/scripts/jbgallery-2.0/" target="_blank">DEMO SITE</a></p>
<p>
   jbgallery is a UI widget webpage written in javascript on top of the jQuery library.<br />
	Its function is to show a single big image, multiple images, multiple galleries, slideshows, as a site&#8217;s background, in a &#8220;dialog&#8221; mode or as a common pop-up.<br />
	jbgallery has two basic menus: the first one has music player buttons while the other one links  directly to single images.<br />
	I added a &#8220;complex&#8221; menu on the 2.0 version, which in inspired by the <a href="http://www.flickr.com/search/show/?q=assisi" class="blank">flickr</a> slider-equipped slideshow that allows to scroll the thumbnail previews.<br />
	jbgallery provides a pubblic API to remote control the component, so it would be easier to bind also with a more complex menu.</p>
<p>    Examples:
    </p>
<ul>
<li>Option &#8220;style&#8221;:
<ul>
<li><a href="/scripts/jbgallery-2.0/docs/centered.html" class="blank">centered</a> (default)</li>
<li><a href="/scripts/jbgallery-2.0/docs/zoom.html" class="blank">zoom</a></li>
</ul>
</li>
<li>Option &#8220;menu&#8221;:
<ul>
<li><a href="/scripts/jbgallery-2.0/docs/menuslider.html" class="blank">slider</a> (default) *NEW</li>
<li><a href="/scripts/jbgallery-2.0/docs/numbers.html" class="blank">numbers</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/simple.html" class="blank">simple</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/nomenu.html" class="blank">nothing</a> (slideshow true, use arrows)</li>
</ul>
</li>
<li><a href="/scripts/jbgallery-2.0/docs/background.html" class="blank">Single image background</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/bgcentered.html" class="blank">Single image centered</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/multi.html" class="blank">Multi &#8220;fullscreen lightbox&#8221; gallery</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/popup_launcher.html" class="blank">&#8220;Fullscreen lightbox&#8221; vs Traditional popup</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/labels.html" class="blank">Custom labels</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/nofade.html" class="blank">No fade effect</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/nofade2.html" class="blank">No fade effect</a> (slider)</li>
<li><a href="/scripts/jbgallery-2.0/docs/interval.html" class="blank">Timers: interval</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/autohide.html" class="blank">Timers: autohide</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/callback.html" class="blank">Callback for developers</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/api.html" class="blank">Api for designer/developers</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/click.html" class="blank">Clickable</a></li>
<p>	<!--li><a href="/scripts/jbgallery-2.0/docs/links.html" class="blank">Links (with callback)</a></li-->
<li><a href="/scripts/jbgallery-2.0/docs/picasa.html" class="blank">Picasa adapter (NEW)</a></li>
<li><a href="/scripts/jbgallery-2.0/docs/picasa-album.html" class="blank">Picasa adapter (NEW)</a> (album)</li>
<li><a href="docs/style_test.html" class="blank">Style test</a></li>
</ul>
<h2>Installation</h2>
<h3>Download and extract</h3>
<p><a href="/scripts/jbgallery-2.0/jbgallery-2.0.beta.zip">jbgallery-2.0.beta.zip</a> (<strong>update: 2010-06-25</strong>)</p>
<p>Download single files : </p>
<ul>
<li>jbgallery-2.0.js : <a href="/scripts/jbgallery-2.0/jbgallery-2.0.js" class="blank">source</a> | <a href="/scripts/jbgallery-2.0/jbgallery-2.0.min.js" class="blank">min</a></li>
<li><a href="/scripts/jbgallery-2.0/jbgallery-2.0.css" class="blank">jbgallery-2.0.css</a></li>
<li><a href="/scripts/jbgallery-2.0/ajax-loader.gif" class="blank">ajax-loader.gif</a></li>
<li><a href="/scripts/jbgallery-2.0/sprite.png" class="blank">sprite.png</a></li>
<li><a href="/scripts/jbgallery-2.0/jquery-1.4.2.min.js" class="blank">jquery-1.4.2.min.js</a></li>
</ul>
<p>Extra files : </p>
<ul>
<li>jbpicasa.js : <a href="/scripts/jbgallery-2.0/adapters/jbpicasa.js" class="blank">source</a> &#8211; test adapter that you can use building an html structure, getting data from an external rss feed.</li>
</ul>
<h3>js and css (include in head tag)</h3>
<pre class="brush: xml;">
&lt;link href=&quot;jbgallery-2.0.css&quot; id=&quot;jbgallery-css&quot; rel=&quot;stylesheet&quot; media=&quot;javascript-screen&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.1.4.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jbgallery-2.0.js&quot;&gt;&lt;/script&gt;
</pre>
<h3>HTML structure (minimal menu)</h3>
<pre class="brush: xml;">
&lt;div class=&quot;jbgallery&quot;&gt;
 &lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;1.jpg&quot; &gt;1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;2.jpg&quot; &gt;2&lt;/a&gt;&lt;/li&gt;
  &lt;!-- etc --&gt;
 &lt;/ul&gt;
&lt;/div&gt;
</pre>
<h3>HTML structure (thumbnails &#8211; menu with slider)</h3>
<pre class="brush: xml;">
&lt;div class=&quot;jbgallery&quot;&gt;
 &lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;big1.jpg&quot;&gt;&lt;img src=&quot;small1.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;big2.jpg&quot;&gt;&lt;img src=&quot;small2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;!-- etc --&gt;
 &lt;/ul&gt;
&lt;/div&gt;
</pre>
<h3>HTML structure (caption)</h3>
<pre class="brush: xml;">
&lt;div class=&quot;jbgallery&quot;&gt;
 &lt;ul&gt;
  &lt;li&gt;
   &lt;a href=&quot;big.jpg&quot; title=&quot;Caption title&quot;&gt;&lt;img src=&quot;small.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
   &lt;div class=&quot;caption&quot;&gt;Long long long text&lt;/div&gt;
  &lt;/li&gt;
  &lt;!-- etc --&gt;
 &lt;/ul&gt;
&lt;/div&gt;
</pre>
<h3>JS</h3>
<pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot;&gt;
jQuery(document).ready(function(){
  jQuery(&quot;.jbgallery&quot;).jbgallery();
});
&lt;/script&gt;
</pre>
<h2>OPTIONS &amp; DEFAULTS</h2>
<p>Write options HERE : </p>
<pre class="brush: jscript;">
 jQuery(&quot;.jbgallery&quot;).jbgallery({HERE});
</pre>
<div class="code">
<pre>
    jQuery(&quot;.jbgallery&quot;).jbgallery({HERE});
</pre>
</div>
<h3>DEFAULTS</h3>
<pre class="brush: jscript;">
{
  style     : &quot;centered&quot;,//centered, zoom
  menu      : 'slider', //false, numbers, simple, slider
  shortcuts : [37,39],
  slideshow : false,
  fade      : true,
  popup     : false,
  caption   : true,  //NEW 2.0
  autohide  : false, //NEW 2.0
  clickable : false, //NEW 2.0
  current   : 1,   //NEW 2.0
  webkit    : (navigator.userAgent.toLowerCase().search(/webkit/) != -1),
  ie6       : (/MSIE 6/i.test(navigator.userAgent)),
  ie7       : (/MSIE 7/i.test(navigator.userAgent)),
  labels    : {
    play : &quot;play&quot;,
    next : &quot;next&quot;,
    prev : &quot;prev&quot;,
    stop : &quot;stop&quot;,
    close: &quot;close&quot;,
    info : &quot;info&quot;
  },
  timers    : {
    fade      : 400,
    interval  : 7000,
    autohide  : 7000
  },
  delays    : {
    mousemove : 200,
    resize    : 500,
    mouseover : 800
  },
  close     : function(){},
  before    : function(){},
  after     : function(ev){},
  load      : function(ev){},
  ready      : function(){}
}
</pre>
<h3>OPTIONS</h3>
<ul>
<li>style : string (&#8216;zoom&#8217;/'centered&#8217;)</li>
<li>slideshow : boolean (true/false)</li>
<li>menu  : string/boolean (&#8216;slider&#8217;/'simple&#8217;/'numbers&#8217;/false)</li>
<li>caption : boolean (show info button in menu &#8211; NEW)</li>
<li>autohide: boolean (autohide interface &#8211; NEW)</li>
<li>clickable: boolean (NEW)</li>
<li>current: number (set the initial photo NEW)</li>
<li>fade  : boolean (false/true)</li>
<li>shortcuts : array (keycodes for trigger events left/right via keyboard)</li>
<li>before: function (callback)</li>
<li>load  : function(ev) (callback &#8211; native image load event)</li>
<li>after : function (callback)</li>
<li>ready : function (callback &#8211; interface ready)</li>
<li>popup : boolean (show close button)</li>
<li>close : function(ev) (callback after click close button. i.e. window.close())</li>
<li>labels: object &#8211; default:
<pre class="brush: jscript;">
{
   play : &quot;play&quot;,
   next : &quot;next&quot;,
   prev : &quot;prev&quot;,
   stop : &quot;stop&quot;,
   close: &quot;close&quot;,
   info : &quot;info&quot;
}
</pre>
</li>
<li>timers: object &#8211; default:
<pre class="brush: jscript;">
{
  fade      : 400,  //fadeIn-Out timer
  interval  : 7000, //slideshow timer
  autohide  : 7000  //autohide timer
}
</pre>
</li>
<li>delays: object &#8211; default:
<pre class="brush: jscript;">
{
  mousemove : 200,
  resize    : 500,
  mouseover : 800
}
</pre>
</li>
</ul>
<h3>API (developers/designers)</h3>
<ul>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(); // build object FIRST</li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;go&#8221; , 2); // go to photo 2 if exist </li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;left&#8221;); // prev photo </li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;right&#8221;); // next photo </li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;play&#8221;); // autoplay start </li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;stop&#8221;); // autoplay stop</li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;destroy&#8221;); // destroy object, events, expando</li>
<li>jQuery(&quot;#jbgallery&quot;).jbgallery(&#8220;current&#8221;); // return number of current photo</li>
</ul>
<h2>CONTENTS/FURTHER ELEMENTS</h2>
<p>
	To add to the image further contents or other kind of elements you can use the following div. Otherwise you can add other divs copying the styles below.
    </p>
<pre class="brush: xml;">
&lt;div id=&quot;jbg-content&quot;&gt;
    &lt;!-- PUT HERE CONTENT --&gt;
    &lt;div id=&quot;docs&quot;&gt;
        &lt;div class=&quot;wrapper&quot;&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;!-- /PUT HERE CONTENT --&gt;
&lt;/div&gt;
</pre>
<pre class="brush: css;">
#docs{width:500px;right:200px;top:15%;position:absolute;z-index:1000;}
#docs .wrapper{padding:10px;margin:10px;background:#fff;}
</pre>
<h2>BROWSERS TESTED</h2>
<ul>
<li>Firefox 3.5 (winxp/linux)</li>
<li>Safari 3.2, 4 (winxp)</li>
<li>Chrome/Chromium  (winxp/linux)</li>
<li>Opera 9/10 (winxp/linux)</li>
<li>Internet Explorer 6/7/8 (winxp)</li>
</ul>
<h2>DESIGN/GRAPHIC</h2>
<p>
    This component is published with a minimalist graphic layout.<br />
	You are free to customize css and to ask me any change to add classes to the simple menus edited by me.<br />
	If you use API or design more complex menus, or if you write plugins populating html lists via ajax by flickr<br />
	or similar services, please share with me for the next version of this plugin.
    </p>
<h2>CREDITS</h2>
<p>
        This work is inspired by <a href="http://www.ringvemedia.com/" class="blank">http://www.ringvemedia.com/</a> and <a href="http://www.chicchicken.cc/" class="blank">Chicca</a><br />
        The slider is inspired by <a href="http://www.flickr.com/search/show/?q=assisi" class="blank">http://www.flickr.com/search/show/</a><br />
        <br />
        Depends on jQuery (1.3.2/1.4.2) by <a href="http://ejohn.org/" class="blank">John Resig</a>.<br />
<br />
        Thanks to Simone Parato, Aaron Hutten, Alain Bourgeoa.
    </p>
<h2>COMMENTS &amp; CONTACTS</h2>
<p>
    Post a comment in my blog. <br />
    <a href="http://maxb.net/blog/2010/03/29/jbgallery-2-0/">http://maxb.net/blog/</a>
    </p>
<h2>LICENSE</h2>
<p>
    Copyright (c) 2010 Massimiliano Balestrieri<br />
    Licensed GPL licenses:<br />
    <a href="http://www.gnu.org/licenses/gpl.html" class="blank">http://www.gnu.org/licenses/gpl.html</a>
    </p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=616&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2010/03/29/jbgallery-2-0/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>Markerclusterer clearMarkers</title>
		<link>http://maxb.net/blog/2010/03/29/markerclusterer-clearmarkers/</link>
		<comments>http://maxb.net/blog/2010/03/29/markerclusterer-clearmarkers/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 14:23:08 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[gmaps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[markerclusterer]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=567</guid>
		<description><![CDATA[In the last two posts, I described a bug but later I realized it was a false positive. There was no bug in the library Markerclusterer (gmaps-utility-library-dev). The false positive was mainly caused by my initial mistake. Before explaining the initial mistake that could still be common, and lead others in &#8220;error&#8221;, I would like [...]]]></description>
			<content:encoded><![CDATA[<p>In the last <a target="_blank" href="http://maxb.net/blog/2009/12/01/markerclusterer-clearmarkers-bugfix/">two</a> <a target="_blank" href="http://maxb.net/blog/2010/03/15/markerclusterer-clearmarkers-bug-demo/">posts</a>, I described a bug but later I realized it was a false positive.<br />
There was no bug in the library Markerclusterer (gmaps-utility-library-dev).</p>
<p>The false positive was mainly caused by my initial mistake.</p>
<p>Before explaining the initial mistake that could still be common, and lead others in &#8220;error&#8221;, I would like to clarify that both rev.1159 and rev.1214 (current) do not contain the bug I thought I had found.</p>
<p><strong>There is no need to patch the library by adding the destroy method.</strong></p>
<p>The library Markerclusterer already exposes a method to correctly destroy the clusters: <strong> clearMarkers </strong>.</p>
<h3>clearMarkers works</h3>
<p>The initial mistake I made was to isolate within a function instance</p>
<pre class="brush: jscript;">
var markerclusterer = new Markerclusterer(map, points);
</pre>
<p>Having Isolated markercluster in the function called by the form, at each form submit I wouldn&#8217;t be able to call clearMarkers methods, not having access to the previously created instances.</p>
<p><strong> map.clearOverlay() is not enough </strong>.</p>
<p>You have to remove the clusters explicitly otherwise the first trigger ZoomIn ZoomOut keys of the map would show clusters of the previous search.</p>
<p>To summarize, use the library Markerclusterer</p>
<p>1) before removing the clusters:</p>
<pre class="brush: jscript;">
markerclusterer.clearMarkers();
</pre>
<p>2) then wipe the map with</p>
<pre class="brush: jscript;">
map.clearOverlays();
</pre>
<p>For those who want to analyze the working code I release two demos that are going to overwrite the previous:</p>
<ul>
<li><a target="_blank" href="http://maxb.net/scripts/markerclusterer/bug.html">with a programming mistake not due to the library</a></li>
<li><a target="_blank" href="http://maxb.net/scripts/markerclusterer/fix.html">with a proper usage of clearMarkers</a></li>
</ul>
<p>Another thing that could lead to errors (more false positives) is that after a zoom in / out clusters might be slightly different.</p>
<ul>
<li><a target="_blank" href="http://maxb.net/scripts/markerclusterer/many.html">many clusters</a></li>
</ul>
<p>Searching &#8220;Test 2&#8243; you&#8217;ll find 3 clusters over the Western Alps</p>
<div><img class="alignnone size-full wp-image-537" title="clusterbug" src="http://maxb.net/blog/wp-content/uploads/2010/03/many1.png" alt=""  /></div>
<p>Triggering a ZoomOut and then a ZoomIn, the clusters will be slightly different than before. Increasing the number of clusters it&#8217;s clearer something went wrong.</p>
<div><img class="alignnone size-full wp-image-537" title="clusterbug" src="http://maxb.net/blog/wp-content/uploads/2010/03/many2.png" alt=""  /></div>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=567&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2010/03/29/markerclusterer-clearmarkers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jbgallery 2.0 &#8211; preview</title>
		<link>http://maxb.net/blog/2010/03/25/jbgallery-2-0-preview/</link>
		<comments>http://maxb.net/blog/2010/03/25/jbgallery-2-0-preview/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 16:26:09 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jbgallery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=595</guid>
		<description><![CDATA[DEMO]]></description>
			<content:encoded><![CDATA[<p><a href="http://maxb.net/scripts/jbgallery-2.0/docs/menuslider.html" target="_blank">DEMO</a></p>
<p style="text-align: center;"><a href="http://maxb.net/scripts/jbgallery-2.0/docs/menuslider.html" target="_blank"><img class="aligncenter size-full " title="jbgallery2" src="http://maxb.net/blog/wp-content/uploads/2010/03/jbgallery2.jpg" alt="" width="100%" /></a></p>
<p><img width="90" height="30" src="http://chart.apis.google.com/chart?chs=90x30&#038;cht=ls&#038;chf=bg,s,FFFFFF00&#038;chco=0077CC&#038;chd=t:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&#038;chds=0,0"/></p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=595&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2010/03/25/jbgallery-2-0-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jbgallery &#8211; Immagini da Picasa/Flickr via YQL</title>
		<link>http://maxb.net/blog/2010/03/18/jbgallery-immagini-da-picasaflickr-via-yql/</link>
		<comments>http://maxb.net/blog/2010/03/18/jbgallery-immagini-da-picasaflickr-via-yql/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 14:40:10 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jbgallery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[yql]]></category>
		<category><![CDATA[flikr]]></category>
		<category><![CDATA[picasa]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=581</guid>
		<description><![CDATA[DEMO PICASA FLICKR Pubblico due snippets di codice, per popolare jbgallery via Flickr o Picasa. Il vantaggio è avere a &#8220;costo zero&#8221; un backoffice per la gestione della galleria. ISTRUZIONI PER L&#8217;USO Includere gli script e il markup della demo, e configurare le variabili. PICASA var _n_albums = 10; var _account = 'massimiliano.balestrieri'; var _filter_album [...]]]></description>
			<content:encoded><![CDATA[<h3>DEMO</h3>
<ul>
<li><a href="http://maxb.net/scripts/jbgallery/docs/picasa.html" target="_blank">PICASA</a></li>
<li><a href="http://maxb.net/scripts/jbgallery/docs/flickr.html" target="_blank">FLICKR</a></li>
</ul>
<p>Pubblico due snippets di codice, per popolare  <a href="http://maxb.net/blog/2009/03/30/jbgallery-10/" target="_blank">jbgallery</a> via Flickr o Picasa.<br />
Il vantaggio è avere a &#8220;costo zero&#8221; un backoffice per la gestione della galleria.</p>
<h3>ISTRUZIONI PER L&#8217;USO</h3>
<p>Includere gli script e il markup della demo, e configurare le variabili.</p>
<h4>PICASA</h4>
<pre class="brush: jscript;">
var _n_albums = 10;
var _account = 'massimiliano.balestrieri';
var _filter_album = 'Japan2009009Persone';//false
</pre>
<p>Per Picasa configurare l&#8217;account, il numero di album da cui prendere le immagini, e l&#8217;eventuale filtro (impostato a false non ci sarà filtro) per visualizzare un solo album.</p>
<h4>FLICKR</h4>
<pre class="brush: jscript;">
var _photoset = '72157619533884851';
</pre>
<p>Per Flickr configurare il &#8220;photoset&#8221;*.</p>
<p><small>*<a href="http://www.flickr.com/photos/chiccafake/" target="_blank">Foto di Chicca Vancini</a></small></p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=581&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2010/03/18/jbgallery-immagini-da-picasaflickr-via-yql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Markerclusterer clearmarkers bug demo</title>
		<link>http://maxb.net/blog/2010/03/15/markerclusterer-clearmarkers-bug-demo/</link>
		<comments>http://maxb.net/blog/2010/03/15/markerclusterer-clearmarkers-bug-demo/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 10:31:51 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[gmaps]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[markerclusterer]]></category>
		<category><![CDATA[bugfix]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=536</guid>
		<description><![CDATA[ATTENTION : This post started from a mistake. Demos are updated with the correct use of clearMarkers (which is bug free). BUG FIX PATCH Carlo and I, working together on this application have met a problem hard to isolate and solve. Markerclusterer library (of gmaps-utility-library-dev) has a bug. Let me try to explain the problem. [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;font-weight:bold;border:3px dashed red;padding:5px;">
ATTENTION : This post started from a <a href="http://maxb.net/blog/2010/03/29/markerclusterer-clearmarkers/">mistake</a>.<br />
Demos are updated with the correct use of clearMarkers (which is bug free).
</div>
<ul>
<li><a target="_blank" href="http://maxb.net/scripts/markerclusterer/bug.html">BUG</a></li>
<li><a target="_blank" href="http://maxb.net/scripts/markerclusterer/fix.html">FIX</a></li>
<li><a target="_blank" href="http://perassi.org/quickhacks/mkp/mk.diff">PATCH</a></li>
</ul>
<p><a target="_blank" href="http://perassi.org/2009/12/01/markerclusterer-clearmarkers-bugfix/">Carlo</a> and I, working together on <a target="_blank" href="http://www.piemonteitalia.eu/index.php?option=com_mappet">this application</a> have met a problem hard to isolate and solve.</p>
<p>Markerclusterer library (of <a target="_blank" href="http://code.google.com/p/gmaps-utility-library-dev/">gmaps-utility-library-dev</a>) has a bug.<br />
Let me try to explain the problem.</p>
<p>Each cluster has an event associated with it (in fact, the click event on the cluster triggers the &#8220;zoom in&#8221; on the map and the cluster splits itself in markers or smaller clusters).<br />
When, from the outside (for example, within a form), I clean the map &#8211; map.clearOverlays(); &#8211; and then I refill it with a new search, I&#8217;m not able anymore to destroy the clusters.<br />
It seems the clusters are disappeared but, in fact, zooming in or out, they come back.<br />
Look at the two following pictures.</p>
<h3>STEP 1</h3>
<div><img class="alignnone size-full wp-image-537" title="clusterbug" src="http://maxb.net/blog/wp-content/uploads/2010/03/bugstep1.png" alt="" /></div>
<h3>STEP 2</h3>
<div><img class="alignnone size-full wp-image-537" title="clusterbug" src="http://maxb.net/blog/wp-content/uploads/2010/03/bugstep2.png" alt=""  /></div>
<h3>ZOOM OUT</h3>
<div><img class="alignnone size-full wp-image-537" title="clusterbug" src="http://maxb.net/blog/wp-content/uploads/2010/03/bugstep3.png" alt=""  /></div>
<p>The first and second picture shows the clusters correctly.<br />
The third picture instead (<a target="_blank" href="http://maxb.net/scripts/markerclusterer/bug.html">demo bug</a>) shows the clusters of the second search <strong>AND</strong> the ones of the first (after having done &#8220;zoom out&#8221;).</p>
<p>The whole thing is due to a bug in the JavaScript garbage collection (I suppose&#8230;).<br />
The object has been &#8220;subscribed&#8221; to an event. The object is destroyed but after the first trigger of that event, the object come back.</p>
<p>To fix this strange bug (it&#8217;s even hard to reproduce it, without a form!) it&#8217;s mandatory to provide to the markerclusterer library a method to correctly destroy the clusters.<br />
The <a href="http://perassi.org/quickhacks/mkp/mk.diff" target="blank">patch</a> (the diff file has been written again the 1159 revision) adds the destroy method.<br />
Before doing a new search, it is required to call</p>
<pre class="brush: jscript;">
map.clearOverlays();
</pre>
<p>AND</p>
<pre class="brush: jscript;">
markerCluster.destroy();
</pre>
<p>where markerCluster is your instance of MarkerClusterer(map, points);</p>
<div>
The destroy() method calls:
</div>
<pre class="brush: jscript;">
this.clearMarkers();
GEvent.removeListener(mcfn_);
mcfn_ = null;
me_ = null;
</pre>
<p>I reported the <a href="http://code.google.com/p/gmaps-utility-library-dev/issues/detail?id=196" target="_blank">bug</a> to the developers with a demo of the bug itself (and a second demo with the fix). I hope my patch could help people to not get mad on it.</p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=536&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2010/03/15/markerclusterer-clearmarkers-bug-demo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MarkerClusterer clearMarkers bugfix</title>
		<link>http://maxb.net/blog/2009/12/01/markerclusterer-clearmarkers-bugfix/</link>
		<comments>http://maxb.net/blog/2009/12/01/markerclusterer-clearmarkers-bugfix/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 13:24:44 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=521</guid>
		<description><![CDATA[ATTENTION : This post started from a mistake. Demos are updated with the correct use of clearMarkers (which is bug free). (This should be a crosspost written with Carlo) It seems that MarkerClusterer has a bug, fixed with this patch (*) written by me while I was hunting with Carlo for it on this application [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;font-weight:bold;border:3px dashed red;padding:5px;">
ATTENTION : This post started from a <a href="http://maxb.net/blog/2010/03/29/markerclusterer-clearmarkers/">mistake</a>.<br />
Demos are updated with the correct use of clearMarkers (which is bug free).
</div>
<p>(This should be a crosspost written with <a target="_blank" href="http://perassi.org/2009/12/01/markerclusterer-clearmarkers-bugfix/">Carlo</a>)</p>
<p>It seems that <a target="_blank" href="http://gmaps-utility-library-dev.googlecode.com/svn/tags/markerclusterer/1.0/docs/reference.html">MarkerClusterer</a> has a bug, fixed with <a href="http://perassi.org/quickhacks/mkp/mk.diff" target="_blank">this patch</a> (*) written by me while I was hunting with Carlo for it on <a href="http://www.piemonteitalia.eu/index.php?option=com_mappet" target="_blank" >this application</a> (now working fine): after the ajax submit and zooming out, the library was still displaying old clusters and markers, because, after destroying MarkerClusterer, the event assigned to GEvent wasn&#8217;t correctly removed.</p>
<p>(*) the patch is created against the r1159 version on <a href="http://code.google.com/p/gmaps-utility-library-dev/" target="_blank">gmaps-utility-library-dev</a>.</p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=521&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2009/12/01/markerclusterer-clearmarkers-bugfix/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Hanno i soldi, vogliono vivere in una zucca. Lasciali vivere in una zucca.</title>
		<link>http://maxb.net/blog/2009/11/17/hanno-i-soldi-vogliono-vivere-in-una-zucca-lasciali-vivere-in-una-zucca/</link>
		<comments>http://maxb.net/blog/2009/11/17/hanno-i-soldi-vogliono-vivere-in-una-zucca-lasciali-vivere-in-una-zucca/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 10:14:19 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[cinema]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=515</guid>
		<description><![CDATA[Foley: voglio vedere i disegni della facciata perchè state per commettere uno sbaglio grosso quanto una casa. Cosa aspetta prenda il progetto! Capo cantiere: chi è lei? Foley: fermo giù quella tavola! Foley: Axel Foley ispettore dell&#8217;edilizia di Beverly Hills. Non l&#8217;hanno avvisata? Capo cantiere: no Foley : non l&#8217;hanno fatto? Capo cantiere: no Foley: [...]]]></description>
			<content:encoded><![CDATA[<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/v6ExLL0OXkw&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/v6ExLL0OXkw&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<div class="sc">
<p>
Foley: voglio vedere i disegni della facciata perchè state per commettere uno sbaglio grosso quanto una casa. Cosa aspetta prenda il progetto!<br />
Capo cantiere: chi è lei?<br />
Foley: fermo giù quella tavola!<br />
Foley: Axel Foley ispettore dell&#8217;edilizia di Beverly Hills. Non l&#8217;hanno avvisata?<br />
Capo cantiere: no<br />
Foley : non l&#8217;hanno fatto?<br />
Capo cantiere: no<br />
Foley: vada a prendere il progetto<br />
Capo cantiere: ok<br />
Foley: ehi voi smettetela di lavorare<br />
Capo cantiere: ora lo prendo<br />
Foley: siete sordi non capite ho detto &#8220;basta lavorare&#8221;<br />
Foley: mi faccia vedere<br />
Capo cantiere: ecco qui<br />
Foley: ehi un momento un momento<br />
Foley: non è questo <br />
Capo cantiere: cosa?<br />
Foley : non è questo.<br />
Capo cantiere: cosa intende?<br />
Foley: questo è un altro progetto<br />
Capo cantiere: un altrooo?<br />
Foley: certo questo è quello vecchio<br />
Capo cantiere: vecchio?<br />
Foley: si il vecchio progetto<br />
Capo cantiere: ma che diavolo sta&#8230;<br />
Foley: non è venuto alla riunione<br />
Capo cantiere: no<br />
Foley: degli Andersson prima che andassero alle Hawaii<br />
Capo cantiere: noo!<br />
Foley: nessuno gliel&#8217;ha fatto sapere<br />
Capo cantiere: noooo!<br />
Foley: beh io c&#8217;ero. Il progetto è cambiato<br />
Capo cantiere: io non ne so niente<br />
Foley: gli Andersson prima di partire per le Hawaii hanno scelto un altro disegno. Uno più bello con il campanile&#8230;<br />
Capo cantiere: oh merda<br />
Foley: dall&#8217;edificio devono sparire tutti quegli angoli retti<br />
Capo cantiere: mi scusi<br />
Foley: lei lei&#8230;<br />
Foley: fermi ragazzi<br />
Capo cantiere: fermi ragazzi!<br />
Foley: lei ha rovinato la casa di quella gente<br />
Foley: adesso dovremo ricominciare i lavori dall&#8217;inizio<br />
Capo cantiere: senza angoli retti diventerà rotonda come una zucca<br />
Foley: ma che fa lei l&#8217;architetto?<br />
Capo cantiere: no<br />
Foley: hanno i soldi vogliono vivere in una zucca. Lasciali vivere in una zucca. La gente fa i soldi e perde la testa. Si svegliano e vogliono una casa rotonda<br />
Capo cantiere: si ha ragione<br />
Foley: e tu fagliela tanto ti pagano!
</p>
</div>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=515&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2009/11/17/hanno-i-soldi-vogliono-vivere-in-una-zucca-lasciali-vivere-in-una-zucca/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Un&#8217; idea di plugin: jCropMap</title>
		<link>http://maxb.net/blog/2009/11/12/un-idea-di-plugin-jcropmap/</link>
		<comments>http://maxb.net/blog/2009/11/12/un-idea-di-plugin-jcropmap/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 18:12:52 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[jcrop]]></category>
		<category><![CDATA[jcropmap]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=481</guid>
		<description><![CDATA[SOMMARIO Per chi non avesse la pazienza di leggere, o per chi semplicemente non è italiano, o per gli autori di Jcrop, qui sotto c&#8217;è un elenco di link in cui i linguaggi sono universali:  html, javascript (jQuery) e qualche proprietà di css. esempio base inserire le aree visualizzare le aree inserite esempio con shapes [...]]]></description>
			<content:encoded><![CDATA[<h3>SOMMARIO</h3>
<p>Per chi non avesse la pazienza di leggere, o per chi semplicemente non è italiano, o per gli autori di <a href="http://deepliquid.com/projects/Jcrop/demos.php" target="_blank">Jcrop</a>, qui sotto c&#8217;è un elenco di link in cui i linguaggi sono universali:  html, javascript (jQuery) e qualche proprietà di css.</p>
<ul>
<li><a href="http://maxb.net/scripts/jcropmap/demo.html" target="_blank">esempio base</a></li>
<li><a href="http://maxb.net/scripts/jcropmap/edit.html" target="_blank">inserire le aree</a></li>
<li><a href="http://maxb.net/scripts/jcropmap/show.html" target="_blank">visualizzare le aree inserite</a></li>
<li><a href="http://maxb.net/scripts/jcropmap/demo2.html" target="_blank">esempio con shapes disegnate</a></li>
<li><a href="http://maxb.net/scripts/jcropmap/release.html" target="_blank">trigger dell&#8217;evento release</a></li>
</ul>
<h3>DOWNLOAD</h3>
<p>
<a href="http://maxb.net/scripts/jcropmap/jcropmap.zip" target="_blank">DEMOS</a>
</p>
<h3>IL TAG MAP</h3>
<p>Il tag <a href="http://www.w3schools.com/TAGS/tag_map.asp" target="_blank">map</a>, e il &#8220;sottotag&#8221; <a href="http://www.w3schools.com/TAGS/tag_area.asp" target="_blank">area</a> permettono di &#8220;disegnare&#8221; link all&#8217;interno di un immagine.</p>
<pre><code class="html">

&lt;img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" /&gt;

&lt;map name="planetmap"&gt;
  &lt;area shape="rect" coords="0,0,82,126" alt="Sun" href="sun.htm" /&gt;
  &lt;area shape="circle" coords="90,58,3" alt="Mercury" href="mercur.htm" /&gt;
  &lt;area shape="circle" coords="124,58,8" alt="Venus" href="venus.htm" /&gt;
&lt;/map&gt;
</code></pre>
<p><a href="http://www.w3schools.com/TAGS/tryit.asp?filename=tryhtml_areamap" target="_blank">Qui</a> c&#8217;è un esempio di utilizzo.</p>
<h3>LIMITI DEL TAG MAP</h3>
<p>Il limite principale di questo tag è a mio modo di vedere l&#8217;impossibilità di applicare stili ai tag &#8220;AREA&#8221; presenti all&#8217;interno.<br />
In pratica l&#8217;<strong>unico indizio</strong> visivo del link all&#8217;interno di una certa porzione di immagine, che viene dato all&#8217;utente, <strong>è il cursore</strong>.<br />
Non è possibile anche solo applicare bordi.<br />
Tutto questo fondamentalmente perchè il tag map permette di creare aree di tipo &#8220;rect&#8221; (e non sarebbe un problema per un browser disegnarne il bordo), &#8220;circle&#8221;, &#8220;poly&#8221;.<br />
Quindi il browser dovrebbe saper disegnare (canvas).</p>
<p>Altro limite, ma non direttamente del tag, è la difficoltà di scrivere le coordinate.</p>
<h3>ALTERNATIVE AL TAG MAP</h3>
<p><a href="http://www.alistapart.com/articles/cssmaps/" target="_blank">Listapart</a> ci aveva già pensato, e suggerisce di creare qualcosa di completamente diverso. Javascript legge una lista, disegna dei punti in posizione assoluta, e al click (o al mouseover) visulizza un tooltip.</p>
<p>L&#8217;idea è quella.</p>
<p>Siccome il mio problema comunque, era di dare in mano ad un redattore uno strumento per inserire i punti, ho iniziato a fare scouting di plugins che disegnassero aree sopra un&#8217; immagine.</p>
<h3>JQUERY JCROP</h3>
<p>Ecco che arrivo a <a href="http://deepliquid.com/projects/Jcrop/demos.php" target="_blank">Jcrop</a>.</p>
<p>Jcrop è un plugin <a href="http://jquery.com/" target="_blank">jQuery</a> principalmente pensato per tagliare immagini.</p>
<p>Inizialmente non pensavo di usarlo come sostituto dei tag map/area.</p>
<p>Pensavo solo di usare le coordinate che <a href="http://deepliquid.com/projects/Jcrop/demos.php?demo=handler" target="_blank">restuitiva</a>, salvarle nel database e successivamente creare le aree lato &#8220;frontoffice&#8221; leggendo dal database le coordinate salvate dal redattore della mappa.</p>
<p>Quindi l&#8217;avevo scelto come strumento di backoffice.</p>
<p><a href="http://deepliquid.com/projects/Jcrop/demos.php?demo=handler" target="_blank">Qui</a> un semplice utilizzo di Jcrop con le coordinate restituite in campi form.</p>
<h3>JCROP COME SOSTITUTO DEL TAG MAP</h3>
<p>Alla fine anche per la presentazione ho deciso di provare ad utilizzare il plugin.</p>
<p><a href="http://maxb.net/scripts/jcropmap/demo.html" target="_blank">Questo</a> è il risultato.</p>
<p>Una serie di link presi da una lista con le coordinate passate via <a href="http://docs.jquery.com/Plugins/Metadata" target="_blank">metadata</a>.</p>
<p>L&#8217;implementazione è  semplice (anche se le coordinate non sono proprio user-frendly).</p>
<h3>L&#8217;ESEMPIO BASE</h3>
<p><strong>Il container:</strong></p>
<pre><code class="html">
&lt;div class="jcropmap"&gt;&lt;/div&gt;
</code></pre>
<p><strong>L&#8217;immagine:</strong></p>
<pre><code class="html">
&lt;img src="img/italia2006.jpg" alt="italia2006" /&gt;
</code></pre>
<p><strong>La lista di aree: </strong></p>
<pre><code class="html">
&lt;ul&gt;
	&lt;li&gt;&lt;a class="{coords : [33,111,75,176,42,65]}" href="#"&gt;Gattuso&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [93,104,144,180,51,76]}" href="#"&gt;Pirlo&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [171,103,224,183,53,80]}" href="#"&gt;Zambrotta&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [245,102,318,191,73,89]}" href="#"&gt;Camoranesi&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [326,100,397,190,71,90]}" href="#"&gt;Cannavaro&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [402,98,456,174,54,76]}" href="#"&gt;Perrotta&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [410,14,464,90,54,76]}" href="#"&gt;Totti&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [345,7,399,83,54,76]}" href="#"&gt;Grosso&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [274,4,328,80,54,76]}" href="#"&gt;Toni&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [211,4,265,80,54,76]}" href="#"&gt;Barzagli&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a class="{coords : [149,2,203,78,54,76]}" href="#"&gt;Buffon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<p><strong>Il JS NELL&#8217;HEAD:</strong></p>
<pre><code class="javascript">
jQuery(window).load(function(){
	jQuery(".jcropmap").jcropmap();
});
</code></pre>
<p>NB:</p>
<p>non ci sono regole forti per questo plugin per la struttura html. L&#8217; importante è scegliere una classe o un id per il wrapper container e richiamarla nell&#8217;head quando si avvia il costruttore. All&#8217;interno di questo wrapper ricordarsi solo che i link vengono cercati all&#8217;interno di un ul, e l&#8217;immagine DEVE avere come classe jcropbox (sovrascrivibile da opzione).</p>
<h3>CREARE LE AREE</h3>
<p>Visto che non è proprio semplice scrivere le coordinate delle aree, ho creato una <a href="http://maxb.net/scripts/jcropmap/edit.html" target="_blank">demo</a> con una banale gestione della sessione.</p>
<p><strong>Questa demo non è un plugin</strong>.</p>
<p>E&#8217; solo uno <strong>spunto</strong> per crearsi la propria gestione dei link.</p>
<p>Sarà quindi necessario implementare un servizio che ad esempio salvi le informazioni su db.</p>
<h3>VISUALIZZARE IL RISULTATO</h3>
<p>Una volta inserite le coordinate nella <a href="http://maxb.net/scripts/jcropmap/edit.html" target="_blank">demo</a> precedente, potrete vedere il risultato dei vostri &#8220;tag&#8221; <a href="http://maxb.net/scripts/jcropmap/show.html" target="_blank">qui</a>.</p>
<h3>EXTRA : SHAPES, OPTIONS, RELEASE</h3>
<p>Ho aggiunto anche la possibilità di visualizzare le aree all&#8217;interno del &#8220;viewport&#8221; di Jcrop, e di sovrascrivere le opzioni che vengono passate. Un <a href="http://maxb.net/scripts/jcropmap/demo2.html" target="_blank">esempio</a>.</p>
<p><a href="http://maxb.net/scripts/jcropmap/release.html" target="_blank">Qui</a> invece mostro come ho agganciato il metodo release dell&#8217;oggetto costruito all&#8217;interno del plugin (click sul body).</p>
<p>Non è una tecnica pulitissima. Ma nemmeno quella di Jcrop mi sembra elegante.</p>
<h3>FEEDBACK</h3>
<p>Se ci sarà un certo riscontro a questo post, magari versionerò il plugin, esporrò meglio le opzioni, e magari anche un API pubblica di metodi.</p>
<p>Fino ad allora per maggiori informazioni o chiedete qui postando un commento, oppure guardate il <a href="http://maxb.net/scripts/jcropmap/jcropmap.js" target="_blank">codice sorgente</a>.</p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=481&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2009/11/12/un-idea-di-plugin-jcropmap/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JCVD &#8211; Un’autentica e folgorante rivelazione</title>
		<link>http://maxb.net/blog/2009/11/09/jcvd-un%e2%80%99autentica-e-folgorante-rivelazione/</link>
		<comments>http://maxb.net/blog/2009/11/09/jcvd-un%e2%80%99autentica-e-folgorante-rivelazione/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:53:06 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[cinema]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=469</guid>
		<description><![CDATA[Ieri mi è capitato di vedere questo piccolo capolavoro. Non sono un grande appassionato del genere 400 calci ma questa è veramente una chicca. Piano sequenza iniziale memorabile. Colonna sonora da pelle d&#8217;oca: &#8220;Hard Times&#8221; Written by Curtis Mayfield Performed by Baby Huey &#038; the Babysitters Bravo Jean Claude e soprattutto bravo Mabrouk El Mechri [...]]]></description>
			<content:encoded><![CDATA[<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/mmunsnKFlsc&#038;hl=it&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mmunsnKFlsc&#038;hl=it&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Ieri mi è capitato di vedere questo piccolo capolavoro.</p>
<p>Non sono un grande appassionato del genere <a href="http://www.i400calci.com/" target="_blank">400 calci</a> ma questa è veramente una chicca.</p>
<p>Piano sequenza iniziale memorabile. Colonna sonora da pelle d&#8217;oca:</p>
<blockquote><p>&#8220;Hard Times&#8221;<br />
Written by Curtis Mayfield<br />
Performed by Baby Huey &#038; the Babysitters</p></blockquote>
<p>Bravo Jean Claude e soprattutto bravo Mabrouk El Mechri il regista.</p>
<p>Qui una <a href="http://www.cineblog.it/post/13294/festival-internazionale-del-film-di-roma-jcvd-recensione-in-anteprima" target="_blank">recensione</a> che vi invoglierà a cercarlo.</p>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=469&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2009/11/09/jcvd-un%e2%80%99autentica-e-folgorante-rivelazione/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle + Lampp + Jaunty</title>
		<link>http://maxb.net/blog/2009/10/05/oracle-lampp-jaunty/</link>
		<comments>http://maxb.net/blog/2009/10/05/oracle-lampp-jaunty/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 07:35:51 +0000</pubDate>
		<dc:creator>Massimiliano Balestrieri</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://maxb.net/blog/?p=463</guid>
		<description><![CDATA[Venerdi ho dovuto installare il client Oracle in locale sulla mia Ubuntu Jaunty. Premetto che uso il pacchetto Lampp (1.7.2) fornito da ApacheFriends. Ho tribolato parecchio facendo varie prove e seguendo vari tutorial. Il problema principale, poi ho capito, è che lo script di installazione di oci8 (il driver php per accedere a oracle) presente [...]]]></description>
			<content:encoded><![CDATA[<p>Venerdi ho dovuto installare il client Oracle in locale sulla mia Ubuntu Jaunty.<br />
Premetto che uso il pacchetto Lampp (1.7.2) fornito da <a href="http://www.apachefriends.org/download.php?xampp-linux-1.7.2.tar.gz" target="_blank">ApacheFriends</a>.<br />
Ho tribolato parecchio facendo varie prove e seguendo vari tutorial. Il problema principale, poi ho capito, è che lo script di installazione di oci8 (il driver php per accedere a oracle) presente su lampp cerca un client oracle della serie 10.2.<br />
Inizialmente scaricando rpm e zip della serie 11.2 (l&#8217;ultima disponibile) ho avuto tutta una serie di problemi.<br />
<br />
Ecco quindi i passaggi che mi hanno portato finalmente ad avere oci_connect funzionante nel mio php.<br />
</p>
<p>Dopo aver scaricato il client oracle da <a href="http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html" target="_blank">qui</a> (occorre registrarsi), ho eseguito questi passi:</p>
<pre><code>
mkdir -p /opt/oracle/instantclient
cd /opt/oracle/instantclient
unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip
unzip oracle-instantclient-devel-10.2.0.4-1.i386.zip
ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig
sudo /opt/lampp/lampp oci8
</code></pre>
<img src="http://maxb.net/blog/?ak_action=api_record_view&id=463&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://maxb.net/blog/2009/10/05/oracle-lampp-jaunty/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
