<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/fixtures/ar_workitems.yml</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -15,7 +15,7 @@ WARNING : this project is in a really early stage !
 
 == getting it
 
-prerequesite : Rails 2.3.0
+prerequesite : Rails 2.3.1
 
   sudo gem install rails activerecord --no-ri --no-rdoc --source http://gems.rubyonrails.org
 </diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ class WorkitemsController &lt; ApplicationController
 
     @workitems = if @query
 
-      OpenWFE::Extras::Workitem.search(@query)
+      OpenWFE::Extras::ArWorkitem.search(@query)
 
       # TODO : paginate that !
 
@@ -53,7 +53,7 @@ class WorkitemsController &lt; ApplicationController
       opts[:conditions] = { :store_name =&gt; current_user.store_names } \
         unless current_user.is_admin?
 
-      OpenWFE::Extras::Workitem.paginate_by_params(
+      OpenWFE::Extras::ArWorkitem.paginate_by_params(
         [
           # parameter_name[, column_name]
           'wfid',
@@ -144,7 +144,8 @@ class WorkitemsController &lt; ApplicationController
 
     elsif params[:state] == 'proceeded'
 
-      wi.destroy
+      #wi.destroy
+      OpenWFE::Extras::ArWorkitem.destroy(wi.id)
 
       owi.attributes = wi1.attributes
       RuotePlugin.ruote_engine.reply(owi)
@@ -180,7 +181,7 @@ class WorkitemsController &lt; ApplicationController
   #
   def find_workitem
 
-    workitem = OpenWFE::Extras::Workitem.find_by_wfid_and_expid(
+    workitem = OpenWFE::Extras::ArWorkitem.find_by_wfid_and_expid(
       params[:wfid], swapdots(params[:expid]))
 
     current_user.may_see?(workitem) ? workitem : nil</diff>
      <filename>app/controllers/workitems_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -120,8 +120,8 @@ module ApplicationHelper
 
     tree = if d = opts[:definition]
       &quot;&lt;script src=\&quot;/definitions/#{d.id}/tree.js?var=proc_tree\&quot;&gt;&lt;/script&gt;&quot;
-    elsif p = opts[:process]
-      &quot;&lt;script src=\&quot;/processes/#{p.wfid}/tree.js?var=proc_tree\&quot;&gt;&lt;/script&gt;&quot;
+    elsif pr = opts[:process]
+      &quot;&lt;script src=\&quot;/processes/#{pr.wfid}/tree.js?var=proc_tree\&quot;&gt;&lt;/script&gt;&quot;
     elsif i = opts[:wfid]
       &quot;&lt;script src=\&quot;/processes/#{i}/tree.js?var=proc_tree\&quot;&gt;&lt;/script&gt;&quot;
     elsif t = opts[:tree]</diff>
      <filename>app/helpers/application_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@
   &lt;/tr&gt;
   &lt;tr&gt;
     &lt;td&gt;workflow&lt;/td&gt;
-    &lt;td&gt;&lt;%= h workitem.wf_name %&gt; &lt;%= h workitem.wf_revision %&gt;&lt;/td&gt;
+    &lt;td&gt;&lt;%= h workitem.wfname %&gt; &lt;%= h workitem.wfrevision %&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
     &lt;td&gt;dispatch time&lt;/td&gt;</diff>
      <filename>app/views/shared/_workitem_header.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@
   &lt;% fei = workitem.full_fei %&gt;
   &lt;tr class=&quot;workitem&quot;&gt;
     &lt;td&gt;&lt;%= link_to h(fei.wfid), workitems_path(fei.wfid) %&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;%= link_to_slice(workitem, :wf_name, :workflow) %&gt; &lt;%= h workitem.wf_revision %&gt;&lt;/td&gt;
+    &lt;td&gt;&lt;%= link_to_slice(workitem, :wfname, :workflow) %&gt; &lt;%= h workitem.wfrevision %&gt;&lt;/td&gt;
     &lt;td&gt;&lt;%= display_since(workitem, :dispatch_time) %&gt;&lt;/td&gt;
     &lt;td&gt;&lt;%= h workitem.full_fei.expid %&gt;&lt;/td&gt;
     &lt;td&gt;&lt;%= link_to_slice(workitem, :store_name, :store) %&gt;&lt;/td&gt;</diff>
      <filename>app/views/workitems/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 # Be sure to restart your server when you modify this file
 
 # Specifies gem version of Rails to use when vendor/rails is not present
-RAILS_GEM_VERSION = '2.3.0' unless defined? RAILS_GEM_VERSION
+RAILS_GEM_VERSION = '2.3.1' unless defined? RAILS_GEM_VERSION
 
 # Bootstrap the Rails environment, frameworks, and default configuration
 require File.join(File.dirname(__FILE__), 'boot')</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,46 +1,34 @@
-#
 #--
-# Copyright (c) 2007-2009, John Mettraux, OpenWFE.org
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# . Redistributions of source code must retain the above copyright notice, this
-#   list of conditions and the following disclaimer.
-#
-# . Redistributions in binary form must reproduce the above copyright notice,
-#   this list of conditions and the following disclaimer in the documentation
-#   and/or other materials provided with the distribution.
-#
-# . Neither the name of the &quot;OpenWFE&quot; nor the names of its contributors may be
-#   used to endorse or promote products derived from this software without
-#   specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
+# Copyright (c) 2007-2009, John Mettraux, jmettraux@gmail.com
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the &quot;Software&quot;), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Made in Japan.
 #++
-#
 
-#
-# &quot;made in Japan&quot;
-#
-# John Mettraux at openwfe.org
-#
 
-require 'openwfe/extras/participants/active_participants'
+#require 'openwfe/extras/participants/active_participants'
+require 'openwfe/extras/participants/ar_participants'
 
 
-class CreateWorkitems &lt; OpenWFE::Extras::WorkitemTables
+#class CreateWorkitems &lt; OpenWFE::Extras::WorkitemTables
+class CreateWorkitems &lt; OpenWFE::Extras::ArWorkitemTables
 
   # The migration itself is found in the 'ruote' gem.
   # Extending it to make it happen.</diff>
      <filename>db/migrate/20080918012151_create_workitems.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,41 +1,26 @@
-#
 #--
-# Copyright (c) 2008-2009, John Mettraux, OpenWFE.org
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# . Redistributions of source code must retain the above copyright notice, this
-#   list of conditions and the following disclaimer.
-#
-# . Redistributions in binary form must reproduce the above copyright notice,
-#   this list of conditions and the following disclaimer in the documentation
-#   and/or other materials provided with the distribution.
-#
-# . Neither the name of the &quot;OpenWFE&quot; nor the names of its contributors may be
-#   used to endorse or promote products derived from this software without
-#   specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
+# Copyright (c) 2008-2009, John Mettraux, jmettraux@gmail.com
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the &quot;Software&quot;), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Made in Japan.
 #++
-#
-
-#
-# &quot;made in Japan&quot;
-#
-# John Mettraux at openwfe.org
-#
 
 require 'openwfe/extras/expool/db_history'
 </diff>
      <filename>db/migrate/20080918012152_create_history.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,26 @@
+#--
+# Copyright (c) 2008-2009, John Mettraux, jmettraux@gmail.com
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the &quot;Software&quot;), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Made in Japan.
+#++
 
 class CreateDefinitions &lt; ActiveRecord::Migration
 </diff>
      <filename>db/migrate/20080926070650_create_definitions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,26 @@
+#--
+# Copyright (c) 2008-2009, John Mettraux, jmettraux@gmail.com
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the &quot;Software&quot;), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Made in Japan.
+#++
 
 class CreateGroupDefinitions &lt; ActiveRecord::Migration
 </diff>
      <filename>db/migrate/20080926082146_create_group_definitions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,41 +1,27 @@
-#
 #--
-# Copyright (c) 2007-2009, John Mettraux, OpenWFE.org
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# . Redistributions of source code must retain the above copyright notice, this
-#   list of conditions and the following disclaimer.
-#
-# . Redistributions in binary form must reproduce the above copyright notice,
-#   this list of conditions and the following disclaimer in the documentation
-#   and/or other materials provided with the distribution.
-#
-# . Neither the name of the &quot;OpenWFE&quot; nor the names of its contributors may be
-#   used to endorse or promote products derived from this software without
-#   specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
+# Copyright (c) 2008-2009, John Mettraux, jmettraux@gmail.com
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the &quot;Software&quot;), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# Made in Japan.
 #++
-#
 
-#
-# &quot;made in Japan&quot;
-#
-# John Mettraux at openwfe.org
-#
 
 require 'openwfe/extras/expool/db_errorjournal'
 </diff>
      <filename>db/migrate/20090119093821_create_process_errors.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,29 @@
 
 ActiveRecord::Schema.define(:version =&gt; 20090119093821) do
 
+  create_table &quot;ar_workitems&quot;, :force =&gt; true do |t|
+    t.string   &quot;fei&quot;
+    t.string   &quot;wfid&quot;
+    t.string   &quot;expid&quot;
+    t.string   &quot;wfname&quot;
+    t.string   &quot;wfrevision&quot;
+    t.string   &quot;participant_name&quot;
+    t.string   &quot;store_name&quot;
+    t.datetime &quot;dispatch_time&quot;
+    t.datetime &quot;last_modified&quot;
+    t.text     &quot;wi_fields&quot;
+    t.string   &quot;activity&quot;
+    t.text     &quot;keywords&quot;
+  end
+
+  add_index &quot;ar_workitems&quot;, [&quot;expid&quot;], :name =&gt; &quot;index_ar_workitems_on_expid&quot;
+  add_index &quot;ar_workitems&quot;, [&quot;fei&quot;], :name =&gt; &quot;index_ar_workitems_on_fei&quot;, :unique =&gt; true
+  add_index &quot;ar_workitems&quot;, [&quot;participant_name&quot;], :name =&gt; &quot;index_ar_workitems_on_participant_name&quot;
+  add_index &quot;ar_workitems&quot;, [&quot;store_name&quot;], :name =&gt; &quot;index_ar_workitems_on_store_name&quot;
+  add_index &quot;ar_workitems&quot;, [&quot;wfid&quot;], :name =&gt; &quot;index_ar_workitems_on_wfid&quot;
+  add_index &quot;ar_workitems&quot;, [&quot;wfname&quot;], :name =&gt; &quot;index_ar_workitems_on_wfname&quot;
+  add_index &quot;ar_workitems&quot;, [&quot;wfrevision&quot;], :name =&gt; &quot;index_ar_workitems_on_wfrevision&quot;
+
   create_table &quot;definitions&quot;, :force =&gt; true do |t|
     t.string   &quot;name&quot;
     t.string   &quot;description&quot;
@@ -22,18 +45,6 @@ ActiveRecord::Schema.define(:version =&gt; 20090119093821) do
 
   add_index &quot;definitions&quot;, [&quot;name&quot;], :name =&gt; &quot;index_definitions_on_name&quot;, :unique =&gt; true
 
-  create_table &quot;fields&quot;, :force =&gt; true do |t|
-    t.string  &quot;fkey&quot;,        :null =&gt; false
-    t.string  &quot;vclass&quot;,      :null =&gt; false
-    t.string  &quot;svalue&quot;
-    t.text    &quot;yvalue&quot;
-    t.integer &quot;workitem_id&quot;, :null =&gt; false
-  end
-
-  add_index &quot;fields&quot;, [&quot;fkey&quot;], :name =&gt; &quot;index_fields_on_fkey&quot;
-  add_index &quot;fields&quot;, [&quot;svalue&quot;], :name =&gt; &quot;index_fields_on_svalue&quot;
-  add_index &quot;fields&quot;, [&quot;vclass&quot;], :name =&gt; &quot;index_fields_on_vclass&quot;
-
   create_table &quot;group_definitions&quot;, :force =&gt; true do |t|
     t.integer  &quot;group_id&quot;
     t.integer  &quot;definition_id&quot;
@@ -101,25 +112,4 @@ ActiveRecord::Schema.define(:version =&gt; 20090119093821) do
 
   add_index &quot;users&quot;, [&quot;login&quot;], :name =&gt; &quot;index_users_on_login&quot;, :unique =&gt; true
 
-  create_table &quot;workitems&quot;, :force =&gt; true do |t|
-    t.string   &quot;fei&quot;
-    t.string   &quot;wfid&quot;
-    t.string   &quot;expid&quot;
-    t.string   &quot;wf_name&quot;
-    t.string   &quot;wf_revision&quot;
-    t.string   &quot;participant_name&quot;
-    t.string   &quot;store_name&quot;
-    t.datetime &quot;dispatch_time&quot;
-    t.datetime &quot;last_modified&quot;
-    t.text     &quot;yattributes&quot;
-  end
-
-  add_index &quot;workitems&quot;, [&quot;expid&quot;], :name =&gt; &quot;index_workitems_on_expid&quot;
-  add_index &quot;workitems&quot;, [&quot;fei&quot;], :name =&gt; &quot;index_workitems_on_fei&quot;, :unique =&gt; true
-  add_index &quot;workitems&quot;, [&quot;participant_name&quot;], :name =&gt; &quot;index_workitems_on_participant_name&quot;
-  add_index &quot;workitems&quot;, [&quot;store_name&quot;], :name =&gt; &quot;index_workitems_on_store_name&quot;
-  add_index &quot;workitems&quot;, [&quot;wf_name&quot;], :name =&gt; &quot;index_workitems_on_wf_name&quot;
-  add_index &quot;workitems&quot;, [&quot;wf_revision&quot;], :name =&gt; &quot;index_workitems_on_wf_revision&quot;
-  add_index &quot;workitems&quot;, [&quot;wfid&quot;], :name =&gt; &quot;index_workitems_on_wfid&quot;
-
 end</diff>
      <filename>db/schema.rb</filename>
    </modified>
    <modified>
      <diff>@@ -29,7 +29,8 @@
 #
 
 require 'openwfe/participants/participant_map'
-require 'openwfe/extras/participants/active_participants'
+#require 'openwfe/extras/participants/active_participants'
+require 'openwfe/extras/participants/ar_participants'
 
 require 'pagination'
 
@@ -66,14 +67,15 @@ module OpenWFE
 
       return part if part
 
-      #target =
-      #  User.find_by_login(participant_name) ||
-      #  Group.find_by_name(participant_name)
-      #store_name = target ? participant_name : 'unknown'
+      target =
+        ::User.find_by_login(participant_name) ||
+        ::Group.find_by_name(participant_name)
+      store_name = target ? participant_name : 'unknown'
 
-      store_name = participant_name
+      #store_name = participant_name
 
-      OpenWFE::Extras::ActiveStoreParticipant.new(store_name)
+      #OpenWFE::Extras::ActiveStoreParticipant.new(store_name)
+      OpenWFE::Extras::ArParticipant.new(store_name)
         # returns an 'on the fly' participant
     end
   end
@@ -97,22 +99,17 @@ module OpenWFE
     end
   end
 
-  module Extras
-
-    class Workitem
-
-      #
-      # returns an 'activity' description, if any
-      #
-      def activity
-
-        h = self.field_hash
-
-        return '-' unless h['params']
-
-        h['params']['activity'] || h['params']['description'] || '-'
-      end
-    end
-  end
+  #module Extras
+  #  class Workitem
+  #    #
+  #    # returns an 'activity' description, if any
+  #    #
+  #    def activity
+  #      h = self.field_hash
+  #      return '-' unless h['params']
+  #      h['params']['activity'] || h['params']['description'] || '-'
+  #    end
+  #  end
+  #end
 end
 </diff>
      <filename>lib/ruote.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,12 @@ end
 
 class WorkitemsControllerTest &lt; ActionController::TestCase
 
-  fixtures :users, :groups, :workitems
+  fixtures :users, :groups, :ar_workitems
+
+  def setup
+    super
+    OpenWFE::Extras::HistoryEntry.destroy_all
+  end
 
   def test_should_not_get_index
     get :index
@@ -91,10 +96,11 @@ class WorkitemsControllerTest &lt; ActionController::TestCase
 
     assert_response 302
     assert_equal 'http://test.host/workitems', @response.headers['Location']
-    wi = OpenWFE::Extras::Workitem.find(1).as_owfe_workitem
+    wi = OpenWFE::Extras::ArWorkitem.find(1).as_owfe_workitem
     assert_equal 'petit bateau', wi.attributes['type']
 
     hes = OpenWFE::Extras::HistoryEntry.find_all_by_wfid(wi.fei.wfid)
+    #puts; hes.each { |he| p he }
     assert_equal 1, hes.size
     assert_equal 'saved', hes.first.event
     assert_equal 'admin', hes.first.source
@@ -107,7 +113,7 @@ class WorkitemsControllerTest &lt; ActionController::TestCase
         [ 'participant', { 'ref' =&gt; 'aaron' }, [] ] ] ])
     sleep 0.350
 
-    assert_equal 'aaron', OpenWFE::Extras::Workitem.find(:all).last.store_name
+    assert_equal 'aaron', OpenWFE::Extras::ArWorkitem.find(:all).last.store_name
 
     RuotePlugin.ruote_engine.cancel_process(fei)
     sleep 0.350
@@ -120,7 +126,7 @@ class WorkitemsControllerTest &lt; ActionController::TestCase
         [ 'participant', { 'ref' =&gt; 'nemo' }, [] ] ] ])
     sleep 0.350
 
-    assert_equal 'unknown', OpenWFE::Extras::Workitem.find(:all).last.store_name
+    assert_equal 'unknown', OpenWFE::Extras::ArWorkitem.find(:all).last.store_name
 
     RuotePlugin.ruote_engine.cancel_process(fei)
     sleep 0.350
@@ -172,16 +178,18 @@ class WorkitemsControllerTest &lt; ActionController::TestCase
 
     workitems = ActiveSupport::JSON.decode(@response.body)
 
+    #p workitems['elements']
+    #p workitems['elements'].size
+
     wi = workitems['elements'].find { |wi|
       wi['flow_expression_id']['workflow_instance_id'] == fei.wfid }
 
-    #p wi
-
     assert_not_nil wi
     assert_equal 'Ukifune', wi['attributes']['girl']
 
     hes = OpenWFE::Extras::HistoryEntry.find_all_by_wfid(fei.wfid)
     assert_equal 5, hes.size
+
     hes = hes.select { |he| he.event == 'proceeded' }
     assert_equal 1, hes.size
   end
@@ -198,7 +206,7 @@ class WorkitemsControllerTest &lt; ActionController::TestCase
 
     assert_response 302
     assert_equal 'http://test.host/workitems', @response.headers['Location']
-    wi = OpenWFE::Extras::Workitem.find(1)
+    wi = OpenWFE::Extras::ArWorkitem.find(1)
     assert_equal 'el_cheapo', wi.store_name
 
     hes = OpenWFE::Extras::HistoryEntry.find_all_by_wfid(wi.wfid)</diff>
      <filename>test/functional/workitems_controller_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test/fixtures/workitems.yml</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>89d77d7f1929ad4758c6fa092d50cc3fb24fc66d</id>
    </parent>
  </parents>
  <author>
    <name>John Mettraux</name>
    <email>jmettraux@gmail.com</email>
  </author>
  <url>http://github.com/jmettraux/ruote-web2/commit/c6bc97515c0180f63d1c5f418a5ca1d280e5ea6b</url>
  <id>c6bc97515c0180f63d1c5f418a5ca1d280e5ea6b</id>
  <committed-date>2009-03-07T05:03:47-08:00</committed-date>
  <authored-date>2009-03-07T05:03:47-08:00</authored-date>
  <message>switched to ar_workitems</message>
  <tree>7dd1dbf4707e1159fd740284d8461a0402586526</tree>
  <committer>
    <name>John Mettraux</name>
    <email>jmettraux@gmail.com</email>
  </committer>
</commit>
