<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>LiquidRail - Rails</title>
  <id>tag:liquidrail.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.0">Mephisto Noh-Varr</generator>
  <link href="http://liquidrail.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://liquidrail.com/" rel="alternate" type="text/html"/>
  <updated>2007-06-13T15:25:20Z</updated>
  <entry xml:base="http://liquidrail.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:liquidrail.com,2007-06-13:11</id>
    <published>2007-06-13T15:17:00Z</published>
    <updated>2007-06-13T15:25:20Z</updated>
    <link href="http://liquidrail.com/2007/6/13/mole-updated-version-0-003" rel="alternate" type="text/html"/>
    <title>MOle updated - Version 0.003</title>
<content type="html">
            &amp;lt;head&gt;
&amp;lt;style&gt;    
 div.code {
  margin:     5px;
  padding:    10px;
  width:      480px;
  height:     20px;
  color:      #fff;
  border:     1px #636367 dashed;
  background: #434347;
  overflow:   none;
  font-size: 10px;
 }
 span.token {
  color: #7cc6f3;	
 }	    
 span.var {
  color: #6F9119; 
 }  
 span.clazz {
  color: #BDD4C9; 
 }
 span.method {
	color: #9999FF;
 }
 span.symbol {
	color: #6F9119;
 }
 span.string {
	color: #8eb8a1;
 }      
 b i {
	color:#C0EB46;
}
&amp;lt;/style&gt;
&amp;lt;/head&gt;
&lt;p&gt;&lt;img src='http://www.liquidrail.com/assets/2007/6/13/Picture_3.png'&gt;&lt;/p&gt;

&lt;p&gt;
We have updated the &lt;b&gt;&lt;i&gt;MOle&lt;/b&gt;&lt;/i&gt; plugin to pack in a few more 
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Added origination ip address for users. This is useful to see where users are using
        your application from, as well as filtering in or out users from your organization
  &lt;/li&gt;
  &lt;li&gt;Added browser tracking. Not only can you see how folks are interacting with your
        rails application, you can now also see what browsers they are using. This will allow
        you to access browser support and maximize efforts in this area.
   &lt;/li&gt;
   &lt;li&gt; Multiple apps single db support. There has been scenarios where our users wanted
          to mole applications that used the same database. You can now namespace the
          mole features with the application name on the same database.
    &lt;/li&gt;
    &lt;li&gt; Simpler initialization and configuration. We've eliminated all const var setup and 
           bottled down the initialization to a single call:

           &lt;div class='code'&gt;Moleable::init( :max_perf_time =&gt; 10, :app_name =&gt; 'Beast' )&lt;/div&gt;
     &lt;/li&gt;

Thank you all again for your support, we hope you'll find these changes useful...

New video of the new features coming soon !!
          </content>  </entry>
  <entry xml:base="http://liquidrail.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:liquidrail.com,2007-04-15:8</id>
    <published>2007-04-15T23:29:00Z</published>
    <updated>2007-05-11T03:06:13Z</updated>
    <link href="http://liquidrail.com/2007/4/15/mole-plugin-inspect-the-rails" rel="alternate" type="text/html"/>
    <title>MOle Plugin - Inspect The Rails</title>
<content type="html">
            &amp;lt;head&gt;
&amp;lt;style&gt;    
 div.code {
  margin:     5px;
  padding:    10px;
  width:      480px;
  height:     20px;
  color:      #fff;
  border:     1px #636367 dashed;
  background: #434347;
  overflow:   none;
  font-size: 10px;
 }
 span.token {
  color: #7cc6f3;	
 }	    
 span.var {
  color: #6F9119; 
 }  
 span.clazz {
  color: #BDD4C9; 
 }
 span.method {
	color: #9999FF;
 }
 span.symbol {
	color: #6F9119;
 }
 span.string {
	color: #8eb8a1;
 }      
 b i {
	color:#C0EB46;
}
&amp;lt;/style&gt;
&amp;lt;/head&gt;
&amp;lt;body style='background:#333337;color:#fff'&gt;
&lt;p&gt;Ara Howard, &lt;a href='http://delynnberry.com/'&gt;Delynn Berry&lt;/a&gt; and I, are pleased to announce the &lt;b&gt;&lt;i&gt;MOle&lt;/b&gt;&lt;/i&gt; plugin.
&lt;/p&gt;
&amp;lt;!--&amp;lt;img src=&quot;http://liquidrail.com/assets/2007/4/7/mole_info.gif&quot;/&gt;--&gt;
&lt;img src='http://www.liquidrail.com/assets/2007/4/15/snitch_molet.png' /&gt;
&lt;p&gt;
The &lt;b&gt;&lt;i&gt;MOle&lt;/b&gt;&lt;/i&gt; allows you to precisely analyze how your customers are interacting with your rails application. Instead of sitting on the console and watching your controller actions and db queries fly by, you can easily leverage the MOle and let it do this work for you by trapping events of interest. This plugin allows you to figure out if your latest application features are a success or a bust. You will be able to trap certain user interactions and record them for your next iterations. This is not yet another page hit or heat map type plugin, within a few steps you will be able to monitor your users interactions &lt;b&gt;LIVE&lt;/b&gt; and assess your application usability from the comfort of your own machine... 
&lt;/p&gt;                                                          
&lt;p&gt;
We've produced an introduction to the &lt;b&gt;&lt;i&gt;MOle&lt;/b&gt;&lt;/i&gt;, you can watch the video 
&lt;a href='http://www.youtube.com/watch?v=L7JGB7QsAt8'&gt;MOle Video&lt;/a&gt;
&lt;p&gt;
&lt;h3&gt;Getting Started...&lt;/h3&gt;
&lt;ol&gt;
	&lt;li&gt;Download the plugin:
		  &lt;div class='code'&gt;
			  ruby script/plugin install svn://rubyforge.org/var/svn/liquidrail/plugins/mole/trunk
		  &lt;/div&gt;   
		  &lt;i&gt;Upon install, the plugin will create 2 tables in your db namely mole_features 
		  and mole_logs&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt; Set up the &lt;b&gt;&lt;i&gt;MOle&lt;/i&gt;&lt;/b&gt; in config/environment.rb:&lt;br /&gt;
		  &lt;div class='code'&gt;		
			  &lt;span class='var'&gt;MOLE&lt;/span&gt; = &lt;span class='clazz'&gt;File&lt;/span&gt;.&lt;span class='method'&gt;new&lt;/span&gt;( &quot;&lt;span class='string'&gt;#{RAILS_ROOT}/config/mole.conf&lt;/span&gt;&quot; )&lt;br /&gt;
			  &lt;span class='var'&gt;MOLEABLE_APP&lt;/span&gt; = true&lt;br /&gt;
			  &lt;span class='var'&gt;MOLE_PERF_MAX_TIME&lt;/span&gt; = 5&lt;br /&gt;&amp;nbsp;&lt;br /&gt;
		  &lt;/div&gt;                 
		  &lt;i&gt;All the interactions of your moled application is orchestrated via the 
		  mole.conf file. A sample mole.conf file has been dropped in the config dir during
		  the plugin installation. You can turn the mole on/off via the MOLEABLE_APP var.
		  A built in feature of the mole is also to record long running actions, we will cover
		  this later but the last variable will set the default perf threshold in this case
		  5 seconds.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt; Load the &lt;b&gt;&lt;i&gt;MOle&lt;/i&gt;&lt;/b&gt; configuration:&lt;br /&gt;
		  &lt;i&gt;In your ApplicationController, add the following line:&lt;/i&gt;
		  &lt;div class='code'&gt;                  
			  &lt;span class='token'&gt;load&lt;/span&gt; &lt;span class='var'&gt;MOLE&lt;/span&gt;.&lt;span class='method'&gt;path&lt;/span&gt; &lt;span class='token'&gt;if&lt;/span&gt; 
			  &lt;span class='clazz'&gt;File&lt;/span&gt;.&lt;span class='method'&gt;exists?&lt;/span&gt;(&lt;span class='symbol'&gt;MOLE&lt;/span&gt;.&lt;span class='method'&gt;path&lt;/span&gt;) &lt;span class='token'&gt;and&lt;/span&gt; &lt;span class='symbol'&gt;MOLEABLE_APP&lt;/span&gt;
		  &lt;/div&gt;                      
		 &lt;i&gt;This will load the mole configuration that instruct what/how to mole your rails
		 application. All mole interactions occur in one single file, no need to sprinkle 
		 mole code all over your controllers. In the configuration file you simply instruct 
		 the mole where and what to capture when a particular interaction occurs.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt; Moling a controller action:
		&lt;div class='code'&gt;
		  &lt;span class='clazz'&gt;MyController&lt;/span&gt;.&lt;span class='method'&gt;before&lt;/span&gt;( &lt;span class='symbol'&gt;:feature&lt;/span&gt; =&gt; &lt;span class='symbol'&gt;:show&lt;/span&gt; ) do |context, feature, args|&lt;br /&gt;
		  &amp;nbsp;&amp;nbsp;&lt;span class='clazz'&gt;Mole&lt;/span&gt;::&lt;span class='clazz'&gt;DbMole&lt;/span&gt;.&lt;span class='method'&gt;mole_it&lt;/span&gt;( context, feature, context.session[&lt;span class='symbol'&gt;:user_id&lt;/span&gt;],&lt;br /&gt; 
		&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='symbol'&gt;:some_var&lt;/span&gt; =&gt; context.&lt;span class='method'&gt;instance_variable_get&lt;/span&gt;('@myVar'))&lt;/br&gt;
    &lt;/div&gt;&lt;br /&gt;
or
		&lt;div class='code'&gt;
		  &lt;span class='clazz'&gt;MyController&lt;/span&gt;.&lt;span class='method'&gt;after&lt;/span&gt;( &lt;span class='symbol'&gt;:feature&lt;/span&gt; =&gt; &lt;span class='symbol'&gt;:show&lt;/span&gt; ) do |context, feature, ret_val, args|&lt;br /&gt;
		  &amp;nbsp;&amp;nbsp;&lt;span class='clazz'&gt;Mole&lt;/span&gt;::&lt;span class='clazz'&gt;DbMole&lt;/span&gt;.&lt;span class='method'&gt;mole_it&lt;/span&gt;( context, feature, context.session[&lt;span class='symbol'&gt;:user_id&lt;/span&gt;],&lt;br /&gt; 
		&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='symbol'&gt;:some_var&lt;/span&gt; =&gt; context.&lt;span class='method'&gt;instance_variable_get&lt;/span&gt;('@myVar'), &lt;span class='symbol'&gt;:return&lt;/span&gt; =&gt; ret_val&lt;/br&gt;
    &lt;/div&gt;&lt;br /&gt;

  &lt;/li&gt;		   
  &lt;li&gt; That's all !!
	&lt;/li&gt;                          
&lt;br /&gt;&lt;br /&gt;&lt;p&gt;
We have also bundle a couple of consoles to allow you to view the mole in action aka &lt;b&gt;&lt;i&gt;The Snitch&lt;/b&gt;&lt;/i&gt; and the Yahoo! Widget &lt;b&gt;&lt;i&gt;MOlet&lt;/b&gt;&lt;/i&gt;...&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;The Snitch&lt;/b&gt;&lt;/i&gt; source can be downloaded here:
&lt;div class='code'&gt;
 svn co svn://rubyforge.org/var/svn/liquidrail/plugins/mole/samples/consoles/snitch 
&lt;/div&gt;                                                            
Once you've downloaded &lt;b&gt;&lt;i&gt;The Snitch&lt;/b&gt;&lt;/i&gt; you will need to run the following 
command to complete the installation:
&lt;div class='code'&gt;
	rake setup
&lt;/div&gt;
&lt;i&gt;This will tell the application how to access your user model by specifying the users db table name and which column to use to display the user name. Also you will need to edit the database.yml to point to your db. No worries this app does not alter your db in any ways...&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
In order to run the companion widget application, you will need to install the &lt;a href='http://widgets.yahoo.com/download/'&gt;Yahoo! Widget Engine&lt;/a&gt; for your platform and then download the &lt;b&gt;&lt;i&gt;MOlet&lt;/b&gt;&lt;/i&gt;  Widget and save it to your platform specific widgets directory ( MAC Documents/widgets -- WIN Document And Setting/user/widgets)
&lt;div class='code'&gt;
   svn co    
   svn://rubyforge.org/var/svn/liquidrail/plugins/mole/samples/consoles/widgets/molet
&lt;/div&gt;                                                            
&lt;/p&gt;&lt;br /&gt;   
&lt;p&gt;
You can find out more about the &lt;b&gt;&lt;i&gt;MOle&lt;/i&gt;&lt;/b&gt; by reading the &lt;a href='http://liquidrail.com/mole/index.html'&gt;documentation&lt;/a&gt; or tuning to the &lt;a href='http://groups.google.com/group/mole-plugin'&gt;MOle Forum&lt;/a&gt;
&lt;/p&gt;      
Let us know what you think...
&amp;lt;/body&gt;
          </content>  </entry>
  <entry xml:base="http://liquidrail.com/">
    <author>
      <name>admin</name>
    </author>
    <id>tag:liquidrail.com,2007-01-15:6</id>
    <published>2007-01-15T14:12:00Z</published>
    <updated>2007-01-15T14:12:27Z</updated>
    <link href="http://liquidrail.com/2007/1/15/ziya-got-video" rel="alternate" type="text/html"/>
    <title>ZiYa got video ?</title>
<content type="html">
            Delynn and I have produced an intro to ZiYa video. The video is parked on YouTube

You can see it here... &lt;br /&gt;

&amp;lt;object height='350' width='425'&gt; &amp;lt;param name='movie' value='http://www.youtube.com/v/axIMmMHdXzo'&gt; &amp;lt;/param&gt; &amp;lt;embed type='application/x-shockwave-flash' src='http://www.youtube.com/v/axIMmMHdXzo' height='350' width='425'&gt; &amp;lt;/embed&gt; &amp;lt;/object&gt;
          </content>  </entry>
  <entry xml:base="http://liquidrail.com/">
    <author>
      <name>fernand</name>
    </author>
    <id>tag:liquidrail.com,2007-01-04:3</id>
    <published>2007-01-04T06:53:00Z</published>
    <updated>2007-01-04T06:57:47Z</updated>
    <link href="http://liquidrail.com/2007/1/4/charting-the-rails" rel="alternate" type="text/html"/>
    <title>ZiYa Plugin - Charting the rails...</title>
<content type="html">
            &amp;lt;head&gt;
&amp;lt;style&gt;
 div.code {
  margin:     5px;
  padding:    10px;
  width:      480px;
  height:     20px;
  color:      #fff;
  border:     1px #636367 dashed;
  background: #434347;
  overflow:   none
 }
 span.token {
  color: #7cc6f3;	
 }	
 span.method {
	color: #e9db9f;
 }
 span.symbol {
	color: #c00000;
 }
 span.string {
	color: #8eb8a1;
 }
&amp;lt;/style&gt;
&amp;lt;/head&gt;
&amp;lt;body style='background:#333337;color:#fff'&gt;
&lt;p&gt;&lt;a href='http://delynnberry.com/'&gt;Delynn&lt;/a&gt; and I have been hard at work and are pleased to announce the &lt;b&gt;&lt;i&gt;ZiYa Plugin&lt;/b&gt;&lt;/i&gt;.
&lt;/p&gt;
&lt;a href='http://www.ziya.liquidrail.com'&gt;&lt;img src='http://www.liquidrail.com/assets/2006/12/29/ziya_overview_small.png' /&gt;&lt;/a&gt;
&lt;p&gt;
&lt;a href='http://ziya.liquidrail.com'&gt;ZiYa&lt;/a&gt; is  based on the most excellent &lt;a href='http://www.maani.us/xml_charts/'&gt;XML/Swf charts&lt;/a&gt; charting tool. 
It allows you to render charts in your web app by leveraging Flash rendering. No worries mate, you won't need to learn Flash to use this plugin. Sure there are many tools out there you can use to generate charts for your rails app but none are easier to setup and maintain than ZiYa. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;i&gt;ZiYa&lt;/i&gt;&lt;/b&gt; offers the following advantages:

&lt;ul&gt;
  &lt;li&gt;Offload the chart rendering activity to the client side. No need to install Rmagick and the likes on your server.&lt;/li&gt;
  &lt;li&gt; Style your charts using the &lt;b&gt;&lt;i&gt;Ziya&lt;/i&gt;&lt;/b&gt; YAML style-sheets.&lt;br /&gt;
    &lt;b&gt;&lt;i&gt;ZiYa&lt;/i&gt;&lt;/b&gt; leverages YAML and ERB for styling which allows you to perform dynamic styling based on certain model states.&lt;/li&gt;
  &lt;li&gt; Uses themes to provide consistent charts look and feel. &lt;/li&gt;
  &lt;li&gt; Embed links within your charts and use them for navigation and drill-down activities.&lt;/li&gt;
  &lt;li&gt; Provides dramatic chart transition.&lt;/li&gt;
  &lt;li&gt; Embed ajax periodical refresh by calling back to your controller.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;h3&gt;Getting Started...&lt;/h3&gt;
&lt;ol&gt;
	&lt;li&gt;Download the plugin:
		  &lt;div class='code'&gt;
			  ruby script/plugin install svn://rubyforge.org/var/svn/liquidrail/plugins/ziya/trunk
		  &lt;/div&gt;
	&lt;/li&gt;
	&lt;li&gt; Setup &lt;b&gt;&lt;i&gt;ZiYa&lt;/i&gt;&lt;/b&gt; for your controller:&lt;br /&gt;
		  &lt;div class='code'&gt;		
				 &lt;span class='token'&gt;class&lt;/span&gt; BleeController &lt;span class='token'&gt;&amp;lt;&lt;/span&gt; ApplicationController&lt;br /&gt; 
				 &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='token'&gt;include&lt;/span&gt; Ziya
		  &lt;/div&gt;
	&lt;/li&gt;
	&lt;li&gt; Define an action to setup a bar chart:
		  &lt;div class='code'&gt;
			  &lt;span class='token'&gt;def&lt;/span&gt; &lt;span class='method'&gt;fred&lt;/span&gt;&lt;br /&gt;
			  &amp;nbsp;&amp;nbsp;&amp;nbsp;chart = Ziya::Charts::Bar.&lt;span class='method'&gt;new&lt;/span&gt;&lt;br /&gt;
			  &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='token'&gt;render&lt;/span&gt; &lt;span class='symbol'&gt;:text&lt;/span&gt; =&gt; chart&lt;br /&gt;			
			  &lt;span class='token'&gt;end&lt;/span&gt;
		  &lt;/div&gt;
	&lt;/li&gt;
	&lt;li&gt; In the associated view use the &lt;b&gt;&lt;i&gt;ZiYa&lt;/i&gt;&lt;/b&gt; helper&lt;/br&gt;
		&lt;div class='code'&gt;
		&amp;lt;%=&lt;span class='method'&gt;gen_chart&lt;/span&gt;( &lt;span class='string'&gt;&quot;blee&quot;&lt;/span&gt;, &lt;span class='method'&gt;url_for&lt;/span&gt;( &lt;span class='symbol'&gt;:controller&lt;/span&gt; =&gt; &lt;span class='string'&gt;'blee'&lt;/span&gt;, &lt;span class='symbol'&gt;:action&lt;/span&gt; =&gt; &lt;span class='string'&gt;'fred'&lt;/span&gt; ), 
               &lt;span class='string'&gt;'#ffffff'&lt;/span&gt;, 400, 300 )%&amp;gt;
    &lt;/div&gt;
  &lt;/li&gt;
		
&lt;p&gt;
You can find out more about &lt;b&gt;&lt;i&gt;Ziya&lt;/i&gt;&lt;/b&gt; by reading the documentation &lt;a href='http://ziya.liquidrail.com/rdoc'&gt;here&lt;/a&gt; or view the &lt;a href='http://ziya.liquidrail.com'&gt;samples&lt;/a&gt; apps to get some idea on the possibilities.
&lt;/p&gt;
Let us know what you think...
&amp;lt;/body&gt;
          </content>  </entry>
  <entry xml:base="http://liquidrail.com/">
    <author>
      <name>fernand</name>
    </author>
    <id>tag:liquidrail.com,2006-11-27:1</id>
    <published>2006-11-27T08:56:00Z</published>
    <updated>2006-11-28T16:58:23Z</updated>
    <link href="http://liquidrail.com/2006/11/27/graphing-in-rails" rel="alternate" type="text/html"/>
    <title>Graphing the rails</title>
<content type="html">
            &lt;p&gt;
So you say to me: &quot;Ah I am using gruff to address my charting needs and it's awesome!!&quot;. To this I say: &quot;Right you are my friend&quot;. However let's color this statement a bit. Depending on your graphic needs Gruff may not be the end all be all. Of recent I have been building some applications that uses SWF Charts and I have been very happy with it. &lt;a href='http://www.maani.us/charts/index.php'&gt;Swf charts&lt;/a&gt; is a rich graphing library the uses flash to render the charts. You produce a bit of xml in your rails controller and the xml is rendered on the client. Yes on the client, what a great concept. Why overload your server with rendering graphs using Rmagick when you can suck some cycles out of your customers bitchin machines ?
&lt;/p&gt;
&lt;p&gt;
So for applications that need to deliver different graphs  to customers I believe flash rendering is the best approach. If your application delivers the same graphs and does not require any client side interactivity then Gruff and caching is probably the right path for you.
&lt;/p&gt;
&lt;p&gt;
Now if you need your customers to be able to interact with the charts and render different view based on a particular login, I believe flash charting is the better solution for you. SWF Charts offers the ability to embed links within the graphic components and you will be able to catch the link clicks within your rails controller. How cool is that ? 
&lt;/p&gt;
&lt;p&gt;
This particular package is free for the basic charting behavior but will cost you $45 per domain registration to enable links behavior and certain graph types. In my experience, this is money well spend. I have had great success with the support on this package too. Very fast turn around time.
&lt;/p&gt;
&lt;p&gt;
I will shortly post some sample code to show SWF Chart with Rails mashup...
&lt;/p&gt;
&lt;p&gt;
And Joy !!
&lt;/p&gt;
          </content>  </entry>
</feed>
