Sidebar

Combodo

iTop Extensions

Sharing Base

Combodo's customers only

name:
Sharing Base
version:
1.1.0
release:
2022-02-09
description:
Allow to share objects between organizations so they can be seen by users with silos
itop-version:
2.0
diffusion:
ITSM Designer
php-version-max:
PHP 8.1

This extension allow to share objects between organizations, enabling access to them, despite silos created by Allowed organizations on Users.

Features

The purpose of sharing “a Document X belonging to organization A, with an organization B”, is to allow users which can only see Documents belonging to organization B to see also this Document X, even if it is not in the scope of Documents he should normally be able to see.

  • Classes of objects which can be shared is defined in XML by a to-be-created extension or an XML injection
  • Objects are shared between organizations individually.
  • Objects can be shared with multiple organizations
  • When an object X belonging to organization A is shared with organization B, it can be modified by any user who has Write-access on this object class for organization A.
  • User having organization B but not A within his “Allowed Organizations”, even if he has write access on the class of object X, will not have write access to that object, as it does not belong to one of his “Allowed Organizations”.

Revision History

Version Release Date Comments
1.1.0 2022-02-09 Fix compatibility with iTop 3.0
1.0.0 2018-06-27 First version

Limitations

  • Sharing is only explicit, object by object, it cannot be defined on rules.
  • It shares objects in read mode, it does not enable write access to the shared objets.

Requirements

None.

Installation

Use the Standard installation process for this extension.

Configuration

To enable Sharing on some classes, add this XML code either as injection in the delta XML or within an extension

  <snippets _delta="define">
    <snippet id="Sharing classes">
      <placement>module</placement>
      <module>sharing-base</module>
      <rank>10</rank>
      <content><![CDATA[
      SharedObject::DeclareSharedClass("Location");
      SharedObject::DeclareSharedClass("Document");
      ]]></content>
    </snippet>
  </snippets>

By default, only administrators are allowed to share object. If you want to add other profiles, you need to add XML as injection in the delta XML.

More over if you want to add OQL throw designer based on these new classes, you need to add this XML code as injection in the delta XML on <meta> section.

     <class id="SharedLocation" _delta="define">
       <fields>
         <field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="pdu_id" xsi:type="AttributeExternalKey">
           <target_class>Location</target_class>
         </field>
         <field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="org_id" xsi:type="AttributeExternalKey">
           <target_class>Organization</target_class>
         </field>
       </fields>
     </class>

Usage

When Sharing is enable on some classes, then a new tab Sharing with is proposed on every objects of those classes, which allow to link/share this object with other organizations.

 Share location

A new tab Shared Objects is also proposed on every organizations, which shows each shared objects.

 Shared Objects

extensions/sharing-base.txt · Last modified: 2022/10/12 17:07 (external edit)
Back to top
Contact us