My favorites | Sign in
Project Logo
                
Search
for
Updated Dec 03, 2009 by soundasleep
Labels: Phase-Design, Development, Featured
Model0_4  
Summary of model version 0.4.

< 0.3 | 0.4 | 0.5 >

Model 0.4

Introduction

This model release adds a lot of important model elements to the modelling language. In particular, there is now better support for the instancing of domain objects and role-based access control. Domain objects now support inheritance. Users are now first-class objects and can be created just like domain objects.

Documentation

There is now an experimental documentation source for model elements, available online at http://openiaml.org/model and described briefly at ModelDoc. Model elements now have documentation ( issue 39 ) and this documentation is generated automatically. In the future, previous model versions will be migrated to this new format.

An installation guide has been written ( issue 2 ) and a simple tutorial has also been written ( issue 1 ), along with screenshots ( issue 97 ).

There is now a rich suite of generated example models, available on the documentation site: http://openiaml.org/model/examples

Usability Features

The differences between primitive operations and composite operations have been clarified. If an unrecognised primitive operation is specified, a warning will show ( issue 136 ).

A new session editor has been created ( issue 102 ).

The model instance will be checked for validity before code generation is executed; if there is an error, a message box will be displayed.

Debug information is no longer displayed by default ( issue 115 ).

Bug Fixes

There were many bug fixes, but the most important ones included:

Development

New Elements

Login Handler (Domain Instance)

A login handler can now be connected to login domain object instances. This will login or logout the current user based on the existance of a valid domain instance in the domain store.

See http://openiaml.org/model/LoginHandler

Login Handler (User Instance)

A login handler can now be connected to login user instances. This will login or logout the current user based on the existance of a valid user in the user store.

See http://openiaml.org/model/LoginHandler

Join Node, Split Node

A Split Node will split the execution of an operation; a Join Node is required to unify the execution back.

See http://openiaml.org/model/SplitNode, http://openiaml.org/model/JoinNode

Operation Call Node

A virtual operation call; the outgoing Run Instance Wire will be executed.

See http://openiaml.org/model/OperationCallNode

Query Parameter

Represents a parameter taken from the current request query.

See http://openiaml.org/model/QueryParameter

User Store

Contains the definition of users; in particular, roles and permissions.

See http://openiaml.org/model/UserStore

User Instance

Represents an instance of a user, most commonly the currently logged in user.

See http://openiaml.org/model/UserInstance

Role

User instances can have one or many roles, which can be inherited. Roles can also provide permissions. This is an implementation of Role-Based Access Control.

See http://openiaml.org/model/Role

Permission

User instances can have any number of permissions, which can be added or removed at any time.

See http://openiaml.org/model/Permission

Access Control Handler

Restricts access to a Page or Session based on the required Roles or Permissions.

See http://openiaml.org/model/AccessControlHandler

New Wires

Set Wire

Keeps a target value up-to-date with a source value in a unidirectional fashion.

See http://openiaml.org/model/SetWire

Extends Wire

Allows for domain objects and roles to inherit each other. Supports limited multiple inheritance.

See http://openiaml.org/model/ExtendsWire

Provides Wire

Indicates that the given user role by default will provide the connected permissions.

See http://openiaml.org/model/ProvidesWire

Requires Wire

Indicates that the given access control handler requires the given role or permission.

See http://openiaml.org/model/RequiresWire

Constraint Wire

Allows for the complex construction of requirements for an access control handler.

In the future this will allow the complex construction of conditions (issue 134).

See http://openiaml.org/model/ConstraintWire

Sign in to add a comment
Hosted by Google Code