myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [1939] branches/event_logging/lib/maintenance/pop


From: noreply
Subject: [myexperiment-hackers] [1939] branches/event_logging/lib/maintenance/populate_activity_log.rb: Event logging.
Date: Tue, 11 Nov 2008 07:12:45 -0500 (EST)

Revision
1939
Author
alekses6
Date
2008-11-11 07:12:44 -0500 (Tue, 11 Nov 2008)

Log Message

Event logging. Updated script which populates activity_logs table from other tables - now this includes workflow versions.

Modified Paths

Diff

Modified: branches/event_logging/lib/maintenance/populate_activity_log.rb (1938 => 1939)


--- branches/event_logging/lib/maintenance/populate_activity_log.rb	2008-11-10 17:23:23 UTC (rev 1938)
+++ branches/event_logging/lib/maintenance/populate_activity_log.rb	2008-11-11 12:12:44 UTC (rev 1939)
@@ -7,7 +7,7 @@
   
   # modify this setting to get the appropriate coverage of events from
   # the point in the setting up to "now"
-  FETCH_EVENTS_AFTER = Time.now - 1.week
+  FETCH_EVENTS_AFTER = Time.now - 2.weeks
   
   
   def populate_activity_log_with_events()
@@ -168,6 +168,13 @@
       # CREATE
       ActivityLog.create(:action ="" "create", :activity_loggable => file, :culprit => file.contributor, :created_at => file.created_at, :updated_at => file.created_at)
       puts "\nFile (#{file.id}) -> create"
+      
+      # UPDATE
+      # // at the moment only original uploader can update files //
+      if file.updated_at > file.created_at
+        ActivityLog.create(:action ="" "update", :activity_loggable => file, :culprit => file.contributor, :created_at => file.updated_at, :updated_at => file.updated_at)
+        puts "File (#{file.id}) -> update"
+      end
     end
     
     
@@ -176,15 +183,25 @@
     puts "..:: NONE ::.." if workflows.empty?
     workflows.each do |workflow|
       # CREATE
-      ActivityLog.create(:action ="" "create", :activity_loggable => workflow, :culprit => workflow.contributor, :created_at => workflow.created_at, :updated_at => workflow.created_at)
+      ActivityLog.create(:action ="" "create", :activity_loggable => workflow, :culprit => workflow.contribution.contributor, :created_at => workflow.contribution.created_at, :updated_at => workflow.contribution.created_at)
       puts "\nWorkflow (#{workflow.id}) -> create"
     end
     
     
     puts "\n\n============= WORKFLOW VERSIONS ============="
-    puts ".. to be done .."
-    #workflow_versions = ....................
-    #puts "..:: NONE ::.." if workflow_versions.empty?
+    workflow_versions = Workflow::Version.find(:all, :order => "created_at ASC", :conditions => ["created_at > ?", FETCH_EVENTS_AFTER])
+    puts "..:: NONE ::.." if workflow_versions.empty?
+    workflow_versions.each do |version|
+      # CREATE
+      ActivityLog.create(:action ="" "create", :activity_loggable => version, :culprit_type => version.contributor_type, :culprit_id => version.contributor_id, :referenced_type => "Workflow", :referenced_id => version.workflow_id, :created_at => version.created_at, :updated_at => version.created_at)  
+      puts "\nWorkflow version(version id = #{version.id}, version ##{version.version} for workflow id = #{version.workflow_id}) -> create"
+      
+      # UPDATE
+      if version.updated_at > version.created_at
+        ActivityLog.create(:action ="" "update", :activity_loggable => version, :culprit_type => "User", :culprit_id => version.last_edited_by, :referenced_type => "Workflow", :referenced_id => version.workflow_id, :created_at => version.updated_at, :updated_at => version.updated_at)
+        puts "Workflow version(version id = #{version.id}, version ##{version.version} for workflow id = #{version.workflow_id}) -> update"
+      end
+    end
     
     
     puts "\n\n============= PACKS ============="
@@ -194,6 +211,9 @@
       # CREATE
       ActivityLog.create(:action ="" "create", :activity_loggable => pack, :culprit => pack.contributor, :created_at => pack.created_at, :updated_at => pack.created_at)
       puts "\nPack (#{pack.id}) -> create"
+      
+      # UPDATES
+      # // updates on a pack don't make any sense to populate, because these are only sharing settings //
     end
     
     
@@ -309,6 +329,7 @@
     
     printf("Files                   : %5d\n", files.length)
     printf("Workflows               : %5d\n", workflows.length)
+    printf("-> Workflows versions   : %5d\n", workflow_versions.length)
     printf("Packs                   : %5d\n", packs.length)
     printf("-> Contributable items  : %5d\n", pack_internal_items.length)
     printf("-> Remote items         : %5d\n\n", pack_external_items.length)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]