<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Data Model Review in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107677#M75432</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;[x] done&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Aug 2012 18:03:10 GMT</pubDate>
    <dc:creator>bernd_ruecker</dc:creator>
    <dc:date>2012-08-03T18:03:10Z</dc:date>
    <item>
      <title>Data Model Review</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107673#M75428</link>
      <description>Hi guys,I've been taking a look at the Data Model for Activiti and noticed some areas that can be improved.&amp;nbsp; If I'm off on any of these, please comment back.The Activiti tables fall into 3 categories:&amp;nbsp; •&amp;nbsp;&amp;nbsp;&amp;nbsp;Identity•&amp;nbsp;&amp;nbsp;&amp;nbsp;Engine•&amp;nbsp;&amp;nbsp;&amp;nbsp;HistoryThe Identity tables are:•&amp;nbsp;&amp;nbsp;&amp;nbsp;ACT_ID_GROUP•&amp;nbsp;&amp;nbsp;&amp;nbsp;ACT_ID_MEMBERSHIP•&amp;nbsp;&amp;nbsp;&amp;nbsp;</description>
      <pubDate>Fri, 29 Jun 2012 18:15:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107673#M75428</guid>
      <dc:creator>robin1</dc:creator>
      <dc:date>2012-06-29T18:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Data Model Review</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107674#M75429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;the relationships between the tables are all messed up&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I would be careful making statements like these &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt; My two cents on this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Looking up tasks by process-definition ID is a VERY common use case. Since a single process can have multiple child-executions (and that can have more children as well), this would require extra joins (execution -&amp;gt; process instance -&amp;gt; process definition). We decided to add extra column… The increase in performance is more relevant than the extra column.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Since activity DOESN'T INFORCE CHECKING on candidates and groups on a task, there are no foreign keys. This is an explicit choice rather dat just "being all messed up". This way, activiti can also be integrated better with other identity-management solutions whiteout explicit ally having to have physical "user" and "group" records available. Keep in mind, activiti.jar is an engine, not a full product and is most likely to be used inside another apps, which can have their own ACL stuff…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3. A task is never "assigned" to a group… A group can be "candidate" for the task. So if no user explicitly claims a task, the finished task will have NO assignee. Again, activiti is a library. You could easily enforce your services to first CLAIM a task before completing. This way, assignee is always preserved (this is done in alfresco, for example).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4. The task-history contains all there is to the task, we're not going to invent fields &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt; Task-variables CAN be stored as del in history depending on the history-settings…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope these answers take a way some of the concerns raised by this post?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2012 12:30:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107674#M75429</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2012-07-02T12:30:20Z</dc:date>
    </item>
    <item>
      <title>Re: Data Model Review</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107675#M75430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply frederikheremans - very well written response and I'm glad to see that clearly a lot of though went into the data model.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've got a quick follow up question and I think it leads to something I'm not understanding - should there be a foreign key constraint between &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ACT_RE_PROCDEF. ID_ and ACT_RU_EXECUTION. PROC_DEF_ID_?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Robin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jul 2012 15:29:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107675#M75430</guid>
      <dc:creator>robin1</dc:creator>
      <dc:date>2012-07-03T15:29:06Z</dc:date>
    </item>
    <item>
      <title>Re: Data Model Review</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107676#M75431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Since there shouldn't be any executions/process-instances for an inexistent process-definition. When using the API, there is no way of deleting a process-definition without cascading all process-instances and there sub-executions. So in theory, constraints are enforced by the engine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, in some queries, they are joined (e.g.. ExecutionQuery.processDefinitionKey(…)) and it would definitely make sense to add a foreign-key constraint and/or and index on those fields. &lt;/SPAN&gt;&lt;A href="https://jira.codehaus.org/browse/ACT-1279" rel="nofollow noopener noreferrer"&gt;https://jira.codehaus.org/browse/ACT-1279&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2012 06:49:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107676#M75431</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2012-07-04T06:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: Data Model Review</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107677#M75432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;[x] done&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Aug 2012 18:03:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/data-model-review/m-p/107677#M75432</guid>
      <dc:creator>bernd_ruecker</dc:creator>
      <dc:date>2012-08-03T18:03:10Z</dc:date>
    </item>
  </channel>
</rss>

