<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>90674375a60404a258a231658699accd7cc1add5</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/7d9e1b692500e6b32f94552269cc943c321262dd</url>
    <id>7d9e1b692500e6b32f94552269cc943c321262dd</id>
    <committed-date>2009-03-29T14:17:02-07:00</committed-date>
    <authored-date>2009-03-29T14:17:02-07:00</authored-date>
    <message>List and Listitem models and controllers.

Not fully complete yet, but a lot more stuff implemented.</message>
    <tree>05669e9a998b56a0e5db74a23d268fd0d022a4e6</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>50541d331e933a1373016aedc77dae765ca78eeb</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/90674375a60404a258a231658699accd7cc1add5</url>
    <id>90674375a60404a258a231658699accd7cc1add5</id>
    <committed-date>2009-03-20T22:41:12-07:00</committed-date>
    <authored-date>2009-03-20T22:41:12-07:00</authored-date>
    <message>revised layout for grantneufeld.ca to fix javascript load order</message>
    <tree>503e1304e9fd37aa712e6b8f2bcbd1fdb36b0b6c</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>edfbd6e1b42e8e40354bed1d8eed1855a1b77a3a</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/50541d331e933a1373016aedc77dae765ca78eeb</url>
    <id>50541d331e933a1373016aedc77dae765ca78eeb</id>
    <committed-date>2009-03-20T22:32:57-07:00</committed-date>
    <authored-date>2009-03-20T22:32:57-07:00</authored-date>
    <message>revised layout for grantneufeld.ca site to support Twitter badge</message>
    <tree>387703514d6d39c6212059c5e9a97781f36824e2</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>1eaff5947c0aedf17af80a7fc4b8cc4453aa77a2</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/edfbd6e1b42e8e40354bed1d8eed1855a1b77a3a</url>
    <id>edfbd6e1b42e8e40354bed1d8eed1855a1b77a3a</id>
    <committed-date>2009-03-16T15:52:10-07:00</committed-date>
    <authored-date>2009-03-16T15:52:10-07:00</authored-date>
    <message>add events.status field.

Possible values:
'' =&gt; normal Event.
'submitted' =&gt; Event that has been submitted by a non-staff/admin, but not yet approved.
'blocked' =&gt; Event that has been blocked from inclusion on the site (intended for use when accepting/pulling events from other websites).</message>
    <tree>3c41648a3d513c135beb4a0272b5d2d157b74855</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>f83162f74e67f1f6e2ea9d3e80b638ec7a9168d7</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/1eaff5947c0aedf17af80a7fc4b8cc4453aa77a2</url>
    <id>1eaff5947c0aedf17af80a7fc4b8cc4453aa77a2</id>
    <committed-date>2009-03-15T19:24:48-07:00</committed-date>
    <authored-date>2009-03-15T19:24:48-07:00</authored-date>
    <message>in progress phonelog controller for PhoneMessages.

The phonelog isn&#8217;t quite functional yet.

Modified db field names for phone_messages table.
* phone_messages.user is now named posted_by
* phone_messages.owner is now named recipient
* phone_messages.contact is now polymorphic</message>
    <tree>3342931121613f8bd7a64ddac5005875a8fc7a86</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>7f6ec30bb897e0f5eace60f9642b1e04e0e709e7</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/f83162f74e67f1f6e2ea9d3e80b638ec7a9168d7</url>
    <id>f83162f74e67f1f6e2ea9d3e80b638ec7a9168d7</id>
    <committed-date>2009-03-15T19:06:42-07:00</committed-date>
    <authored-date>2009-03-15T19:06:42-07:00</authored-date>
    <message>required methods for &#8220;Contactable&#8221; items.

Contactable models share a common set of methods when used polymorphicly.

Contactable classes:
EmailAddress, Group, Location, Membership, Recipient, User.

Methods:
email: Main email address for the contact.
email_addresses: Array of email_addresses associated with the contact.
locations: Array of Locations associated with the contact.
name: The name of the contact.</message>
    <tree>486ae6e4b7cf4c084ceb014b8791dcc64fce42e0</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>4058ba4c8f9a893da62f355acde991f401e1245b</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/7f6ec30bb897e0f5eace60f9642b1e04e0e709e7</url>
    <id>7f6ec30bb897e0f5eace60f9642b1e04e0e709e7</id>
    <committed-date>2009-03-03T12:15:19-08:00</committed-date>
    <authored-date>2009-03-03T12:15:19-08:00</authored-date>
    <message>email addresses controller - now working

The email addresses controller now works (/email_addresses or /user/email_addresses).

Made some fixes and additions to EmailAddress and Membership (including the memberships controllers and views) to get this working.

Started implementing support for sub-sections for the users controller (like with the groups controller). Still need to put content in the views/users/ partial templates for header, footer and standard.</message>
    <tree>96fff2c5e90792c2e16bf71e04fdf3834dd51a7d</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d7d47cff1bff1680a05cb36bc75976472a8ee585</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/4058ba4c8f9a893da62f355acde991f401e1245b</url>
    <id>4058ba4c8f9a893da62f355acde991f401e1245b</id>
    <committed-date>2009-02-25T21:45:08-08:00</committed-date>
    <authored-date>2009-02-25T21:45:08-08:00</authored-date>
    <message>email messages display fix

A couple minor fixes to the display of email messages.</message>
    <tree>e24d51ca8eff24f2280c8ed16823290f4d32adc4</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5da0dcf1338897c66b805ae4b19cf4fb400f0d88</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/d7d47cff1bff1680a05cb36bc75976472a8ee585</url>
    <id>d7d47cff1bff1680a05cb36bc75976472a8ee585</id>
    <committed-date>2009-02-24T12:32:54-08:00</committed-date>
    <authored-date>2009-02-24T12:32:54-08:00</authored-date>
    <message>DB: better indexing for memberships table</message>
    <tree>7c4781ef96a3488f42a48fa44afeb13d0e751e10</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6f64d40532f2086c3dcc81bafcd5e803ab311bbc</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/5da0dcf1338897c66b805ae4b19cf4fb400f0d88</url>
    <id>5da0dcf1338897c66b805ae4b19cf4fb400f0d88</id>
    <committed-date>2009-02-24T12:31:56-08:00</committed-date>
    <authored-date>2009-02-24T11:41:04-08:00</authored-date>
    <message>Major overhaul of email handling (addresses and messages)

Database:
* Removed activation_code, activated_at from users.
* Added is_blocked, created_at to email_addresses.
* Removed timestamps from email_addresses.
* email_addresses.email and .activation_code are unique.
* email_messages.status cannot be null and defaults to 'draft'.
* recipient replaces user, to, timestamps with email_address, created_at, last_send_attempt_at and sent_at.
* recipient.email_address is unique within the scope of the email_message.

EmailAddress:
* Can be flagged as blocked to prevent any messages from being sent to it (email_messages.is_blocked).
* unique for email
* is what gets activated instead of the User
* is ordered for the User, if there is a User assigned (email_addresses.position)
* stores a name, and uses the User.fullname if nil
* Can be assigned to a Membership without a User. The User gets assigned to the Membership if the EmailAddress gets assigned to the User.
* to_s gives the EmailAddress as a string suitable for use in a To, From, etc. email message field.
* Activation now incorporates a second code to confirm the email address.

EmailMessage:
* can be saved as a draft for further editing and later sending.
* the recipients are determined either by a string listing email addresses (with optional names), or by a related item (currently just a Group).
* The recipients list is kept to unique EmailAddresses, so no duplicates sent to the same email.
* The fake attribute &#8220;self_copy&#8221; sends a copy to the user sending the email.
* The To field can be set to any arbitrary sender email (and optional name).

Group:
* Added support for use with EmailMessages.
* Changed bulk operations to work with EmailAddress instead of User as the focus.

Membership:
* Can now use an EmailAddress instead of a User. (Can still use both).

Notifier:
* Uses EmailAddress instead of User.
* Added email_message method for use in delivery of EmailMessages.

Recipient:
* Uses EmailAddress instead of User.
* to_s just passes through to EmailAddress to get a string suitable for a To, From, etc., email message field.

Site:
* Identifies local domains for sending emails. Used to identify when to add extra message header fields on sending so that anti-spam tools won&#8217;t think we&#8217;re trying to send for domains that aren&#8217;t local.

User:
* email management significantly overhauled to make EmailAddress model the main focus of email addresses.
* Activation moved to EmailAddress.

email_messages_controller:
* Implemented.
* Works either independently (/email_messages) or for a group (/groups/1234/emails).

config.yml:
* Added EMAIL_BOUNCE which defines an email address to direct bounced emails to.

Etc.:
* Tons of updates to testing fixtures to deal with the changes to handling email addresses.
* Various tweaks and minor bug fixes.</message>
    <tree>228066f157f3ccddbaab969d003c90a9be14596d</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9da3c029d5ebe7f852da59ba38fa3c3fbab3bd0d</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/6f64d40532f2086c3dcc81bafcd5e803ab311bbc</url>
    <id>6f64d40532f2086c3dcc81bafcd5e803ab311bbc</id>
    <committed-date>2009-02-24T11:39:06-08:00</committed-date>
    <authored-date>2009-02-24T11:39:06-08:00</authored-date>
    <message>using mocha for mocks and stubbing in tests

Also moved config.gem calls for testing related gems out of the main environment.rb into environments/test.rb.</message>
    <tree>e9ac94d1784847be77bd3614f5d5de560a2fe20f</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e2677d44c83f856ead6ba0eaa4dcc908a1404f72</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/9da3c029d5ebe7f852da59ba38fa3c3fbab3bd0d</url>
    <id>9da3c029d5ebe7f852da59ba38fa3c3fbab3bd0d</id>
    <committed-date>2009-02-24T11:37:57-08:00</committed-date>
    <authored-date>2009-02-24T11:37:57-08:00</authored-date>
    <message>CSS: first th in tbody table row aligns right (main stylesheet)</message>
    <tree>9bcdc0daff261587a7259639b7212e474d4b4d99</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6f9a40673cbf3a47ddd6e4ea318e5114f543c42c</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/e2677d44c83f856ead6ba0eaa4dcc908a1404f72</url>
    <id>e2677d44c83f856ead6ba0eaa4dcc908a1404f72</id>
    <committed-date>2009-02-24T11:37:18-08:00</committed-date>
    <authored-date>2009-02-24T11:37:18-08:00</authored-date>
    <message>ignore Capistrano deploy files</message>
    <tree>1524979a35286477d27e6368f45d5ec748dc0ab5</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>449c672280f299514d1303193ad49a8735b17b07</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/6f9a40673cbf3a47ddd6e4ea318e5114f543c42c</url>
    <id>6f9a40673cbf3a47ddd6e4ea318e5114f543c42c</id>
    <committed-date>2009-02-23T11:44:39-08:00</committed-date>
    <authored-date>2009-02-23T11:44:39-08:00</authored-date>
    <message>move exceptions into separate initializer

I&#8217;m not sure this is the best place for them. Maybe lib/ or application.rb?

Also cleaned out the unused Wayground::SITES stuff since that&#8217;s now managed by the Site model.</message>
    <tree>40db714830866f487c2b368b5378d4ee6528a990</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a922d727af03fe953b87075689185585e049a710</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/449c672280f299514d1303193ad49a8735b17b07</url>
    <id>449c672280f299514d1303193ad49a8735b17b07</id>
    <committed-date>2009-02-12T10:29:48-08:00</committed-date>
    <authored-date>2009-02-12T10:29:48-08:00</authored-date>
    <message>fix Page so it correctly sets Path.site

If page.site is set, it needs to assign that Site to page.path.site when setting up the Path.</message>
    <tree>584640c09d4e5d32990dc4426279c3a61fb2bcfd</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>4aa619d1141376ce177e404dcba56dac585f29cb</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/a922d727af03fe953b87075689185585e049a710</url>
    <id>a922d727af03fe953b87075689185585e049a710</id>
    <committed-date>2009-02-12T10:28:01-08:00</committed-date>
    <authored-date>2009-02-11T04:06:43-08:00</authored-date>
    <message>html/css design for Grant&#8217;s personal site</message>
    <tree>789b8b8475adf7255cea0072191b1e9fa158ac9f</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>712ae96366c8046adf4864c75e90e38c0d7b3194</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/4aa619d1141376ce177e404dcba56dac585f29cb</url>
    <id>4aa619d1141376ce177e404dcba56dac585f29cb</id>
    <committed-date>2009-02-10T23:54:26-08:00</committed-date>
    <authored-date>2009-02-10T23:54:26-08:00</authored-date>
    <message>update of public/icon/

Moved documentation from public/icon/ to doc/.
Removed nearly-empty directory from repository.</message>
    <tree>d78cc1b528f390d5dddb0c3e5ad9841abeea3bf3</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>697df3cbbdb571d5a0e09d7464b6bd37e9095dde</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/712ae96366c8046adf4864c75e90e38c0d7b3194</url>
    <id>712ae96366c8046adf4864c75e90e38c0d7b3194</id>
    <committed-date>2009-02-10T01:13:56-08:00</committed-date>
    <authored-date>2009-02-10T01:13:56-08:00</authored-date>
    <message>WAYGROUND['ALLOW_SIGNUP'] config blocks new user signup if false</message>
    <tree>feb0b934a44242aa412c97aee2f35ec9bd27331a</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>89a2fef72b410b80cea9628edd171d3266cb2fbf</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/697df3cbbdb571d5a0e09d7464b6bd37e9095dde</url>
    <id>697df3cbbdb571d5a0e09d7464b6bd37e9095dde</id>
    <committed-date>2009-02-07T16:32:35-08:00</committed-date>
    <authored-date>2009-02-07T16:32:35-08:00</authored-date>
    <message>groups and memberships views: a little tweaking</message>
    <tree>f154923625fb4f174cb0aa4542912a416506e0df</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a79c622d62ef3df64b0371de806d8209c5811953</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/89a2fef72b410b80cea9628edd171d3266cb2fbf</url>
    <id>89a2fef72b410b80cea9628edd171d3266cb2fbf</id>
    <committed-date>2009-02-07T16:28:45-08:00</committed-date>
    <authored-date>2009-02-07T16:28:45-08:00</authored-date>
    <message>tags in coded format (&#8220;domain:class=id&#8221;)

Support the specialized format of tags that allows for some structured information to be represented.

For example, Flickr supports the use of tags like &#8220;upcoming:event=123&#8221; which links a tagged photo to a specific event on the Upcoming events website. Flickr then displays a link to the event listing on Upcoming in the info for the photos. Additionally, Upcoming tracks which photos have these tags and displays them when users view the specified events.</message>
    <tree>7c8cdd59841b79379f52d1f1fddb82fc4f38b131</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>8f85657c730188d393883deafd66644db7cb8ed0</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/a79c622d62ef3df64b0371de806d8209c5811953</url>
    <id>a79c622d62ef3df64b0371de806d8209c5811953</id>
    <committed-date>2009-02-06T01:09:07-08:00</committed-date>
    <authored-date>2009-02-06T01:09:07-08:00</authored-date>
    <message>EmailAddress model implementation

* Various functions for the EmailAddress model, along with full unit test coverage.
* Patching in email_addresses as an attribute on User.
* Slight adjustment to email_addresses database migration:
- refined null allowance,
- made email index non-unique.</message>
    <tree>91650285c5c56339409a61ea612967492a20ad59</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>b46c3bdc0482d2796478b64f5f4d1ff3a6f371eb</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/8f85657c730188d393883deafd66644db7cb8ed0</url>
    <id>8f85657c730188d393883deafd66644db7cb8ed0</id>
    <committed-date>2009-02-05T12:14:02-08:00</committed-date>
    <authored-date>2009-02-05T12:14:02-08:00</authored-date>
    <message>messaging and EmailAddress testing; route for notes

* Add missing route for notes controller.
* Test routes for email_addressess and notes controllers.
* Unit tests for EmailMessage and PhoneMessage models.</message>
    <tree>50f33d3c637e98f14fae18afb324b2b15264f01c</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>26fd690d26adb62b0bb055a1b299248c782579b5</id>
      </parent>
      <parent>
        <id>b351892091aa6fbf433a0df347791355602ec53a</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/b46c3bdc0482d2796478b64f5f4d1ff3a6f371eb</url>
    <id>b46c3bdc0482d2796478b64f5f4d1ff3a6f371eb</id>
    <committed-date>2009-02-05T10:39:56-08:00</committed-date>
    <authored-date>2009-02-05T10:39:56-08:00</authored-date>
    <message>Merge branch 'dboverhaul'</message>
    <tree>27121c51bd54085eb39f46dea41fd24902769367</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>497fe19abda331f65c1a46f08859f1c7000ec522</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/26fd690d26adb62b0bb055a1b299248c782579b5</url>
    <id>26fd690d26adb62b0bb055a1b299248c782579b5</id>
    <committed-date>2009-02-05T10:37:22-08:00</committed-date>
    <authored-date>2009-02-05T10:37:22-08:00</authored-date>
    <message>Notes model

new model for attaching a &#8220;note&#8221; (arbitrary chunk of text) to any item.</message>
    <tree>216e9c560b735b09c7c65e60aa7cea6b57252c9e</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>734dafe8be6dfa12ba52ab8077a3454dfcf3c499</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/497fe19abda331f65c1a46f08859f1c7000ec522</url>
    <id>497fe19abda331f65c1a46f08859f1c7000ec522</id>
    <committed-date>2009-02-05T10:28:40-08:00</committed-date>
    <authored-date>2009-02-05T10:28:40-08:00</authored-date>
    <message>Messaging - sending emails and recording phone messages

Four new models:
* EmailMessage: send a message to a user or a group.
* PhoneMessage: record a message for a user (typically from an incoming phone call).
* Recipient: links an individual recipient (User) to an EmailMessage.
* Attachment: links a Document to an EmailMessage.</message>
    <tree>8239e67900a296bad2315633b17275eac86b76e1</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0b31d3a5f541b3fa4f7ae9954783caa5759123cd</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/734dafe8be6dfa12ba52ab8077a3454dfcf3c499</url>
    <id>734dafe8be6dfa12ba52ab8077a3454dfcf3c499</id>
    <committed-date>2009-02-05T10:17:58-08:00</committed-date>
    <authored-date>2009-02-05T10:17:58-08:00</authored-date>
    <message>paths controller index action: minor fix</message>
    <tree>113c40723c583b8ad1778967175f8d1cf4311ee7</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e2fb6f97e66af59297f02d5f1e71457f342af5d8</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/b351892091aa6fbf433a0df347791355602ec53a</url>
    <id>b351892091aa6fbf433a0df347791355602ec53a</id>
    <committed-date>2009-02-05T10:13:53-08:00</committed-date>
    <authored-date>2009-02-05T10:13:53-08:00</authored-date>
    <message>EmailAddress - new support class

Location#email has been removed.
Additional email addresses for Users are now handled through the EmailAddress class.</message>
    <tree>af4be34ef77dbbd5c56648809072d1a0f5c6085c</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>84b2884249771a4f68ccfaf5d0da032ed0a0f964</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/e2fb6f97e66af59297f02d5f1e71457f342af5d8</url>
    <id>e2fb6f97e66af59297f02d5f1e71457f342af5d8</id>
    <committed-date>2009-02-05T09:55:33-08:00</committed-date>
    <authored-date>2009-02-05T09:55:33-08:00</authored-date>
    <message>Tag attr_accessible and validations

* Tag#item attributes added to attr_accessible.
* validates presence of item and user.</message>
    <tree>f24f088c194ee8992f207860e087a42619c8e4e1</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>30caf7e3988a91dd9a37894ce8bafacd3e73ceaa</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/84b2884249771a4f68ccfaf5d0da032ed0a0f964</url>
    <id>84b2884249771a4f68ccfaf5d0da032ed0a0f964</id>
    <committed-date>2009-02-05T09:52:52-08:00</committed-date>
    <authored-date>2009-02-05T09:52:52-08:00</authored-date>
    <message>db overhaul cleanup

* Article attributes added to attr_accessible
* removed references to dropped models (i.e., Contact)</message>
    <tree>e1f15ae334e9a1196946bb0a0b376bc03e27b680</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>16def6da99e0aef6da870e762a8fe305dd9b2a66</id>
      </parent>
    </parents>
    <author>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </author>
    <url>http://github.com/grantneufeld/wayground/commit/30caf7e3988a91dd9a37894ce8bafacd3e73ceaa</url>
    <id>30caf7e3988a91dd9a37894ce8bafacd3e73ceaa</id>
    <committed-date>2009-02-05T09:29:56-08:00</committed-date>
    <authored-date>2009-02-05T09:29:56-08:00</authored-date>
    <message>WARNING: Migrations renamed - breaks previous migrations

You cannot migrate from previous versions to the new migrations!

FUTURE CHANGES:

This will hopefully be the only time this happens.

I&#8217;m making this change now because no one else is using the code yet (that I&#8217;m aware of), so there&#8217;s still room to make this major cleanup.

The previous commit changed the content of the migrations quite significantly. I&#8217;ve done this in two parts so the diff on the previous commit will show content changes and the diff on this commit will show renaming (doing both at once would make it much harder to figure out what all the changes are).</message>
    <tree>9925adb553ee29adc191e6fb9ec56ab1a2115444</tree>
    <committer>
      <name>Grant Neufeld</name>
      <email>grant@grantneufeld.ca</email>
    </committer>
  </commit>
</commits>
