<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.yuiblog.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.yuiblog.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.3.3" --><rss 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/" version="2.0">

<channel>
	<title>Yahoo! User Interface Blog » Development</title>
	<link>http://yuiblog.com/blog</link>
	<description>News and Artilces about Designing and Developing with Yahoo! Libraries.</description>
	<pubDate>Thu, 15 May 2008 15:10:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.yuiblog.com/yuiblog/development" type="application/rss+xml" /><item>
		<title>Tutorial: Implementing Instant Search with YUI AutoComplete and the Yahoo Search API</title>
		<link>http://yuiblog.com/blog/2008/05/15/search-suggest/</link>
		<comments>http://yuiblog.com/blog/2008/05/15/search-suggest/#comments</comments>
		<pubDate>Thu, 15 May 2008 14:38:45 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/05/15/search-suggest/</guid>
		<description><![CDATA[
O&#8217;Reilly&#8217;s InsideRIA blog has a feature up that steps through the creation from scratch of a sample YUI implementation.  The sample application implements an Instant Search feature using YUI AutoComplete backed by the Yahoo! Web Search API. This is the same treatment we use on the YUI web site to power the search box [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.insideria.com/2008/05/writing-your-first-yui-applica.html"><img src="http://yuiblog.com/assets/insideria.png" alt="Visit 'Writing Your First YUI Application' on InsideRIA" width="510" height="230"></a></p>
<p><a href="http://www.insideria.com/2008/05/writing-your-first-yui-applica.html"><img src="http://yuiblog.com/assets/searchsuggest.png" alt="The instant-search interface on the YUI website." width="280" height="148" hspace="10" vspace="5" align="right"></a>O&#8217;Reilly&#8217;s InsideRIA blog <a href="http://www.insideria.com/2008/05/writing-your-first-yui-applica.html">has a feature up that steps through the creation from scratch of a sample YUI implementation</a>.  The sample application implements an Instant Search feature using <a href="http://developer.yahoo.com/yui/autocomplete/">YUI AutoComplete</a> backed by the <a href="http://developer.yahoo.com/search/web/V1/webSearch.html">Yahoo! Web Search API</a>. This is the same treatment we use on the YUI web site to power the search box at the top right corner of the header. It searches <code>developer.yahoo.com</code> and <code>yuiblog.com</code> for relevant content and populates the AutoComplete suggestion container with likely destinations based on what&#8217;s been typed in the search field.  The tutorial shows you how to apply this treatment to your own site while searching the domain or domains of interest to your users.</p>
<p>The InsideRIA piece is cast as an introduction to YUI for those who have not explored the library, so check out the first few sections in particular if you&#8217;re looking for a compact YUI overview.  If you&#8217;re an experienced YUI implementer interested in the the Instant Search functionality, skip to the &#8220;Building Your First Application&#8221; section about a third of the way in.</p>
<p class="tags">Tags: <a href="http://technorati.com/tag/yui" title="See the Technorati tag page for 'yui'." rel="tag">yui</a>, <a href="http://technorati.com/tag/instant-search" title="See the Technorati tag page for 'instant-search'." rel="tag">instant-search</a>, <a href="http://technorati.com/tag/autocomplete" title="See the Technorati tag page for 'autocomplete'." rel="tag">autocomplete</a>, <a href="http://technorati.com/tag/yahoo+search" title="See the Technorati tag page for 'yahoo search'." rel="tag">yahoo search</a>, <a href="http://technorati.com/tag/api" title="See the Technorati tag page for 'api'." rel="tag">api</a></p><div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=8GbYpH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=8GbYpH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=qTtVgH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=qTtVgH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=zb4C9H"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=zb4C9H" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=lxWReh"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=lxWReh" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/05/15/search-suggest/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Two Job Openings on the YUI Team</title>
		<link>http://yuiblog.com/blog/2008/05/14/yui-jobs/</link>
		<comments>http://yuiblog.com/blog/2008/05/14/yui-jobs/#comments</comments>
		<pubDate>Wed, 14 May 2008 15:26:25 +0000</pubDate>
		<dc:creator>Eric Miraglia and Adam Moore</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/05/14/yui-jobs/</guid>
		<description><![CDATA[The YUI Team at Yahoo is set to grow &#8212; we&#8217;ve opened up two new engineering positions to help improve, evolve, and expand YUI. Interested? Email your resume, including portfolio URLs, to yui-jobs /at/ yahoo /dash/ inc /dot/ com. (Principals only; no recruiters, please.)
Here&#8217;s what we&#8217;re looking for in these positions:

A  passion for the [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://yuiblog.com/assets/yuilib.jpg" width="260" height="161" align="right" hspace="10" vspace="5">The YUI Team at Yahoo is set to grow &mdash; we&#8217;ve opened up two new engineering positions to help improve, evolve, and expand YUI. Interested? Email your resume, including portfolio URLs, to yui-jobs /at/ yahoo /dash/ inc /dot/ com. (Principals only; no recruiters, please.)</p>
<p>Here&#8217;s what we&#8217;re looking for in these positions:</p>
<ul>
<li>A  passion for the web and for building great web-based products;</li>
<li>A profound understanding of the frontend discipline (JavaScript, CSS, semantic markup, XHR, etc.);</li>
<li>The ability to design, build, evangelize and support fantastic APIs for web developers;</li>
<li>The empathy to care deeply about how developers make use of your work and to be driven to help the YUI community thrive.</li>
</ul>
<p>Full job descriptions for the positions are <strong><a href="http://hotjobs.yahoo.com/job-JVDGMEHIJU0;_ylt=AgCL_0eQr2ELoBZkUNpzm0T6Q6IX?search_url=/job-search-l-Sunnyvale-CA-k-yui">here</a></strong> and <strong><a href="http://hotjobs.yahoo.com/job-JUI3X3ZCS11;_ylt=AmidGseApSe6JJtVOPqU.WT6Q6IX?search_url=/job-search-k-yahoo-t-today">here</a></strong>.</p>
<p>We&#8217;ve had the  privilege to be with this team from its early months when it was organized to help Yahoo develop and curate a world-class library of JavaScript and CSS code. Some of Yahoo&#8217;s most talented engineers — people like <a href="http://video.yahoo.com/video/play?vid=111579">Matt Sweeney</a> and <a href="http://video.yahoo.com/video/play?vid=1373808">Nate Koechley</a> — have also been with the group since those early months. In the three years since its inception, more great engineers have joined us. YUI&#8217;s founder and first architect, Thomas Sha, continues to direct the project. We get to work every day with people like <a href="http://video.yahoo.com/video/play?vid=529579">Douglas Crockford</a>, the creator of JSON, and <a href="http://en.wikipedia.org/wiki/Rasmus_Lerdorf">Rasmus Lerdorf</a>, the creator of PHP. It&#8217;s no place for hobbyist coders, but if you take seriously the idea of the web as a place to create great software it&#8217;s a singularly energizing community in which to work.</p>
<p>If that sounds like you, we&#8217;d love to hear from you.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=bs68RH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=bs68RH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=raXK5H"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=raXK5H" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=sF7waH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=sF7waH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=hpLxih"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=hpLxih" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/05/14/yui-jobs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>inputEx — a YUI-based Forms Utility</title>
		<link>http://yuiblog.com/blog/2008/05/08/inputex/</link>
		<comments>http://yuiblog.com/blog/2008/05/08/inputex/#comments</comments>
		<pubDate>Fri, 09 May 2008 00:04:40 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/05/08/inputex/</guid>
		<description><![CDATA[
Parisian coder Eric Abouaf (aka &#8220;Neyric&#8221;) released version 0.1.0 of his YUI-based forms library, inputEx.
As of this release, inputEx supports only client-side-generated views &#8212; form fields are configured in a JSON format and created for you on the fly. Eric identifies the following unique features in inputEx:


complex data structures (list/objects/tree/list of urls/objects of objects etc&#8230;)
composition [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://javascript.neyric.com/blog/2008/05/07/inputex-010-released/"><img src="http://yuiblog.com/assets/inputx.png" alt="Click through to visit the announcement for inputEx v. 0.1.0" width="510" height="236" ></a></p>
<p>Parisian coder Eric Abouaf (aka &#8220;Neyric&#8221;) <a href="http://javascript.neyric.com/blog/2008/05/07/inputex-010-released/">released version 0.1.0</a> of his YUI-based forms library, <a href="http://javascript.neyric.com/inputex/">inputEx</a>.</p>
<p>As of this release, inputEx supports only client-side-generated views &mdash; form fields are configured in a JSON format and created for you on the fly. Eric identifies the following unique features in inputEx:</p>
<blockquote>
<ul>
<li><strong>complex data structures</strong> (list/objects/tree/list of urls/objects of objects etc&#8230;)</li>
<li><strong>composition</strong> between the fields (for &#8220;meta&#8221;-fields such as InPlaceEdit, List, Tree, Pair, &#8230;)</li>
<li><strong>javascript object mapping</strong> for greater interactivity</li>
<li>a <strong>common &#8220;updated&#8221; event</strong> to handle different browsers and different field interactions</li>
</ul>
</blockquote>
<p>Eric has <a href="http://javascript.neyric.com/inputex/doc/js_docs_out/index.html">API docs</a>, a <a href="http://javascript.neyric.com/inputex/doc/js_docs_out/getting_started.html">Getting Started</a> tutorial, <a href="http://javascript.neyric.com/inputex/doc/js_docs_out/examples.html">examples</a>, and more <a href="http://javascript.neyric.com/inputex/">on the website</a>.  He&#8217;s looking for contributors, if you&#8217;re interested in extending the library; check out the website for full details on the project.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=SFCFQH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=SFCFQH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=g7MiZH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=g7MiZH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=1Q8UFH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=1Q8UFH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=r8dYph"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=r8dYph" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/05/08/inputex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Yahoo! Juku: Calling Tomorrow’s Front-End Rock Stars</title>
		<link>http://yuiblog.com/blog/2008/05/05/juku-2/</link>
		<comments>http://yuiblog.com/blog/2008/05/05/juku-2/#comments</comments>
		<pubDate>Mon, 05 May 2008 22:41:08 +0000</pubDate>
		<dc:creator>Nick Fogler</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/05/05/juku-2/</guid>
		<description><![CDATA[A few months ago, we posted an article describing an innovative training program here at Yahoo called the &#8220;Juku.&#8221;  The basic premise of the Juku is to help fill the void of professional-grade Front-End Web Development training.  Our motives for doing this are at least a little selfish: The program provides us with [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago, we posted <a href="http://yuiblog.com/blog/2007/12/06/juku/">an article describing an innovative training program here at Yahoo called the &#8220;Juku.&#8221;</a>  The basic premise of the Juku is to help fill the void of professional-grade Front-End Web Development training.  Our motives for doing this are at least a little selfish: The program provides us with a stream of talent well-versed in skills that tend to be challenging to source and hire.  On the flip-side, we remain committed to using the program as a platform to further the state of Front End Engineering for the entire development community.</p>
<p>The training curriculum includes semantic HTML, CSS, JavaScript, DOM, YUI, PHP, accessibility, performance, and more.  Juku trainees are full-time Yahoo employees, and upon completion of training they move on to roles within the Yahoo network as Front End Engineers.  Last fall, we piloted the program with a group of 13 students and the results have been overwhelmingly positive.</p>
<p>We&#8217;re excited to announce that we currently have a few openings to join our next 10-week training session beginning in mid-June in Sunnyvale, California.  If you&#8217;re a budding Front-End genius with a strong background in programming fundamentals and a passion to learn, <a href="https://yahoo.recruitmax.com/MAIN/careerportal/Job_Profile.cfm?szOrderID=14954&#038;szReturnToSearch=1&#038;szWordsToHighlight">we’d like to hear from you</a>.  But, the good news is you don’t have to work for Yahoo to benefit from Juku training: The lecture portions of the training will be videotaped for distribution via the <a href="http://developer.yahoo.com">Yahoo! Developer Network</a> later this summer.</p>
<p>To apply for a spot in the next Juku training session, check the <a href="https://yahoo.recruitmax.com/MAIN/careerportal/Job_Profile.cfm?szOrderID=14954&#038;szReturnToSearch=1&#038;szWordsToHighlight">job posting</a>. Applications must be received by May 15th.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=x4SWXH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=x4SWXH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=u2qJFH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=u2qJFH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=A36VNH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=A36VNH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=O8v2bh"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=O8v2bh" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/05/05/juku-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Free Chapter from Douglas Crockford’s “JavaScript: The Good Parts”</title>
		<link>http://yuiblog.com/blog/2008/05/05/crockford-inheritance/</link>
		<comments>http://yuiblog.com/blog/2008/05/05/crockford-inheritance/#comments</comments>
		<pubDate>Mon, 05 May 2008 15:51:16 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/05/05/crockford-inheritance/</guid>
		<description><![CDATA[The #2 book on Amazon&#8217;s JavaScript shelf this morning is Douglas Crockford&#8217;s forthcoming Javascript: The Good Parts (currently available for preorder and due for release later this month).  In this volume, Douglas articulates a philosophy of coding in JavaScript that builds up on and extends the content of his popular video series and articles. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://yuiblog.com/assets/pdf/crockford-good-parts-ch-5.pdf"><img src="http://yuiblog.com/assets/crockford-cover.png" alt="Click through to read Ch. 5 of Douglas's forthcoming book." width="300" height="385" hspace="5" align="right"></a>The <a href="http://www.amazon.com/gp/bestsellers/books/3617/ref=pd_zg_hrsr_b_1_5_last">#2 book on Amazon&#8217;s JavaScript shelf</a> this morning is Douglas Crockford&#8217;s forthcoming <em><a href="http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/">Javascript: The Good Parts</a></em> (currently available for preorder and due for release later this month).  In this volume, Douglas articulates a philosophy of coding in JavaScript that builds up on and extends the content of his <a href="http://developer.yahoo.com/yui/theater/">popular video series</a> and <a href="http://crockford.com/javascript/">articles</a>. The premise, as Douglas puts it: &quot;Most programming languages contain good parts and bad parts. I discovered that I could be a better programmer by using only the good parts and avoiding the bad parts.&quot;</p>
<p>Douglas and his editors at O&#8217;Reilly were kind enought to let us offer a sneak preview of <em>JavaScript: The Good Parts </em>here:</p>
<ul>
<li><strong><a href="http://yuiblog.com/assets/pdf/crockford-good-parts-ch-5.pdf">Chapter 5: Inheritance</a></strong> &mdash; 1.2MB PDF</li>
</ul>
<p>Here&#8217;s how Douglas opens the discussion of inheritance in JavaScript:</p>
<blockquote>
<p>Inheritance is an important topic in most programming languages.</p>
<p>In the classical languages (such as Java), inheritance (or <code>extends</code>) provides two useful<br />
services. First, it is a form of code reuse. If a new class is mostly similar to an existing<br />
class, you only have to specify the differences. Patterns of code reuse are extremely<br />
important because they have the potential to significantly reduce the cost of software<br />
development. The other benefit of classical inheritance is that it includes the<br />
specification of a system of types. This mostly frees the programmer from having to<br />
write explicit casting operations, which is a very good thing because when casting,<br />
the safety benefits of a type system are lost.</p>
<p>JavaScript, being a loosely typed language, never casts. The lineage of an object is<br />
irrelevant. What matters about an object is what it can do, not what it is descended<br />
from.</p>
<p>JavaScript provides a much richer set of code reuse patterns. It can ape the classical<br />
pattern, but it also supports other patterns that are more expressive. The set of possible<br />
inheritance patterns in JavaScript is vast. In this chapter, we&#8217;ll look at a few of the<br />
most straightforward patterns. Much more complicated constructions are possible,<br />
but it is usually best to keep it simple.</p>
<p><a href="http://yuiblog.com/assets/pdf/crockford-good-parts-ch-5.pdf">Click here to keep reading</a> (1.2MB; PDF).</p>
</blockquote>
<p>Thanks to Laurel Ackerman and Simon St. Laurent at O&#8217;Reilly for the permission to share the sample chapter.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=Tl6kCH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=Tl6kCH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=yOCdeH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=yOCdeH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=EJxfIH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=EJxfIH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=2UxS6h"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=2UxS6h" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/05/05/crockford-inheritance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing a WYSIWYG Wiki Editor with YUI and Grails</title>
		<link>http://yuiblog.com/blog/2008/05/01/wiki-rte/</link>
		<comments>http://yuiblog.com/blog/2008/05/01/wiki-rte/#comments</comments>
		<pubDate>Thu, 01 May 2008 23:18:01 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Glen Smith]]></category>

		<category><![CDATA[Grails]]></category>

		<category><![CDATA[Rich Text Editor]]></category>

		<category><![CDATA[RTE]]></category>

		<category><![CDATA[textile-j]]></category>

		<category><![CDATA[wiki]]></category>

		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/05/01/wiki-rte/</guid>
		<description><![CDATA[
One of the challenges faced in creating and deploying Rich Text Editors is the number of markup formats you may need to support on the output side &#8212; ranging from HTML to Wiki-style text to purely idiosyncratic markup styles.  Dav worked hard on the YUI Rich Text Editor to make output transformations as straightforward [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.bytecode.com.au/glen/2008/05/01/writing-a-wysiwyg-wiki-editor-with-yui-and-grails.html"><img src="http://yuiblog.com/assets/wikirte-1.png" alt="Read Glen Smith's tutorial on using the YUI RTE to create and edit wiki text." width="510" height="197"></a></p>
<p><a href="http://blogs.bytecode.com.au/glen/2008/05/01/images/2008/wikiEditor.mov"><img src="http://yuiblog.com/assets/wikirte-2.png" alt="Check out Glen's screencast showing the editor in action." width="300" height="270" hspace="10" vspace="3" align="right"></a>One of the challenges faced in creating and deploying Rich Text Editors is the number of markup formats you may need to support on the output side &mdash; ranging from HTML to Wiki-style text to purely idiosyncratic markup styles.  Dav worked hard on <a href="http://developer.yahoo.com/yui/editor/">the YUI Rich Text Editor</a> to make output transformations as straightforward as possible.  (If you&#8217;re doing YUI RTE work and haven&#8217;t seen Dav&#8217;s video intro to the component, <a href="http://video.yahoo.com/watch/2359450/7378948">you can check it out here</a>.)</p>
<p>Glen Smith from Canberra shared some antipodean YUI goodness today with <a href="http://blogs.bytecode.com.au/glen/2008/05/01/writing-a-wysiwyg-wiki-editor-with-yui-and-grails.html">a quick tutorial on using the YUI RTE for editing Wiki text</a>.  He&#8217;s been using the <a href="http://grails.codehaus.org/YUI+Plugin">Grails YUI Plugin</a>, mixing in a little <a href="https://textile-j.dev.java.net/">textile-j</a>, and he&#8217;s got something working well enough for version 1:</p>
<blockquote>
<p>Turns out the recipe for making all this work is pretty straighforward:</p>
<ul>
<li>When switching from Wiki markup to HTML, do an Ajax call to a backend Grails controller that uses <a href="https://textile-j.dev.java.net/">textile-j</a> to convert from textile markup to html. Feed the result of the AJAX call to the YUI Rich Editor and you&#8217;re in business.</li>
<li>To support switching from RichText to Textile, again do an Ajax call back to the Grails controller to the do the conversion. This time you&#8217;re on your own in regexp land, but you can trim the amount of work you&#8217;ve got to do by what you expose in the Rich editor. Return the results and inject into the Wiki textarea. </li>
<li>To get the underlying html from the editor just use <code>myEditor.getEditorHTML()</code>. Awesome!</li>
</ul>
</blockquote>
<p>For more, check out Glen&#8217;s <a href="http://blogs.bytecode.com.au/glen/2008/05/01/writing-a-wysiwyg-wiki-editor-with-yui-and-grails.html">blog post</a> and accompanying <a href="http://blogs.bytecode.com.au/glen/2008/05/01/images/2008/wikiEditor.mov">QuickTime movie</a>.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=Btp9zH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=Btp9zH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=3xm6OH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=3xm6OH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=ct49LH"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=ct49LH" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=lQ4oJh"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=lQ4oJh" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/05/01/wiki-rte/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Unobtrusive Rollovers Using YUI</title>
		<link>http://yuiblog.com/blog/2008/04/28/unobtrusive-rollovers-using-yui/</link>
		<comments>http://yuiblog.com/blog/2008/04/28/unobtrusive-rollovers-using-yui/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 00:12:41 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[2tbsp.com]]></category>

		<category><![CDATA[christian heilmann]]></category>

		<category><![CDATA[rollovers]]></category>

		<category><![CDATA[unobtrusive javascript]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/04/28/unobtrusive-rollovers-using-yui/</guid>
		<description><![CDATA[
Chad at 2tbsp.com wrote up a nice tutorial last week outlining some practical fundamentals with respect to writing &#34;unobtrusive JavaScript.&#34; His example implements a standard rollover, beginning with bad-old-days obtrusive scripting, migrating to unobtrusive scripting, and concluding with an unobtrusive script that leverages YUI&#8217;s Event Utility for event attachment and the Dom Collection&#8217;s getElementsByClassName, addClass [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://2tbsp.com/node/91"><img src="http://yuiblog.com/assets/2tbsp-1.png" alt="Introduction to Unobtrusive JavaScript, DOM Scripting, and the Yahoo! User Interface (YUI) Library on 2tsp.com." width="510" height="174"></a></p>
<p>Chad at 2tbsp.com <a href="http://2tbsp.com/node/91">wrote up a nice tutorial last week</a> outlining some practical fundamentals with respect to writing &quot;unobtrusive JavaScript.&quot; His example implements a standard rollover, beginning with bad-old-days obtrusive scripting, migrating to unobtrusive scripting, and concluding with an unobtrusive script that leverages YUI&#8217;s <a href="http://developer.yahoo.com/yui/event/">Event Utility</a> for event attachment and the <a href="http://developer.yahoo.com/yui/dom/">Dom Collection</a>&#8217;s <a href="http://developer.yahoo.com/yui/docs/YAHOO.util.Dom.html#method_getElementsByClassName"><code>getElementsByClassName</code></a>, <a href="http://developer.yahoo.com/yui/docs/YAHOO.util.Dom.html#method_addClass"><code>addClass</code></a> and <a href="http://developer.yahoo.com/yui/docs/YAHOO.util.Dom.html#method_removeClass"><code>removeClass</code></a> for class management.</p>
<p><a href="http://2tbsp.com/system/files/yui-rollover.html">Click through</a> for his functioning example.</p>
<p><a href="http://2tbsp.com/system/files/yui-rollover.html"><img src="http://yuiblog.com/assets/2tbsp-2.png" alt="Click through for the functioning example." width="510" height="96"></a></p>
<p>Of course, Chad just means this as an example of some of the practical points involved in unobtrusive scripting. Others have looked at the problem more encyclopedically — for a more ambitious (and not YUI-related) analysis of the paradigm, check out Christian Heilmann&#8217;s &quot;<a href="http://icant.co.uk/articles/seven-rules-of-unobtrusive-javascript/">The seven rules of Unobtrusive JavaScript</a>&quot;.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=8ccWmG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=8ccWmG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=ZYeVvG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=ZYeVvG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=mLGy6G"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=mLGy6G" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=XT9Q1g"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=XT9Q1g" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/04/28/unobtrusive-rollovers-using-yui/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DjangoSnippets: YUI Loader as Django Middleware</title>
		<link>http://yuiblog.com/blog/2008/04/25/django-yui-loader/</link>
		<comments>http://yuiblog.com/blog/2008/04/25/django-yui-loader/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 12:47:32 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[In the Wild]]></category>

		<category><![CDATA[autocomplete]]></category>

		<category><![CDATA[django]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[yui]]></category>

		<category><![CDATA[yui loader]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/04/25/django-yui-loader/</guid>
		<description><![CDATA[
Over on DjangoSnippets.org, akaihola has posted a YUILoader class (based on Adam Moore&#8217;s client-side YUI Loader) that makes it a snap to pull YUI components into your Django projects.
This server-side middleware implements some of the functionality in the Yahoo User Interface Loader component.  YUI JavaScript and CSS modules requirements can be declared anywhere in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangosnippets.org/snippets/712/"><img src="http://yuiblog.com/assets/djangosnippets.jpg" alt="YUI Loader integration on DjangoSnippets.com" width="510" height="205"></a></p>
<p>Over on DjangoSnippets.org, <a href="http://www.djangosnippets.org/snippets/712/">akaihola has posted a YUILoader class</a> (based on <a href="http://developer.yahoo.com/yui/yuiloader/">Adam Moore&#8217;s client-side YUI Loader</a>) that makes it a snap to pull YUI components into your Django projects.</p>
<blockquote><p>This server-side middleware implements some of the functionality in the <a href="http://developer.yahoo.com/yui/yuiloader/">Yahoo User Interface Loader</a> component.  YUI JavaScript and CSS modules requirements can be declared anywhere in the base, inherited or included templates, and the resulting, optimized <code>&lt;script&gt;</code> and <code>&lt;link rel=&quot;stylesheet&quot;&gt;</code> tags are inserted at the specified position of the resulting page.</p>
<p>Requirements may be specified in multiple locations.  This is useful when zero or more components are included in the HTML head section, and inherited and/or included templates require possibly overlapping sets of YUI components in the body across inherited and included templates.  All tags are collected in the head section, and duplicate tags are automatically eliminated.</p>
<p>The middleware understands component dependencies and ensures that resources are loaded in the right order.  It knows about built-in rollup files that ship with YUI.  By automatically using rolled-up files, the number of HTTP requests is reduced.</p>
</blockquote>
<p>Back in August on DjangoSnippets, <a href="http://www.djangosnippets.org/snippets/392/">pigletto posted a nice YUI snippet for use with the YUI AutoComplete Control</a>.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=TWLttoG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=TWLttoG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=Cpi1M3G"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=Cpi1M3G" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=4t7JgtG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=4t7JgtG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=Dp3WkIg"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=Dp3WkIg" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/04/25/django-yui-loader/feed/</wfw:commentRss>
		</item>
		<item>
		<title>David Cilley’s Tutorial Series on Ajax Image Sliders</title>
		<link>http://yuiblog.com/blog/2008/04/24/david-cilley-image-sliders/</link>
		<comments>http://yuiblog.com/blog/2008/04/24/david-cilley-image-sliders/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 13:14:16 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[david cilley]]></category>

		<category><![CDATA[images]]></category>

		<category><![CDATA[slider]]></category>

		<category><![CDATA[tutorial]]></category>

		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/04/24/david-cilley-image-sliders/</guid>
		<description><![CDATA[
David Cilley this week published the second in his series of articles on using the YUI Slider Control to provide real-time previewing of image changes.

Part 1: The OnDemand method.
Part 2: The Interval method.

In this second installment, David takes on the challenge of making the preview feel instantaneous without computing or delivering every possible image represented [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2008/04/21/ajax-image-sliders-part-2-intervals-with-on-demand.aspx"><img src="http://yuiblog.com/assets/imageslider1.jpg" alt="David Cilley on Ajax image sliders using YUI." width="510" height="157"></a></p>
<p><a href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2008/04/21/ajax-image-sliders-part-2-intervals-with-on-demand.aspx"><img src="http://yuiblog.com/assets/imageslider2.jpg" alt="David Cilley on Ajax image sliders using YUI." width="250" height="227" hspace="10" align="right"></a>David Cilley this week published the second in his series of articles on using the <a href="http://developer.yahoo.com/yui/slider/">YUI Slider Control</a> to provide real-time previewing of image changes.</p>
<ul>
<li><a href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2008/04/16/ajax-image-sliders-part-1.aspx">Part 1: The OnDemand method</a>.</li>
<li><a href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2008/04/21/ajax-image-sliders-part-2-intervals-with-on-demand.aspx">Part 2: The Interval method</a>.</li>
</ul>
<p>In this second installment, David takes on the challenge of making the preview <em>feel</em> instantaneous without computing or delivering every possible image represented by the slider&#8217;s continuum:</p>
<blockquote><p>On the previous slider example, I used a YUI slider that had a range from -100 to 100.  This is a total of 201 different combinations for one image dialog, and that&#8217;s about 10-20 times more requests than a web server should have to handle in a reasonable amount of time.  We want to make this look as if the slider is actually changing the image while we scroll it, but we don&#8217;t want to request 201 images up front, and we don&#8217;t want to load them all on demand either.</p></blockquote>
<p>A part 3 in the series, David notes, will continue to refine the control.  [<strong>Update:</strong>  <a href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2008/04/28/sliders-part-3-intervals-with-opacity.aspx">David has posted Part 3.</a>]</p>
<p>For more Slider Control examples, check out the <a href="http://developer.yahoo.com/yui/examples/slider/">YUI Slider example roster</a>; and don&#8217;t miss Todd Kloots&#8217;s <a href="http://developer.yahoo.com/yui/examples/button/btn_example14.html">Slider/Button example</a>, which would be another way of presenting the control David is describing in his article series.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=QPefzmG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=QPefzmG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=4tLIdQG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=4tLIdQG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=qWyevqG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=qWyevqG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=ouCsBUg"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=ouCsBUg" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/04/24/david-cilley-image-sliders/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hidden Gems in the YAHOO Object</title>
		<link>http://yuiblog.com/blog/2008/04/23/plank-hidden-gems/</link>
		<comments>http://yuiblog.com/blog/2008/04/23/plank-hidden-gems/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 13:45:30 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[In the Wild]]></category>

		<category><![CDATA[hidden gems]]></category>

		<category><![CDATA[plankdesign]]></category>

		<category><![CDATA[yahoo]]></category>

		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2008/04/23/plank-hidden-gems/</guid>
		<description><![CDATA[
Mitch at PlankDesign.com has posted a nice review of one of the least-discussed aspects of YUI Core &#8212; the YAHOO Global Object&#8217;s YAHOO.lang member.  He covers a number of the language conveniences provided therein, including type checking, trim, substitute, later and merge.
Luke Smith from the YUI team recently added some great examples of other [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://plankdesign.com/en/blog/posts/langs_little_gems"><img src="http://yuiblog.com/assets/plank.jpg" alt="Lang's little gems, on PlankDesign.com" width="510" height="270" /></a></p>
<p>Mitch at <a href="http://plankdesign.com/">PlankDesign.com</a> <a href="http://plankdesign.com/en/blog/posts/langs_little_gems">has posted a nice review</a> of one of the least-discussed aspects of YUI Core &mdash; the <a href="http://developer.yahoo.com/yui/yahoo/">YAHOO Global Object</a>&#8217;s <code>YAHOO.lang</code> member.  He covers a number of the language conveniences provided therein, including type checking, <code>trim</code>, <code>substitute</code>, <code>later</code> and <code>merge</code>.</p>
<p>Luke Smith from the YUI team recently <a href="http://developer.yahoo.com/yui/examples/yahoo/index.html">added some great examples of other features in the YAHOO object</a>, so check those out, too, if you&#8217;re interested in learning more about this essential building block of YUI.</p>
<p>Thanks for the insights, Mitch!</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=TNzKZnG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=TNzKZnG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=6OxJsdG"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=6OxJsdG" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=LJWml1G"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=LJWml1G" border="0"></img></a> <a href="http://feeds.yuiblog.com/~f/yuiblog/development?a=u2PJOZg"><img src="http://feeds.yuiblog.com/~f/yuiblog/development?i=u2PJOZg" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://yuiblog.com/blog/2008/04/23/plank-hidden-gems/feed/</wfw:commentRss>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.988 seconds -->
