From e87afe1e952ccb9d7415ae8f4b3b09a3238aee22 Mon Sep 17 00:00:00 2001 From: Jeremy Friesen Date: Tue, 16 May 2017 16:12:50 -0400 Subject: [PATCH] Updating documentation with more sipity models --- app/models/sipity/method.rb | 1 + artifacts/entity-relationship-diagram.dot | 15 ++++++++++++++- artifacts/entity-relationship-diagram.pdf | Bin 30994 -> 34157 bytes 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/models/sipity/method.rb b/app/models/sipity/method.rb index b5bd587cf3..b2539af4c6 100644 --- a/app/models/sipity/method.rb +++ b/app/models/sipity/method.rb @@ -1,5 +1,6 @@ module Sipity class Method < ActiveRecord::Base self.table_name = 'sipity_workflow_methods' + belongs_to :workflow_action, class_name: 'Sipity::WorkflowAction' end end diff --git a/artifacts/entity-relationship-diagram.dot b/artifacts/entity-relationship-diagram.dot index 413594bd6d..12b8b8d033 100644 --- a/artifacts/entity-relationship-diagram.dot +++ b/artifacts/entity-relationship-diagram.dot @@ -28,6 +28,14 @@ digraph models_diagram { "Sipity::WorkflowStateAction" [label="{ Sipity::WorkflowStateAction | The actions that can\n be taken for the\n given workflow & state }" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/workflow_state_action.rb";] "Sipity::WorkflowStateActionPermission" [label="{ Sipity::WorkflowStateActionPermission | The role required to \n take the action \n for the given workflow }" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/workflow_state_action_permission.rb";] "Sipity::Role" [label="{ Sipity::Role | All of the named \n roles for the site }" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/role.rb";] + "Sipity::Method" [label=" { Sipity::Method | Arbitrary lambdas to call\nwhen action is taken}" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/method.rb";] + } + + subgraph 4 { + node[color=gold penwidth=2] + "Sipity::NotifiableContext" [label=" { Sipity::NotifiableContext | Arbitrary lambdas to call\nwhen action is taken}" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/notifiable_context.rb";] + "Sipity::Notification" [label=" { Sipity::Notification | A type of notification to send }" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/notification.rb";] + "Sipity::NotificationRecipient" [label=" { Sipity::NotificationRecipient | Who receives the notification }" URL="http://github.com/projecthydra-labs/hyrax/blob/master/app/models/sipity/notification_recipient.rb";] } subgraph 1 { @@ -39,7 +47,7 @@ digraph models_diagram { "AdminSet" -> "PermissionTemplate" [arrowtail=none, arrowhead=none, dir=both] "User" -> "GroupMembership" [arrowtail=none, arrowhead=crow, dir=both] "Group" -> "GroupMembership" [arrowtail=none, arrowhead=crow, dir=both] - "PermissionTemplate" -> "Sipity::Workflow" [label="possible" arrowtail=none, arrowhead=crow, dir=both] + "PermissionTemplate" -> "Sipity::Workflow" [label="possible" color=gold fontcolor=gold arrowtail=none, arrowhead=crow, dir=both] "PermissionTemplate" -> "Sipity::Workflow" [label="active" arrowtail=none, arrowhead=none, dir=both] "Sipity::Entity" -> "Sipity::Workflow" [arrowtail=crow, arrowhead=none, dir=both] "AbstractWork" -> "AdminSet" [arrowtail=crow, arrowhead=none, dir=both] @@ -51,13 +59,18 @@ digraph models_diagram { "Sipity::Workflow" -> "Sipity::WorkflowAction" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::Workflow" -> "Sipity::WorkflowRole" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::WorkflowAction" -> "Sipity::WorkflowStateAction" [arrowtail=none, arrowhead=crow, dir=both] + "Sipity::WorkflowState" -> "Sipity::WorkflowAction" [label="resulting_workflow_state" color=purple fontcolor=purple arrowtail=none, arrowhead=crow, dir=both] "Sipity::WorkflowState" -> "Sipity::WorkflowStateAction" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::WorkflowStateAction" -> "Sipity::WorkflowStateActionPermission" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::WorkflowRole" -> "Sipity::WorkflowStateActionPermission" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::Role" -> "Sipity::WorkflowRole" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::WorkflowRole" -> "Sipity::WorkflowResponsibility" [arrowtail=none, arrowhead=crow, dir=both] + "Sipity::WorkflowAction" -> "Sipity::Method" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::Agent" -> "Sipity::WorkflowResponsibility" [arrowtail=none, arrowhead=crow, dir=both] "Sipity::Agent" -> "Group" [label="as proxy" arrowtail=none, arrowhead=none, dir=both] "Sipity::Agent" -> "User" [label="as proxy" arrowtail=none, arrowhead=none, dir=both] "Sipity::WorkflowState" -> "Sipity::Entity" [arrowtail=none, arrowhead=crow, dir=both] + "Sipity::WorkflowAction" -> "Sipity::NotifiableContext" [arrowtail=none, arrowhead=crow, dir=both] + "Sipity::NotifiableContext" -> "Sipity::Notification" [arrowtail=none, arrowhead=crow, dir=both] + "Sipity::Notification" -> "Sipity::NotificationRecipient" [arrowtail=none, arrowhead=crow, dir=both] } diff --git a/artifacts/entity-relationship-diagram.pdf b/artifacts/entity-relationship-diagram.pdf index e52561895fd05dcd8a411c272030899debbbd146..b369ba9ec5a99f4f7d8e81bd5077183886026a74 100644 GIT binary patch delta 26304 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 N7r8|-y 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