|
Model0_4
Summary of model version 0.4.
Model 0.4
IntroductionThis 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. DocumentationThere 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 FeaturesThe 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 FixesThere were many bug fixes, but the most important ones included:
Development
New ElementsLogin 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 NodeA 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 NodeA virtual operation call; the outgoing Run Instance Wire will be executed. See http://openiaml.org/model/OperationCallNode Query ParameterRepresents a parameter taken from the current request query. See http://openiaml.org/model/QueryParameter User StoreContains the definition of users; in particular, roles and permissions. See http://openiaml.org/model/UserStore User InstanceRepresents an instance of a user, most commonly the currently logged in user. See http://openiaml.org/model/UserInstance RoleUser 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 PermissionUser instances can have any number of permissions, which can be added or removed at any time. See http://openiaml.org/model/Permission Access Control HandlerRestricts access to a Page or Session based on the required Roles or Permissions. See http://openiaml.org/model/AccessControlHandler New WiresSet WireKeeps a target value up-to-date with a source value in a unidirectional fashion. See http://openiaml.org/model/SetWire Extends WireAllows for domain objects and roles to inherit each other. Supports limited multiple inheritance. See http://openiaml.org/model/ExtendsWire Provides WireIndicates that the given user role by default will provide the connected permissions. See http://openiaml.org/model/ProvidesWire Requires WireIndicates that the given access control handler requires the given role or permission. See http://openiaml.org/model/RequiresWire Constraint WireAllows 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