<?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>Sara Trice</title>
	<atom:link href="http://saratrice.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://saratrice.com</link>
	<description>Just a programmin&#039;, bellydancin&#039;, cake bakin&#039; kinda girl</description>
	<lastBuildDate>Wed, 05 Jun 2013 19:43:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Ruby on Rails and FTPS</title>
		<link>http://saratrice.com/2013/06/05/ruby-on-rails-and-ftps/</link>
		<comments>http://saratrice.com/2013/06/05/ruby-on-rails-and-ftps/#comments</comments>
		<pubDate>Wed, 05 Jun 2013 17:02:32 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=328</guid>
		<description><![CDATA[If you&#8217;re unlucky enough to have to connect to an FTPS server (SFTP ends up being much easier), the Double Bag FTPS gem makes things much easier. A few finer points to note: &#8220;verify_mode: OpenSSL::SSL::VERIFY_NONE&#8221; makes your life easier in development mode &#8211; not to mention some FTPS sites won&#8217;t even have one Most servers don&#8217;t [...]]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re unlucky enough to have to connect to an FTPS server (SFTP ends up being much easier), the <a href="https://github.com/bnix/double-bag-ftps" target="_blank">Double Bag FTPS gem</a> makes things much easier.</p>
<p>A few finer points to note:</p>
<ul>
<li><span style="line-height: 14px;">&#8220;verify_mode: OpenSSL::SSL::VERIFY_NONE&#8221; makes your life easier in development mode &#8211; not to mention some FTPS sites won&#8217;t even have one</span></li>
<li>Most servers don&#8217;t like active mode, so explicitly use passive mode. Your connection ends up hanging without it.</li>
</ul>
<p>So usage is:</p>
<pre>DoubleBagFTPS.open(host, user, password, nil, DoubleBagFTPS::EXPLICIT, verify_mode: OpenSSL::SSL::VERIFY_NONE) do |ftps|
 ftps.passive = true
 ftps.put("myfile.txt", filename)
 end</pre>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2013/06/05/ruby-on-rails-and-ftps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY syrups!</title>
		<link>http://saratrice.com/2013/01/27/diy-syrups/</link>
		<comments>http://saratrice.com/2013/01/27/diy-syrups/#comments</comments>
		<pubDate>Sun, 27 Jan 2013 21:18:31 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[cooking]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=301</guid>
		<description><![CDATA[I&#8217;ve seriously been neglecting this blog, apparently. I started a new one, which you may find amusing: http://www.mommashouldataughtyou.com/ Anyway, I made some syrups because I remembered helping my Mom making pancake syrup when I was a kid, and for the life of me I couldn&#8217;t remember why I wasn&#8217;t doing that. Sure, it&#8217;s not &#8220;real&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve seriously been neglecting this blog, apparently. I started a new one, which you may find amusing:</p>
<p><a href="http://www.mommashouldataughtyou.com/">http://www.mommashouldataughtyou.com/</a></p>
<p>Anyway, I made some syrups because I remembered helping my Mom making pancake syrup when I was a kid, and for the life of me I couldn&#8217;t remember why I wasn&#8217;t doing that. Sure, it&#8217;s not &#8220;real&#8221; maple syrup, but hey, it&#8217;s better than most of the stuff in the store, and a load cheaper. It doesn&#8217;t have any corn syrup, and the debate on that issue notwithstanding, at least if my friend who&#8217;s allergic to corn and corn products comes over, she can have some pancakes and syrup.</p>
<p><strong>Storage</strong>:</p>
<ul>
<li>save glass jars from other products (salsa, spaghetti sauce, etc.) and reuse them**</li>
<li>use clean wine bottles and some <a href="http://www.amazon.com/Tablecraft-H320C-Pack-Hinged-Pourers/dp/B002FKCJ7A" target="_blank">pourers with hinged lids</a> or <a href="http://www.amazon.com/Espresso-Supply-903316-Syrup-Bottle/dp/B002DMLF0M" target="_blank">syrup pumps</a></li>
<li>oil bottles with pourer</li>
<li>plastic condiment bottles (the squeeze kind you might put ketchup in, I&#8217;ve found these at dollar stores, big box stores or restaurant supply stores)</li>
<li>Syrup dispensers with handles</li>
</ul>
<p>I generally prefer something you can close or cap, since you&#8217;ll be storing these in the fridge and they can pick up smells from other foods.<br />
**To clean and get the smell out of glass jars, follow <a href="http://www.ehow.com/how_7720644_smell-out-glass-jars-bottles.html" target="_blank">these instructions</a>.</p>
<h2>Maple syrup:</h2>
<p>1 c water<br />
1 c white granulated sugar<br />
1 c brown sugar<br />
1 tsp maple extract<br />
1/2 tsp vanilla extract (optional)<br />
1/2 tsp butter extract (optional)</p>
<p>In a saucepan, boil the water, then add the sugars and stir until dissolved. Remove from heat and stir in the flavoring(s). Let cool and store in refrigerator.</p>
<h2>Homemade simple syrup:</h2>
<p>(for flavored coffees, hot chocolates, etc.)<br />
1 c water<br />
2 c white granulated sugar<br />
1 tsp flavored extract (peppermint, vanilla, almond, hazelnut, etc.)</p>
<p>In a saucepan, boil the water, then add the sugar and stir until dissolved. Remove from heat and stir in the flavoring. Let cool and store in refrigerator.</p>
<h2>Homemade chocolate syrup:</h2>
<p>(straight up stolen from <a href="http://penniesonaplatter.com/2012/07/18/diy-homemade-chocolate-syrup/">Pennies on a Platter</a>)</p>
<p>1 cup water<br />
1/2 cup unsweetened cocoa powder<br />
2 cups sugar<br />
Pinch of salt<br />
¼ teaspoon vanilla</p>
<p>Combine the water and cocoa powder in a medium saucepan. Heat over medium while stirring to dissolve the cocoa. Stir in the sugar until dissolved. Bring to a boil and heat for 3 minutes, watching carefully to avoid boiling over. (Turn down the heat, if necessary.) Remove from the heat and mix in the salt and vanilla. Let set to cool. Use a funnel to pour into a clean glass jar with a tight fitting lid. Store in the refrigerator for up to two months.</p>
<p><strong>Sara&#8217;s notes: </strong></p>
<ul>
<li>Give this your full attention. It only takes 10 minutes, so no walking away, lest you potentially have a burned, boiled-over chocolate disaster.</li>
<li>Use a whisk and keep whisking throughout or you&#8217;ll get scorched chocolate.</li>
<li>Be very careful with doing this on an electric stove. I have gas but I imagine you wouldn&#8217;t want to do more than med to med-high heat, since it doesn&#8217;t respond as fast and when it starts boiling it GOES.</li>
</ul>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2013/01/27/diy-syrups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Women&#8217;s Olympic Foil 2012</title>
		<link>http://saratrice.com/2012/07/28/womens-olympic-foil-2012/</link>
		<comments>http://saratrice.com/2012/07/28/womens-olympic-foil-2012/#comments</comments>
		<pubDate>Sat, 28 Jul 2012 22:23:01 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[olympics]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=295</guid>
		<description><![CDATA[Congrats to Italy for sweeping Women&#8217;s Foil! And congrats to Lee Keifer for making it to 5th &#8211; further than any woman from the US has since 1956! Standings: http://en.wikipedia.org/wiki/Fencing_at_the_2012_Summer_Olympics_%E2%80%93_Women&#8217;s_foil]]></description>
				<content:encoded><![CDATA[<p>Congrats to Italy for sweeping Women&#8217;s Foil! And congrats to Lee Keifer for making it to 5th &#8211; further than any woman from the US has since 1956!</p>
<p>Standings: <a href="http://en.wikipedia.org/wiki/Fencing_at_the_2012_Summer_Olympics_%E2%80%93_Women's_foil">http://en.wikipedia.org/wiki/Fencing_at_the_2012_Summer_Olympics_%E2%80%93_Women&#8217;s_foil</a></p>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2012/07/28/womens-olympic-foil-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paperclip, Amazon S3 Storage, the Amazon AWS-SDK gem, and Error: &#8220;No such file or directory&#8221;</title>
		<link>http://saratrice.com/2012/06/23/amazon-s3-storage-the-amazon-aws-sdk-gem-and-errors/</link>
		<comments>http://saratrice.com/2012/06/23/amazon-s3-storage-the-amazon-aws-sdk-gem-and-errors/#comments</comments>
		<pubDate>Sat, 23 Jun 2012 17:00:06 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=293</guid>
		<description><![CDATA[So at work, we switched from using the aws-s3 gem (unofficial) to the aws-sdk gem (official), since the new paperclip gem version required it. Added a new initializer file and made a few changes in how we were opening the S3 connection. No big deal. Until we got to the part where we were opening [...]]]></description>
				<content:encoded><![CDATA[<p>So at work, we switched from using the aws-s3 gem (unofficial) to the aws-sdk gem (official), since the new paperclip gem version required it. Added a new initializer file and made a few changes in how we were opening the S3 connection. No big deal.</p>
<p>Until we got to the part where we were opening a remote URL, reading its contents (an MP3), and trying to save it to a file on S3. (Before you get all riled up about piracy, it&#8217;s a voice generator service that we pay for.) So after switching gems, all we got when trying to grab the remote file was:</p>
<pre>  No such file or directory - http://www.blahblahblah...</pre>
<p>At first I thought it might be the service, but plugging in any other url didn&#8217;t work either. Arrgh! The code didn&#8217;t change in that respect! WTH?</p>
<p>Yeah well, apparently something did with the gem, because putting:</p>
<pre>  require 'open-uri'</pre>
<p>at the top of the controller fixed it all up.</p>
<p>Hope this saves you some time/hair pulling/frustration.</p>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2012/06/23/amazon-s3-storage-the-amazon-aws-sdk-gem-and-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indexing users that belong to groups with ancestry and thinking sphinx</title>
		<link>http://saratrice.com/2012/03/21/indexing-users-that-belong-to-groups-with-ancestry-and-thinking-sphinx/</link>
		<comments>http://saratrice.com/2012/03/21/indexing-users-that-belong-to-groups-with-ancestry-and-thinking-sphinx/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 20:03:55 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=278</guid>
		<description><![CDATA[So you&#8217;ve created a table of groups that are in a hierarchy with the gem ancestry, and you&#8217;ve created a table of users, and you&#8217;ve joined users to groups with a join table. And now you want to use Thinking Sphinx, which is awesome for searching. So you think, hey, wouldn&#8217;t it be great if [...]]]></description>
				<content:encoded><![CDATA[<p>So you&#8217;ve created a table of groups that are in a hierarchy with the gem <a href="https://github.com/stefankroes/ancestry" target="_blank">ancestry</a>, and you&#8217;ve created a table of users, and you&#8217;ve joined users to groups with a join table.</p>
<p>And now you want to use <a href="http://freelancing-god.github.com/ts/en/" target="_blank">Thinking Sphinx</a>, which is awesome for searching. So you think, hey, wouldn&#8217;t it be great if I could do a search for all users in a group&#8217;s subtree? Except that Thinking Sphinx cares not for your puny ancestry methods, and :subtree_ids doesn&#8217;t work in an index.</p>
<p>Fear not! I&#8217;ve done the heavy lifting for you.</p>
<blockquote>
<pre>
in user.rb:
define_index do
  indexes last_name
  has groups(:id), :as =&gt; :direct_group_ids
  has "CONCAT_WS('/',groups.id,groups.ancestry)", :as =&gt; :group_ids, :type =&gt; :multi
end</pre>
</blockquote>
<p>The first attribute is so that the join is made from users to groups. The second actually creates the multi-value attribute that you can search on. So from there you can do:</p>
<blockquote><p>User.search(:with_all => {:group_ids => [1]})</p></blockquote>
<p>That will give you all the users that belong to the subtree, including the root group (in this case, the group with the id of &#8220;1&#8243;).</p>
<p>That being said, if you only want the users from sub-groups of the group you&#8217;re searching on (i.e. you never want users that are directly attached to the group you&#8217;re searching on), you can instead do this:</p>
<blockquote>
<pre>
in user.rb:
define_index do
  indexes last_name
  has groups(:ancestry), :as =&gt; :group_ids, :type =&gt; :multi
end</pre>
</blockquote>
<p>So if you have group 1 which has group 2 and group 3 as children, the first example will give you all the users attached to all 3 groups; the second example will only give you the users attached to groups 2 and 3.</p>
<p>One last gotcha: if you&#8217;re running the search in console, remember to add &#8220;:per_page => 100&#8243; or however many entries you want back, or else by default you only get 20. Don&#8217;t want you to headdesk when you can&#8217;t figure out why it&#8217;s returning 20 users when it&#8217;s supposed to be returning 75.</p>
<p>Happy indexing!</p>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2012/03/21/indexing-users-that-belong-to-groups-with-ancestry-and-thinking-sphinx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avoiding Ruby hash conditionals in Ruby on Rails</title>
		<link>http://saratrice.com/2012/02/09/avoiding-ruby-hash-conditionals-in-ruby-on-rails/</link>
		<comments>http://saratrice.com/2012/02/09/avoiding-ruby-hash-conditionals-in-ruby-on-rails/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 21:56:16 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=269</guid>
		<description><![CDATA[This gets really old: if params[:teacher] &#38;&#38; params[:teacher][:id] ... so instead, do this: if params[:teacher].try(:[], :id) or do it a lot more: name = params[:company][:owner][:name] if params[:company] and params[:company][:owner] and params[:company][:owner][:name] turns into: name = params.try(:[], :company).try(:[], :owner).try(:[], :name) Yay for Stack Overflow!]]></description>
				<content:encoded><![CDATA[<p>This gets really old:</p>
<blockquote>
<pre>if params[:teacher] &amp;&amp; params[:teacher][:id] ...</pre>
</blockquote>
<p>so instead, do this:</p>
<blockquote>
<pre>if params[:teacher].try(:[], :id)</pre>
</blockquote>
<p>or do it a lot more:</p>
<blockquote>
<pre>name = params[:company][:owner][:name] if params[:company] and params[:company][:owner] and params[:company][:owner][:name]</pre>
</blockquote>
<p>turns into:</p>
<blockquote>
<pre>name = params.try(:[], :company).try(:[], :owner).try(:[], :name)</pre>
</blockquote>
<p><a href="http://stackoverflow.com/questions/4371716/looking-for-a-good-way-to-avoid-hash-conditionals-in-ruby" target="_blank">Yay for Stack Overflow!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2012/02/09/avoiding-ruby-hash-conditionals-in-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quickie: How to add a blank option to options_from_collection_for_select</title>
		<link>http://saratrice.com/2011/12/28/quickie-how-to-add-a-blank-option-to-options_from_collection_for_select/</link>
		<comments>http://saratrice.com/2011/12/28/quickie-how-to-add-a-blank-option-to-options_from_collection_for_select/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 20:52:05 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=259</guid>
		<description><![CDATA[&#60;%= select_tag "some_select", ("&#60;option&#62;&#60;/option&#62;" + options_from_collection_for_select(@foo, "id", "item")).html_safe %&#62;]]></description>
				<content:encoded><![CDATA[<pre>&lt;%= select_tag "some_select", ("&lt;option&gt;&lt;/option&gt;" + options_from_collection_for_select(@foo, "id", "item")).html_safe %&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2011/12/28/quickie-how-to-add-a-blank-option-to-options_from_collection_for_select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using javan/whenever on Engine Yard Cloud</title>
		<link>http://saratrice.com/2011/09/28/using-javanwhenever-on-engine-yard/</link>
		<comments>http://saratrice.com/2011/09/28/using-javanwhenever-on-engine-yard/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 19:31:35 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=252</guid>
		<description><![CDATA[via Deploy Hook UPDATE 4/10/2013: Updating these instructions to use bundle exec, per chintan/Nic Pillinger If you want your crontab updated by whenever on deploy, make a file named deploy/before_restart.rb and stick this in it (make sure you replace &#8216;yourAppNameHere&#8217;, derp): @rails_env = node[:environment][:framework_env] run "cd #{release_path}; bundle exec whenever --set environment=#{@rails_env}; bundle exec whenever [...]]]></description>
				<content:encoded><![CDATA[<h3><span style="font-size: 1.17em;">via Deploy Hook</span></h3>
<p>UPDATE 4/10/2013: Updating these instructions to use bundle exec, per chintan/Nic Pillinger</p>
<p>If you want your crontab updated by whenever on deploy, make a file named deploy/before_restart.rb and stick this in it (make sure you replace &#8216;yourAppNameHere&#8217;, derp):</p>
<pre>@rails_env = node[:environment][:framework_env]
run "cd #{release_path}; bundle exec whenever --set environment=#{@rails_env}; bundle exec whenever --update-crontab 'yourAppNameHere'"</pre>
<p>This is called a &#8216;deploy hook&#8217; and <a href="https://support.cloud.engineyard.com/entries/21016568-Use-Deploy-Hooks" target="_blank">here&#8217;s more info</a>.</p>
<h3>via Deploy Hook using Binstubs</h3>
<p>Since Engine Yard automatically installs your binstubs, you could also replace &#8220;bundle exec whenever&#8221; with &#8220;ey_bundler_binstubs/whenever&#8221;. If you want to be able to run &#8220;bin/whenever&#8221; you&#8217;ll have to symlink to ey_bundler_binstubs &#8211; but remember it&#8217;s in the current deploy directory, so you&#8217;ll have to do this per-deploy &#8211; which means you could stick this in the same before_restart.rb file (obviously it would need to be above the whenever line):</p>
<pre>run "ln -nfs #{release_path}/ey_bundler_binstubs #{release_path}/bin"
@rails_env = node[:environment][:framework_env]
run "cd #{release_path}; bin/whenever --set environment=#{@rails_env}; bin/whenever --update-crontab 'yourAppNameHere'"</pre>
<h3>Note for Utility Instances</h3>
<p>Desi McAdam was kind enough to note: &#8220;Secondary note for your readers just in case they need a reminder. If you only want this to run on a util server be sure to wrap the above deploy hook stuff with current_role == ‘util’.&#8221;</p>
<h3>via Custom Chef Recipes</h3>
<p>UPDATE 4.17.2012: If you&#8217;re on EY and not using custom chef recipes, you should start. A whenever recipe has been written and is detailed <a href="http://blog.ethanvizitei.com/2010/10/whenever-gem-and-engineyard-appcloud.html">here</a>. Info on how to start using custom chef recipes is <a href="https://support.cloud.engineyard.com/entries/21009867-customize-your-environment-with-chef-recipes">here</a>. It&#8217;s not so bad, really. One gotcha: your &#8220;appname&#8221; in the recipe is not your rails application name, but your EY application name &#8211; these can be different things!</p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2011/09/28/using-javanwhenever-on-engine-yard/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Illinois Home Bakeries &#8211; for farmer&#8217;s markets only</title>
		<link>http://saratrice.com/2011/09/09/illinois-home-bakeries-for-farmers-markets-only/</link>
		<comments>http://saratrice.com/2011/09/09/illinois-home-bakeries-for-farmers-markets-only/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 03:24:05 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[cakes]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=250</guid>
		<description><![CDATA[Interesting tidbit about a new law that is being passed. IL Senate Bill 840 allows for &#8220;Cottage food operations&#8221; (i.e. you can use your home kitchen), with several stipulations, if and only if you are selling goods at a farmers&#8217; market. So if I wanted to sell my cakes at a farmer&#8217;s market and got [...]]]></description>
				<content:encoded><![CDATA[<p>Interesting tidbit about a new law that is being passed. IL Senate Bill 840 allows for &#8220;Cottage food operations&#8221; (i.e. you can use your home kitchen), with several stipulations, if and <strong>only </strong>if you are selling goods at a farmers&#8217; market. So if I wanted to sell my cakes at a farmer&#8217;s market and got the appropriate paperwork, I could, but I still couldn&#8217;t sell them to individuals specifically out of my home. I&#8217;d <strong>have </strong>to have a table at a farmer&#8217;s market. Which is pretty much useless to me. Oh well, it&#8217;s a step in the right direction.</p>
<p><a href="http://www.news-gazette.com/news/politics-and-government/2011-08-25/new-law-settles-dispute-public-health-officials.html" target="_blank">Article from the News-Gazette<br />
</a><a href="http://www.ilstewards.org/blog/8509" target="_blank">Article from the IL Stewardship Alliance<br />
</a><a href="http://ilga.gov/legislation/billstatus.asp?DocNum=840&amp;GAID=11&amp;GA=97&amp;DocTypeID=SB&amp;LegID=55671&amp;SessionID=84" target="_blank">Senate bill 840 </a></p>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2011/09/09/illinois-home-bakeries-for-farmers-markets-only/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsTree: adding Expand All and Collapse All buttons</title>
		<link>http://saratrice.com/2011/05/04/jstree-adding-expand-all-and-collapse-all-buttons/</link>
		<comments>http://saratrice.com/2011/05/04/jstree-adding-expand-all-and-collapse-all-buttons/#comments</comments>
		<pubDate>Wed, 04 May 2011 19:50:54 +0000</pubDate>
		<dc:creator>saratrice</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://saratrice.com/?p=240</guid>
		<description><![CDATA[The documentation for jsTree is thorough, but not particularly easy to read. If you are looking for an easy way to add &#8220;Expand All&#8221; and &#8220;Collapse All&#8221; buttons, here&#8217;s one way: &#60;input type="button" value="Collapse All" onclick="$('#tree_container_id').jstree('close_all');"&#62; &#60;input type="button" value="Expand All" onclick="$('#tree_container_id').jstree('open_all');"&#62; where &#8216;#tree_container_id&#8217; is, of course, the ID of the container node for your tree.]]></description>
				<content:encoded><![CDATA[<p>The documentation for jsTree is thorough, but not particularly easy to read. If you are looking for an easy way to add &#8220;Expand All&#8221; and &#8220;Collapse All&#8221; buttons, here&#8217;s one way:</p>
<p><code>&lt;input type="button" value="Collapse All" onclick="$('#tree_container_id').jstree('close_all');"&gt;<br />
&lt;input type="button" value="Expand All" onclick="$('#tree_container_id').jstree('open_all');"&gt;<br />
</code></p>
<p>where &#8216;#tree_container_id&#8217; is, of course, the ID of the container node for your tree.</p>
]]></content:encoded>
			<wfw:commentRss>http://saratrice.com/2011/05/04/jstree-adding-expand-all-and-collapse-all-buttons/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
