Skip to content

Instantly share code, notes, and snippets.

@nurnberg
Last active August 29, 2015 14:21
Show Gist options
  • Save nurnberg/0e6db91889b3ae7e0ce2 to your computer and use it in GitHub Desktop.
Save nurnberg/0e6db91889b3ae7e0ce2 to your computer and use it in GitHub Desktop.
Case type modules

Module specification

This is a specification of an OpenESDH module.

  • An OpenESDH model consists of a repo module and (optionally) a share module.

Model

  • All case type models must extend the case:base model, or a submodel of case:base.

<model name="my:model" xmlns="http://www.alfresco.org/model/dictionary/1.0">
    <imports>
        <import uri="http://openesdh.dk/model/case/1.0/" prefix="case" />
    </imports>
    <namespaces>
        <namespace uri="http://openesdh.dk/model/my/1.0/" prefix="my" />
    </namespaces>
    <types>
        <type name="my:case">
            <parent>case:base</parent>
        </type>
    </types>
</model>

Security

  • A module can extend the permission model by creating a bean that extends the extendPermissionModel bean. (Maybe the bean should have another id).

  • It should be possible for a case module to supply its own security model.

  • Roles:

    • CaseCreator

    • CaseOwner

    • CaseWriter

    • Case Reader

A module can define a number of permission groups, e.g. MyReader, MyWriter, MySomethingElse. These groups can then be added to groups defined in Alfresco or imported from LDAP or Active Directory (AD).

Workflows

  • A module shall be able to contain its own workflows, or refer to workflows from its parent modules.

  • It shall be possible to specify a workflow that shall start when an instance of a case type is created.

GUI

  • A module that defines its own case type shall define the UI for the create case form.

  • If a user does not have access to a given case type, it shall not be displayed in the create case menu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment