<?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>Meta Bates &#187; data mapper</title>
	<atom:link href="http://www.metabates.com/tag/data-mapper/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.metabates.com</link>
	<description>The technical ramblings of Mark Bates.</description>
	<lastBuildDate>Sun, 15 Aug 2010 12:49:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Thank you.</title>
		<link>http://www.metabates.com/2009/03/04/thank-you/</link>
		<comments>http://www.metabates.com/2009/03/04/thank-you/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 03:05:25 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[adam french]]></category>
		<category><![CDATA[addison-wesley]]></category>
		<category><![CDATA[dan kubb]]></category>
		<category><![CDATA[darsono sutedja]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[gerado pis-lopez]]></category>
		<category><![CDATA[greg arsenault]]></category>
		<category><![CDATA[gregg pollack]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[peter cooper]]></category>
		<category><![CDATA[rails 3]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=216</guid>
		<description><![CDATA[It is with a sad and heavy heart that this evening I announce that I will no longer be developing the Mack Framework. The project, started a year ago, and has been source of great pride, joy, and at times frustation. Of all the projects I have ever worked on, this one was definitely closest [...]]]></description>
			<content:encoded><![CDATA[<p>It is with a sad and heavy heart that this evening I announce that I will no longer be developing the Mack Framework. The project, started a year ago, and has been source of great pride, joy, and at times frustation. Of all the projects I have ever worked on, this one was definitely closest to my heart.</p>
<p>The decision to stop working on Mack was something I did not take lightly. If I had my druthers, and plenty of free time and a source of funding, I most certainly would continue on working on it. However, reality has a different way of plenty out.</p>
<p>When I first started developing Mack the company I was working for at the time was frustrated with the pains and shortcomings of Rails. It was the right platform for the company when we started, however, two years in a start up is a life time and the company took many twists and turns, that lead us to the path of seeking an alternative platform to Rails. At the time Merb was not a serious contender, and there was little else out there that was looking to satisfy the needs we had. Enter Mack. I spent nearly 10 months developing Mack for that company. We rolled out several Mack applications. It worked really well for what we wanted it to do.</p>
<p>Again, however, reality came into play. The company was forced to lay off nearly 50% of its staff, and I was one of them. I quickly took a position as the Director of Engineering for another startup in Boston. This shop, too, is a Rails shop. The difference between the two companies is that for the company I work for now Rails is the right solution. This means that I am spending my days working with Rails, and not developing Mack.</p>
<p>At night and on the weekends I like to spend time with my wife and my son. I play in a band, <a href="http://www.thebluewires.com">www.thebluewires.com</a>, and I am working on a book for Addison-Wesley entitled, &#8220;Distributed Programming with Ruby&#8221;. I&#8217;m a busy man, and Mack is a big project. You can&#8217;t successfully write a web framework part time. Especially when that part time is really more like part-part time. You need to be able to put dedicated full time resources onto a project of that scale, and I just don&#8217;t have the time to do it.</p>
<p>Would I love to see the project continue? Certainly. If there is someone out there who wants to take it on, please let me know. I would love to see it grow. There is so much I wanted to do with it. So many great ideas.</p>
<p>Now, for the good news, I am planning to port a bunch of the Mack functionality over to the Rails 3 platform. The obvious one being the mack-distributed package which is a key differentiator between Mack and the other Ruby frameworks. Another package I think worthy of migration is mack-notifier, which provides, in my opinion, a really nice clean API for doing notifications, whether they be email, Jabber, SMS, etc&#8230; I also really like the mack-data_factory package. It provides an ORM agnostic way to do great data factories for testing. Finally there are some routing improvements that I think Rails could really benefit from, as well as a few other bits and bobs here and there.</p>
<p>I wish to thank everyone who has supported this project over the year. A few key people I think that deserve a special call out are: Darsono Sutedja (the second biggest contributed to Mack), Gerardo Pis-Lopez (the third biggest contributor), and Greg Arsenault (my previous boss who fought for me to develop Mack). If there was such a thing as the Mack Core Team, those guys would be it. I would also like to thank people like Peter Cooper, Gregg Pollack, Adam French, Dan Kubb, and everyone else who either opened a Lighthouse ticket, submitted a patch, wrote a blog entry about Mack, or who was just there for support and guidance over the past year.</p>
<p>I am going to keep www.mackframework.com around as a forum for my other projects, such as Cachetastic and Configatron, and the other projects I have brewing. Expect some cool new projects out of me in 2009, include some iPhone projects that I&#8217;m excited about undertaking. I will be releasing the last version of Mack by the end of the month. It will essentially be a few bug fixes, an upgrade of DataMapper, and Sass support.</p>
<p>To summarize, thank you everyone. I appreciate your support and I look forward to contributing to the community in new and exciting ways.</p>
<p>Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2009/03/04/thank-you/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Release 0.8.2</title>
		<link>http://www.metabates.com/2008/11/30/release-082/</link>
		<comments>http://www.metabates.com/2008/11/30/release-082/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 02:57:12 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[active record]]></category>
		<category><![CDATA[addressable]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[deferred? routes]]></category>
		<category><![CDATA[ebb]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Ezra Zygmuntowicz]]></category>
		<category><![CDATA[facets]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[thin]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=206</guid>
		<description><![CDATA[Hey there folks, sorry for the long wait for this release, but it&#8217;s here. It&#8217;s been a long November for yours truly. I&#8217;ve had to find a new job. I&#8217;ve had pneumonia. We, at least in America, have celebrated Thanksgiving. And, of course, who can forget RubyConf 2008? So with that said, what&#8217;s in 0.8.2? [...]]]></description>
			<content:encoded><![CDATA[<p>Hey there folks, sorry for the long wait for this release, but it&#8217;s here. It&#8217;s been a long November for yours truly. I&#8217;ve had to find a new job. I&#8217;ve had pneumonia. We, at least in America, have celebrated Thanksgiving. And, of course, who can forget RubyConf 2008?</p>
<p>So with that said, what&#8217;s in 0.8.2? Honestly, not a whole lot. There are a couple of bug fixes, a button_to_remote (think submit_to_remote in Rails) helper, and deferred routes. More on deferred routes in a moment, as it&#8217;s actually a pretty cool feature that only Mack and Merb share. And finally there is bundled gems.</p>
<h3>Bundled Gems</h3>
<p>What do I mean I say &#8216;bundled gems&#8217;? Well, because of the rather large number of gems that get installed with Mack, and because of some gem version dependency issues, Mack is now bundling it&#8217;s third party dependency gems inside itself. For example, mack-facets used to rely on the gems &#8216;facets&#8217; and &#8216;english&#8217;. Those gems are now bundled inside the mack-facets gem and now longer need to be downloaded and installed by end users. This should make installing Mack super easy. It should also make dealing with having multiple versions of Mack installed on your system easier to deal with and maintain.</p>
<h3>Deferred? Routes</h3>
<p>So what are deferred routes? Ezra wrote a really great write up back in <a href="http://brainspl.at/articles/2008/04/18/deferred-requests-with-merb-ebb-and-thin" target="_blank">April</a>. The idea is simple, with newer web servers such as Thin and Ebb, you can tell them to spawn a new thread to handle particular requests, such as long running processes like file uploads. This can really help speed things up as server can process regular requests using an event machine model, which is very fast, but can be really slow and block the server for longer processes. Now those processes can spawn into their own threads and not block the server.</p>
<p>In Mack 0.8.2 you can mark your routes with a deferred? =&gt; true option which will trigger this behavior. It&#8217;s much more advanced than the similar feature that can be found in Merb, which requires a separate configuration for your deferred actions, and the urls have to be &#8216;hard coded&#8217;. Mack let&#8217;s you use all the dynamic power of your routes, like you would want to. It&#8217;s just another option on the route itself. For a great tutorial on using deferred routes, check out the following page on www.mackery.com:</p>
<p><a href="http://www.mackery.com/routing/deferred_routes">http://www.mackery.com/routing/deferred_routes</a></p>
<h3>Upgraded Dependencies</h3>
<p>A few gems have been upgraded as part of this release, the big ones include DataMapper to 0.9.7, ActiveRecord to 2.2.2, and Haml to 2.0.4.</p>
<p>Changelog:</p>
<ul>
<li>[#237] Fixed render :rjs throws errors</li>
<li>[#236] Upgraded to ActiveRecord 2.2.2</li>
<li>[#235] Upgraded to DataMapper 0.9.7</li>
<li>[#230] Upgraded to facets 2.4.5</li>
<li>[#229] Upgraded to english 0.3.1</li>
<li>[#227] Removed WEBrick logging</li>
<li>[#226] Bundled gems.</li>
<li>[#225] Removed dependency on Thin</li>
<li>[#223] Fixed mackery console fails</li>
<li>[#148] Added button_to_remote helper method.</li>
<li>[#16] Added deferred? routes.</li>
<li>gem: active_record 2.2.2</li>
<li>gem: data_mapper 0.9.7</li>
<li>gem: addressable 2.0.0</li>
<li>gem: facets 2.4.5</li>
<li>gem: english 0.3.1</li>
<li>gem: rspec 1.1.11</li>
<li>gem: haml 2.0.4</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/11/30/release-082/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Release 0.8.1</title>
		<link>http://www.metabates.com/2008/10/26/release-081/</link>
		<comments>http://www.metabates.com/2008/10/26/release-081/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 22:05:22 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[configatron]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[extlib]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[nested resources]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[portlet]]></category>
		<category><![CDATA[portlets]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[routes]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=195</guid>
		<description><![CDATA[I know with each release I say how excited I am by this release, but that&#8217;s usually because with each release there&#8217;s some great new feature that makes me either proud to have developed it, or to proud to be associated with it. Mack 0.8.1 is definitely no exception. Before I get into what has [...]]]></description>
			<content:encoded><![CDATA[<p>I know with each release I say how excited I am by this release, but that&#8217;s usually because with each release there&#8217;s some great new feature that makes me either proud to have developed it, or to proud to be associated with it. Mack 0.8.1 is definitely no exception.</p>
<p>Before I get into what has to be my favorite feature since the distributed features of 0.7.0, and quite possibly my favorite feature in Mack today, let&#8217;s talk about a few of the other features in this release.</p>
<h3>More Routing Enhancements</h3>
<p>There are a few great new features in the routing system in this release. The first off is a real crowd favorite, Nested Resources. Just like Rails you can now nest resources in Mack.</p>
<p><a href="http://www.mackery.com/routing/nested_resources">http://www.mackery.com/routing/nested_resources</a></p>
<p>In Mack 0.8.0 we introduced the ability to put host information in the routes file. This would be used to match the host when matching a route as well as building the url for that route when using the url helpers. This made dealing with subdomains very easier. Well, to really give everyone that subdomain fu everybody loves, we&#8217;ve added the ability to put embedded parameters in the host parameter in routes. It&#8217;s pretty dang cool, let me tell you. Checkout these examples:</p>
<p><a href="http://www.mackery.com/routing/misc">http://www.mackery.com/routing/misc</a></p>
<h3>Pagination API</h3>
<p>There is now a pagination API that&#8217;s part of the mack-orm API. The first implementation of this in the mack-data_mapper package. At its heart it&#8217;s extremely easily to implement for new ORMs, one method, and using it is just as easy. There will be a write up on using the API in the forth coming days.</p>
<h3>Jabber Support</h3>
<p>The mack-notifier package can now send notifications using the Jabber protocol.</p>
<h2>!!Portlets!!</h2>
<p>Portlets are what components in Rails should&#8217;ve been and they&#8217;re what slices in Merb should be. Portlets are a way off packaging a full Mack application into a Ruby Gem so they can easily be shared and used in other Mack applications. As you&#8217;re about to see, this simple page is all the information you need to know about developing, testing, packaging, and using Portlets.</p>
<p>Portlets encapsulate a whole Mack application, from controllers to views to models to configuration settings to your images, stylesheets and javascripts. This makes it possible to develop extremely rich applications and share them with other Mack applications.</p>
<p><a href="http://www.mackery.com/portlets/developing">http://www.mackery.com/portlets/developing</a><br />
<a href="http://www.mackery.com/portlets/testing">http://www.mackery.com/portlets/testing</a><br />
<a href="http://www.mackery.com/portlets/packaging">http://www.mackery.com/portlets/packaging</a><br />
<a href="http://www.mackery.com/portlets/using">http://www.mackery.com/portlets/using</a></p>
<h3>Bug Fixes and Minor Feature Updates</h3>
<p>As always there are great bug fixes and feature updates. Below is the changelog that outlines those improvements.</p>
<p>Changelog:</p>
<ul>
<li>[#217] Fixed rake mack:dump:routes throws errors</li>
<li>[#216] Added ability to turn off view caching in distributed app</li>
<li>[#215] Asset path lookup flow update</li>
<li>[#213] Fixed the params method should be case insensitive</li>
<li>[#211] Added a pagination API to mack-data_mapper</li>
<li>[#210] Added a pagination API to mack-orm</li>
<li>[#209] inline form built by link_to should include authenticity token</li>
<li>[#208] Added support for DataMapper repository context per request</li>
<li>[#207] Fixed session cookie not being deleted properly</li>
<li>[#206] Portlet now have access to its base_path</li>
<li>[#205] Fixed testing of nested parameters and file uploads breaks</li>
<li>[#204] Resource routes can now take options when being defined.</li>
<li>[#203] Updated distributed: view_cache to include Mack::ViewHelpers instead of Mack::ViewHelpers::LinkHelpers</li>
<li>[#200] INCOMPATIBILITY NOTICE: mack-notifier configatron namespaces have changed from *_settings to * (e.g. smtp_settings to smtp)</li>
<li>[#198] Added Embedded parameters in &#8216;host&#8217; for Routes</li>
<li>[#196] Extlib 0.9.8 support</li>
<li>[#195] DataMapper 0.9.6 support</li>
<li>[#193] Portlet Support</li>
<li>[#192] mack-localization now supports portlet</li>
<li>[#191] Asset-Packager support for Portlet</li>
<li>[#143] Nested resources in Routes</li>
<li>[#134] Form elements are now &#8216;errorfied&#8217;.</li>
<li>[#131] Date/Time select boxes can now be easily re-arranged.</li>
<li>[#78] Jabber support</li>
<li>gem: configatron 2.1.5</li>
<li>gem: extlib 0.9.8</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/10/26/release-081/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release 0.7.1</title>
		<link>http://www.metabates.com/2008/09/08/release-071/</link>
		<comments>http://www.metabates.com/2008/09/08/release-071/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 15:15:50 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[cachetastic]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[diogo almeida]]></category>
		<category><![CDATA[facets]]></category>
		<category><![CDATA[genosaurus]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=167</guid>
		<description><![CDATA[Although not as sexy a release as 0.7.0, there are some very important bug fixes and some cool new little features in this release. Rack has been upgraded to v0.4.0. DataMapper to 0.9.5. Facets to 2.4.4, and a few other gems as well. There is now a much nicer session store API that will allow [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Although not as sexy a release as 0.7.0, there are some very important bug fixes and some cool new little features in this release. Rack has been upgraded to v0.4.0. DataMapper to 0.9.5. Facets to 2.4.4, and a few other gems as well.</p>
<p>There is now a much nicer session store API that will allow developers to build their own session stores. There&#8217;s also a couple of new session stores that ship with 0.7.1. There&#8217;s a DataMapper session store, and a cookie session store, which is now the default session store. The previous Cachetastic based session store can be used by requiring the mack-caching gem in gems.rb and putting the following setting in your app_config/*.yml file:</p>
<pre>mack::session_store: cachetastic</pre>
<p>There is now built-in support to help prevent cross-site scripting attacks on forms.&nbsp;Some view helper methods have nice updates such as :disable_with and :confirm, and asset hosts.</p>
<p>And a whole host of other little improvements across the board. Enjoy!</p>
<p>Changelog:</p>
<ul>
<li>[#153] Emails with just a single &#8216;part&#8217; are now being sent correctly.</li>
<li>[#147] Added :confirm to button helpers.</li>
<li>[#146] [Diogo Almeida] Added :disable_with to submit_button form helper.</li>
<li>[#145] Added rake generate:&lt;generator_name&gt;:desc task to &#8216;describe&#8217; a Genosaurus generator</li>
<li>[#144] INCOMPATIBILITY NOTICE: rake server is no more. Please use mackery server instead.</li>
<li>[#142] INCOMPATIBILITY NOTICE: rake console is no more. Please use mackery console instead.</li>
<li>[#140] Added Mack::BootLoader</li>
<li>[#139] Added ability to change the pattern for test files</li>
<li>[#137] Added subdomains method on request.</li>
<li>[#130] Added ability to &#8216;reload&#8217; the console</li>
<li>[#129] DataMapper 0.9.5 support</li>
<li>[#128] Updated json_pure to 1.1.3 and removed ruby-debug dependency</li>
<li>[#127] Moved mack-paths into core</li>
<li>[#126] XSS Prevention</li>
<li>[#125] Cookie store is now the default session store, not cachetastic</li>
<li>[#124] Opened up the session store API</li>
<li>[#122] Added DataMapper session store.</li>
<li>[#121] Cookie session store support.</li>
<li>[#120] Added PassengerGenerator to generate the necessary files to run Mack with Passenger Phusion (mod_rails)</li>
<li>[#118] Mack/mack-more can be loaded from vendor/framework/mack and vendor/framework/mack-more</li>
<li>[#117] Added rake task: mack:freeze:edge</li>
<li>[#107] Updated to Rack 0.4.0</li>
<li>[#95] Removed deprecated model_* methods</li>
<li>[#94] Removed deprecated submit_tag</li>
<li>[#40] Added Mack::Utils::ContentLengthHandler so response will now have &#8216;Content-Length&#8217; in its header.</li>
<li>[#21] Asset Hosts</li>
<li>gem: rack 0.4.0</li>
<li>gem: json_pure 1.1.3</li>
<li>gem: data_mapper 0.9.5</li>
<li>gem: genosaurus 1.2.4</li>
<li>gem: ezcrypto 0.7</li>
<li>gem: facets 2.4.4</li>
</ul>
<p>Â </p>
<p>Â </p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/09/08/release-071/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release 0.6.1.1</title>
		<link>http://www.metabates.com/2008/08/04/release-061/</link>
		<comments>http://www.metabates.com/2008/08/04/release-061/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 17:35:26 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[data factory]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[rjs]]></category>
		<category><![CDATA[ruby-debug]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=117</guid>
		<description><![CDATA[Mack 0.6.1.1 features 38 completed tickets and a whole host of really great features and improvements. Here&#8217;s a quick overview of a few of the big features in Mack 0.6.1.1. Page Caching There is now a mack-caching gem which gives you easy to use page caching when you require it. To use page caching first [...]]]></description>
			<content:encoded><![CDATA[<p>Mack 0.6.1.1 features 38 completed tickets and a whole host of really great features and improvements. Here&#8217;s a quick overview of a few of the big features in Mack 0.6.1.1.</p>
<h3>Page Caching</h3>
<p>There is now a mack-caching gem which gives you easy to use page caching when you require it. To use page caching first you need to add it to your gems.rb file like such:</p>
<pre>gem.add "mack-caching", :libs =&gt; "mack-caching"</pre>
<p>That will require the gem and give your app access to the page caching libraries. Next you to turn on page caching in your application. In the appropriate config/*.yml file add the following:</p>
<pre>use_page_caching: true</pre>
<p>Now, you just need to tell your controllers which actions they should cache:</p>
<pre>class FooController
&nbsp;&nbsp;include Mack::Controller
&nbsp;&nbsp;cache_pages <img src='http://www.metabates.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nly =&gt; [:index, :show]
end</pre>
<p>If you give the cache_pages no optional parameters then it will cache all the actions for that controller. Alternatively, you could give it an :except parameter to list the actions you don&#8217;t want cached.&nbsp;</p>
<h3>Notifiers (aka Mailers)</h3>
<p>Mack now has a mack-notifier gem that will be the repository for all &#8216;notification&#8217; systems, the first of which is email. The Mack::Notifier API is simple and easy to use and will allow developers to plugin in different notification systems under the cover without having to change their application code.&nbsp;</p>
<p>A notifier can look as simple as:</p>
<pre>class WelcomeEmail
&nbsp;&nbsp;include Mack::Notifier
end</pre>
<p>With that you can then write the following bit of code:</p>
<pre>we = WelcomeEmail.new
we.to = "foo@example.com"
we.from = "bar@example.com"
we.subject = "Hello World"
we.body(:text) = "My plain text body"
we.body(:html) = "My html body"
we.attach(Mack::Notifier::Attachment.new("/path/to/my/file"))&nbsp;
we.deliver</pre>
<p>Obviously there&#8217;s a lot more to the API, including a validations module, but that&#8217;s a subject for another post.&nbsp;</p>
<h3>JavaScript (aka RJS)</h3>
<p>The mack-javascript gem now gives you Rails-like RJS support for Mack. The default library to use with mack-javascript is jQuery, but there is prototype support available as well.&nbsp;</p>
<h3>Data Factory</h3>
<p>Creating faux data for testing can be a real nightmare. Fixtures can be difficult to maintain and trying to create your own faux data can be a chore. That&#8217;s where the mack-data_factory gem comes in.</p>
<p>For each model that you want to produce, you will need to define a factory class. &nbsp;</p>
<p>Let&#8217;s say that I have 2 models: Item and User, and Item belongs to user. &nbsp;So the factories will look like the following:</p>
<pre>class ItemFactory
&nbsp;&nbsp;include Mack::Data::Factory
&nbsp;&nbsp;field :title, "MyItem"
&nbsp;&nbsp;field <img src='http://www.metabates.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> wner_id, {:user =&gt; 'id'}
end

class UserFactory
&nbsp;&nbsp;include Mack::Data::Factory
&nbsp;&nbsp;field :username, "planters", :length =&gt; 25, :content =&gt; :alpha
&nbsp;&nbsp;field :password, "roastedPeanuts", :immutable =&gt; true
end</pre>
<p>So, the 2 classes above defined the factory for item and user. &nbsp;As you can see, each factory will need to explicitly&nbsp;list all the fields that it will populate, and for each field, you can define rules on how the content is generated.</p>
<p>Supported content types:&nbsp;</p>
<ul>
<li>:alpha &#8211;&gt; alphabets. &nbsp;rules: [:length, :min_length, :max_length]</li>
<li>:alphanumeric &#8211;&gt; alphabets and number. &nbsp;rules: same as :alpha</li>
<li>:numeric &#8211;&gt; numbers [optional, because if the field's default value is number, its content type will automatically set to numeric)</li>
<li>:email --&gt; generate random email address</li>
<li>:username --&gt; generate random username</li>
<li>:domain --&gt; generate random domain name</li>
<li>:firstname --&gt; generate first name</li>
<li>:lastname --&gt; generate last name</li>
<li>:name --&gt; generate full name</li>
<li>:city --&gt; generate city name</li>
<li>:streetname --&gt; generate street name</li>
<li>:state --&gt; generate state. &nbsp;rules: [:country --&gt; :us or :uk, :abbr --&gt; true if you want a abbreviated state name (us only)]</li>
<li>:zipcode &#8211;&gt; generate zipcode. rules: [:country --&gt; :us or :uk]</li>
<li>:phone &#8211;&gt; generate phone number</li>
<li>:company &#8211;&gt; generate company name. &nbsp;rules: [:include_bs --&gt; include sales tag line]<br />
example: &nbsp;field, &#8220;&#8221;, :content =&gt; :company, :include_bs =&gt; true&nbsp;could generate something like:<br />
Fadel-Larkin&nbsp;monetize cross-media experiences</li>
</ul>
<div>There&#8217;s a lot more to the mack-data_factory gem, so I highly recommend you check it out.</div>
<p>Changelog:</p>
<ul>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/60-mack-app_generator-is-broken" target="_blank">#60</a>] Fixed Mack executable problem</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/59-the-gems-tasks-aren-t-working-again" target="_blank">#59</a>] Fixed gems:* tasks</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/57-files-should-be-moved-under-lib-mack" target="_blank">#57</a>] Moved most files under to lib/mack</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/56-create-mack-utils-registrymap" target="_blank">#56</a>] mack-more: Added Mack::Utils::RegistryMap</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/55-registrymap-and-registrylist" target="_blank">#55</a>] mack-more: mack-facets: Mack::Utils::Registry is now Mack::Utils::RegistryList</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/54-datamapper-0-9-3-support" target="_blank">#54</a>] Added DataMapper 0.9.3 support</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/52-orm-require-needs-to-use-full-path" target="_blank">#52</a>] mack-more: mack-[orm] should require mack-[orm].rb using its full path.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/51-orm-setting-is-in-the-wrong-place-in-newly-generated-app" target="_blank">#51</a>] Application generator should generate orm support in the right place</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/50-split-mack-rb-in-2" target="_blank">#50</a>] Mack will now have 2 environment files: mack_core and mack_app. &nbsp;Mack.rb will load both files, but it gives other module chance to load just the core files and not the application&#8217;s files.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/49-orm-tasks-aren-t-available" target="_blank">#49</a>] Making sure the orm tasks is available when orm_support is removed from the app_config</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/49-orm-tasks-aren-t-available" target="_blank">#49</a>] mack-active_record: &nbsp;mack-active_record.rb will require mack-active_record_tasks.rb</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/49-orm-tasks-aren-t-available" target="_blank">#49</a>] mack-data_mapper: &nbsp;mack-data_mapper.rb will require mack-data_mapper_tasks.rb</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/49-orm-tasks-aren-t-available" target="_blank">#49</a>] Updated warning message if orm is defined in app_config (i.e. user only needs to require mack-[orm_name], instead of both that and mack-[orm_name]_tasks).</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/48-rake-generator-list-displays-wrong-information" target="_blank">#48</a>] rake generator:list now displays the correct names for the generator tasks.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/47-rake-gems-install-blows-up" target="_blank">#47</a>] rake gems:* tasks now work, and no longer require mack_ruby_core_extensions</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/46-to_param-on-nilclass-should-raise-nomethoderror" target="_blank">#46</a>] Calling .to_param on nil now raises a NoMethodError exception.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/45-rake-stats-doesn-t-work-with-test-unit-testcase" target="_blank">#45</a>] rake stats task now works with Test::Unit::TestCase</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/44-refactor-mack-runner-to-make-it-easier-to-extend" target="_blank">#44</a>] Mack::Runner has now been extended to allow for greater extension flexibility.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/43-create-a-registry-base-class" target="_blank">#43</a>] Added a Mack::Utils::Registry class to allow for easy creation of registries.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/42-applications-should-be-able-to-turn-of-sessions-globally" target="_blank">#42</a>] Sessions can now be turned off globally using the app_config.mack.use_sessions switch.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/41-deprecate-app_config-orm" target="_blank">#41</a>] Deprecate orm_support.rb</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/38-a-controller-registry-is-needed" target="_blank">#38</a>] There is now a registry of Controllers that are in the system.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/36-controller-s-don-t-have-control-over-there-initialize-methods" target="_blank">#36</a>] Renamed the initialize method in the Mack::Controller module to configure_controller. This gives</li>
<li>&nbsp;&nbsp;control of the initialize method back to the class.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/34-mack-l10n-raised-exception-should-have-fully-qualified-name" target="_blank">#34</a>] Mack::l10n now raises exception with a fully qualified name.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/33-mack-0-6-0-activerecord-dependency" target="_blank">#33</a>] mack-active_record now requires ActiveRecord 2.0.2 explicitly, not &gt;=2.0.2</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/31-support-for-ruby-debug" target="_blank">#31</a>] Added support for ruby-debug.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/26-log-coloring-in-console" target="_blank">#26</a>] Log Coloring for console output.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/24-mailer-support" target="_blank">#24</a>] Added mack-notifier support.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/18-page-caching" target="_blank">#18</a>] Added Page caching.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/14-fixtures-like-thing" target="_blank">#14</a>] Data Factory</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/7-hookable">#7</a>] Added support for Extlib::Hook in a few places.</li>
<li>[<a href="http://mack.lighthouseapp.com/projects/11385/tickets/6-rjs" target="_blank">#6</a>] RJS support</li>
<li>Added a rake tmp:clear task.</li>
<li>gem: application_configuration 1.5.1</li>
<li>gem: ruby-debug 0.10.0</li>
<li>gem: data_mapper 0.9.3</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/08/04/release-061/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Release 0.6.0</title>
		<link>http://www.metabates.com/2008/07/16/release-060/</link>
		<comments>http://www.metabates.com/2008/07/16/release-060/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 14:04:22 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[active record]]></category>
		<category><![CDATA[darsono sutedja]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[mack-more]]></category>
		<category><![CDATA[markaby]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[rspec]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=110</guid>
		<description><![CDATA[Well, it&#8217;s finally here, Mack 0.6.0! This release has taken a long time, but I feel that it&#8217;s definitely worth it. This has to be the best release of Mack to date. During this release the Mack dev team grew by 100%, Darsono Sutedja, previously a contributor to Mack, is now a full time Mack [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s finally here, Mack 0.6.0! This release has taken a long time, but I feel that it&#8217;s definitely worth it. This has to be the best release of Mack to date. During this release the Mack dev team grew by 100%, Darsono Sutedja, previously a contributor to Mack, is now a full time Mack core team developer! Darsono has done an absolutely great job on this release, thanks Darsono. With that out of the way, let&#8217;s jump straight to the good stuff, shall we?</p>
<h3>DataMapper 0.9.2 Support</h3>
<p>At long last Mack supports DataMapper 0.9.2. Because previous versions of Mack used DataMapper 0.3.2, there is some upgrade work that you&#8217;ll need to do, but trust me, it&#8217;s worth it. DataMapper 0.9.2 is a gigantic leap forward from 0.3.2. If you have problems installing the data_mapper gem, make sure that you don&#8217;t have gems.datamapper.org in your source path for rubygems. You can remove it with the following command:</p>
<pre>gem source -r http://gems.datamapper.orgÂ </pre>
<h3>RSpec Testing Support</h3>
<p>RSpec is now the default testing framework for new Mack applications. This innovative testing framework makes it fun, and simple, to do behavior driven development. If you haven&#8217;t yet played with RSpec, I would highly recommend it. I wasn&#8217;t a big fan of &#8216;spec&#8217; testing prior to meeting Adam French, of DataMapper fame, and he turned me on to the joys of rspec. I think you&#8217;ll like it too, if you give it a chance. <img src='http://www.metabates.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>mack-more</h3>
<p>There is now a mack-more package. This will house all the optional gems available to the Mack framework. This include things like HAML and Markaby support, localization, etc&#8230; Use what you want, ignore the rest. This will help keep the core code clean, light, and of course, fast.</p>
<h3>Localization/l10n Support</h3>
<p>Darsono did a great job with the mack-localization gem. There is now optional support for internationalization in Mack applications. Check out the gem, it&#8217;s definitely worth it if you need to support multiple languages for your web application.</p>
<h3>Much, much more!</h3>
<p>Of course, there&#8217;s a lot more Mack than the stuff I just mentioned, there&#8217;s tons of bug fixes, some code clean up, some API changes, transactional testing support, the ability to catch specific errors in routes and have them diverted to a controller/action for handling.</p>
<p>There is a great wiki entry on upgrading your existing Mack project to 0.6.0 <a href="http://wiki.mackframework.com/index.php/en/Upgrading%20from%200.5.x%20to%200.6.x" target="_blank">here</a>. I highly recommend reading it whether or not you have an existing Mack application.</p>
<p>With this release the Mack team is also fully embracing Lighthouse. If you find bugs, or have suggestions please visit <a href="http://lighthouse.mackframework.com" target="_blank">http://lighthouse.mackframework.com</a>Â and log them there. You&#8217;ll also find the list of features that will eventually be added to Mack.</p>
<p>Changelog:</p>
<ul>
<li>INCOMPATIBILITY NOTICE: Moved Mack::Configuration.root to Mack.root</li>
<li>INCOMPATIBILITY NOTICE: Moved Mack::Configuration.env to Mack.env</li>
<li>INCOMPATIBILITY NOTICE: Mack::Configuration.* path methods no longer exist. Use mack-paths instead.</li>
<li>INCOMPATIBILITY NOTICE: Dropped mack_ruby_core_extensions in favor or mack-facets</li>
<li>INCOMPATIBILITY NOTICE: Mack::Controller::Base is now Mack::Controller (and it&#8217;s now a module)</li>
<li>INCOMPATIBILITY NOTICE: Haml renderer is now part of mack-more.</li>
<li>INCOMPATIBILITY NOTICE: Markaby renderer is now part of mack-more.</li>
<li>INCOMPATIBILITY NOTICE: Changed request param&#8217;s accessor routine, from params(key) to params[key]</li>
<li>INCOMPATIBILITY NOTICE: Test::Unit::TestCase is no longer the default testing framework, RSpec is. If you wish to useÂ Test::Unit::TestCase add the following config parameter to your config/app_config/default.yml file:<br />
Â Â mack::testing_framework: test_case</li>
<li>INCOMPATIBILITY NOTICE: ENV["_mack_env"] and ENV["_mack_root"] are no longer supported, please use ENV["MACK_ENV"] and ENV["MACK_ROOT"], or just Mack.env and Mack.root</li>
<li>INCOMPATIBILITY NOTICE: MACK_DEFAULT_LOGGER constant is no longer available. Please use Mack.logger instead.</li>
<li>INCOMPATIBILITY NOTICE: The ApplicationHelper module is now deprecated. Please move view level helpers into Mack::ViewHelpers::* and controller helpers into Mack::ControllerHelpers::&lt;controller_name&gt;</li>
<li>thin.ru and thin.yml are no longer needed, you may delete them.</li>
<li>RSpec assertions are now automatically added.</li>
<li>Added a Mack::Testing::Response class to make testing of responses easier.</li>
<li>moved test_extensions to testing and added the module Testing to the files in it.</li>
<li>Added a dependency on mack-more</li>
<li>Added a set of Rake tasks to update existing Mack applications.</li>
<li>[#30] Added Mack::Logging::Filter to filter out unwanted parameters from the logs.</li>
<li>In routing you can now define a route that will catch an Exception from another controller.</li>
<li>ORM will not be initialized if the app never specify which ORM to use.</li>
<li>All Mack unit tests are now written using rspec-1.1.4.</li>
<li>mack command now takes an optional -t flag to determine which testing framework to use&#8211;value could be test_case or rspec [default]</li>
<li>new setting added to app_config: testing_framework</li>
<li>gem: cachetastic 1.7.2</li>
<li>gem: application_configuration 1.5.0</li>
<li>gem: erubis 2.6.2</li>
<li>gem: genosaurus 1.2.1</li>
<li>gem: thin 0.8.2</li>
<li>gem: rspec 1.1.4</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/07/16/release-060/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>0.6.0 Coming VERY soon!</title>
		<link>http://www.metabates.com/2008/07/10/060-coming-very-soon/</link>
		<comments>http://www.metabates.com/2008/07/10/060-coming-very-soon/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 18:40:59 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[mack-more]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=109</guid>
		<description><![CDATA[Well folks, as you know, things have been a bit quiet on the Mack front these days, but it&#8217;s all been for a very good reason. We&#8217;ve been prepping the next release, 0.6.0. This release is expected to hit the streets sometime the beginning of next week. There&#8217;s a lot of really great stuff in [...]]]></description>
			<content:encoded><![CDATA[<p>Well folks, as you know, things have been a bit quiet on the Mack front these days, but it&#8217;s all been for a very good reason. We&#8217;ve been prepping the next release, 0.6.0. This release is expected to hit the streets sometime the beginning of next week. There&#8217;s a lot of really great stuff in the release, DataMapper 0.9.2 support (finally!), RSpec testing support, a mack-more project to house a bunch of cool Mack related gems, Exception handling in Routing, and more&#8230; A full list will be available when the release happens.</p>
<p>In addition to the great new features, a lot of bugs have been worked out, and more of the API has solidified further. Because of some of these changes I&#8217;ve posted an upgrade guide from 0.5.x to 0.6.0. This guide can be found on the <a href="http://wiki.mackframework.com/index.php/en/Upgrading%20from%200.5.x%20to%200.6.x" target="_blank">wiki</a>.&nbsp;</p>
<p>This guide is meant to make upgrading as quickly and as a painless possible. There are a couple of big changes, but they should be fairly simple to make.</p>
<p>I&#8217;m very happy with this release, it&#8217;s been long toiled over, and it shows. It&#8217;s very stable, fast, and fun. I think everyone is really going to like it.&nbsp;</p>
<p>As more info about the release becomes available, I&#8217;ll keep everyone posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/07/10/060-coming-very-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why so quiet?</title>
		<link>http://www.metabates.com/2008/06/23/why-so-quiet/</link>
		<comments>http://www.metabates.com/2008/06/23/why-so-quiet/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 18:00:10 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[markaby]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[rjs]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=107</guid>
		<description><![CDATA[I&#8217;m sure everyone is wondering why things have been so quiet around the Mack front recently. Well, there are a couple of reasons. One, I&#8217;m on vacation in Ireland right now, so my coding time has dropped dramatically. Second, I&#8217;m still very much so patiently awaiting the 0.9.2 release of DataMapper, which the next version [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure everyone is wondering why things have been so quiet around the Mack front recently. Well, there are a couple of reasons. One, I&#8217;m on vacation in Ireland right now, so my coding time has dropped dramatically. Second, I&#8217;m still very much so patiently awaiting the 0.9.2 release of DataMapper, which the next version of Mack needs. Third, there is a lot of Mack work afoot at the moment.</p>
<p>The company I work has seen fit to give me a few more resources to help me make Mack the most kick ass framework out there. I&#8217;ve not got 1.5 more bodies diligently working away on Mack, with another body to hopefully be hired in the next full weeks. That will mean, within a few weeks there will be 3.5 full time bodies working on Mack! Awesome!</p>
<p>There are some great things that are going to be in the next build, but mostly it&#8217;ll be a nice refactoring. We&#8217;re going to splitting a bunch of stuff out of the core of Mack and putting into a mack-more package, similar to the approach Merb and DataMapper have adopted. In mack-more there will be l10n internationalization, RJS support (Prototype AND jQuery), DataMapper 0.9.x support, HAML, Markaby, PDF::Writer support, amongst others. It&#8217;ll be nice. Trust me. <img src='http://www.metabates.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>We hope to have the next release out within the first or second week of July, of course, this really depends on when the DataMapper release can get out there. Once we get this release out, we can really focus on some extremely kick ass new features. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/06/23/why-so-quiet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiki + DM 0.9.2</title>
		<link>http://www.metabates.com/2008/06/13/wiki-dm-092/</link>
		<comments>http://www.metabates.com/2008/06/13/wiki-dm-092/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 19:04:13 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=106</guid>
		<description><![CDATA[Hey everyone, people have asked for it, so here it is, a Wiki for Mack: http://wiki.mackframework.com/ I&#8217;ve placed a few tutorials up there, and it&#8217;ll be the defacto place for such information. I highly encourage everyone to create an account and add to the knowledge base there. On a different note, it looks like the [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone, people have asked for it, so here it is, a Wiki for Mack:</p>
<p><a href="http://wiki.mackframework.com/" target="_blank">http://wiki.mackframework.com/</a></p>
<p>I&#8217;ve placed a few tutorials up there, and it&#8217;ll be the defacto place for such information.</p>
<p>I highly encourage everyone to create an account and add to the knowledge base there.</p>
<p>On a different note, it looks like the next version of DataMapper will be out in the next few days. This is great news for Mack developers as the next release of Mack has been held back because it requires stuff in the DataMapper 0.9.2. Once that&#8217;s out, the next version of Mack will be right on it&#8217;s tail! Keep watching this space.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/06/13/wiki-dm-092/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DataMapper 0.9.x and Mack</title>
		<link>http://www.metabates.com/2008/06/01/datamapper-09x-and-mack/</link>
		<comments>http://www.metabates.com/2008/06/01/datamapper-09x-and-mack/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 06:14:51 +0000</pubDate>
		<dc:creator>Mark Bates</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[adam french]]></category>
		<category><![CDATA[data mapper]]></category>
		<category><![CDATA[dm-voyeur]]></category>
		<category><![CDATA[mack]]></category>
		<category><![CDATA[migrations]]></category>
		<category><![CDATA[rails conf 08]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.mackframework.com/?p=103</guid>
		<description><![CDATA[As I&#8217;ve told a lot of you my goal was to have a Mack release out by the end of RailsConf, which ends tomorrow, that would be rocking the newly released version of DataMapper, 0.9.1. The good news is I&#8217;ve pretty much got it all done, and it works great! The bad news is I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve told a lot of you my goal was to have a Mack release out by the end of RailsConf, which ends tomorrow, that would be rocking the newly released version of DataMapper, 0.9.1. The good news is I&#8217;ve pretty much got it all done, and it works great! The bad news is I&#8217;m not going to release it.</p>
<p>Why is this you might ask? Why aren&#8217;t I going to get Mack support for DataMapper 0.9.1 out there, if it already works. Great questions. The answer is simply this, migrations. I&#8217;ve spent most of the weekend hanging out with a great guy by the name of Adam French. Adam is one of the core developer&#8217;s of DataMapper. As a matter of fact, I just left Adam after we spent a couple of hours in the hotel bar writing a gem called, dm-voyeur, to allow for &#8216;observing&#8217; of DataMapper::Resource objects.</p>
<p>Anyway, as I&#8217;ve been hanging out with Adam I&#8217;ve been trying to upgrade the Mack migration generator script to build the new style format for DataMapper 0.9.1. What I found though, was that migrations have a minor flaw, you have to write the SQL for the column! That means they aren&#8217;t portable! This bit me in the butt when I had a migration I wrote against Postgres that would run, but wouldn&#8217;t give me the results I expected in SQLite3. After spending most of the weekend complaining to Adam about this, he kindly pointed out that I have full commit access to DataMapper, and I should probably just fix the bloody thing myself. So that&#8217;s what I&#8217;ve done.</p>
<p>The great news is that migrations are now pretty sweet. The bad news is I&#8217;m not going to release Mack support for DataMapper 0.9.x until they put out the next release so everyone in the Mack universe can have a nice experience using the new migrations. Although I don&#8217;t know just when the next release of DataMapper will be, I estimate that it will be relatively soon. Keep an eye on this space.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.metabates.com/2008/06/01/datamapper-09x-and-mack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.597 seconds -->
