AgileApps Support Wiki Pre Release

Global Data

From AgileApps Support Wiki
Revision as of 23:22, 10 January 2014 by imported>Aeric (→‎Configuring Global Data)

Service Provider URL: http://{domain}/networking/Service?t=1&targetpage=ViewPort.jsp
Settings > Service Provider Settings > Service Configuration > Global Tenancy

About Global Data

Global data consists of records in objects that are defined and maintained in a "global tenancy". Sharing objects from that tenancy is then a two step process:

  1. In the Service Provider Settings, designate the objects (and the tenancy they're in) as "global".
  2. Create a Package that contains those objects, and publish it.

Data stored in those objects is seen immediately by tenants who have installed (and are therefore subscribed to) the package. Tenants who have not installed the package, meanwhile, do not see those objects.

Once the package has been installed:

  • Data changes made in the global tenancy are immediately visible to all subscribers.
  • New objects and modified objects are seen by tenants only when the installed package is re-published.
  • As with any other shared object, installers are free to add their own records to the object.

Considerations:

  • A global object cannot be customized by a subscribed tenant. It can only by customized in the global tenancy.
    (However, packaged objects that are not global can still be customized by installers, as before.)
  • Global objects can be used in simple reports, only. They cannot be used in reports that have grouping clauses.
  • When a global object is the target of a lookup, the Auto Completion feature suggests local records only. (With that feature, the system suggests records that contain the typed characters.) Typing characters, therefore, does not work to find shared records. Those are found by clicking the magnifier icon that accompanies the field, and filtering the list of records that appears.
    Learn more: Lookup

Configuring Global Data

To set up global data sharing:

  1. Create a tenant from which to share objects and the data they contain.
  2. Log in to that tenant.
  3. In that tenant, create any objects you intend to share.
  4. Create a Package that contains the objects to share.
    Note: If any of those objects have a Lookup field, the objects targeted by those fields are automatically added as dependencies.
  5. From the Object Properties page for each object, get the Object ID.
  6. From Company Information, get the Tenant ID.
  7. Go to the Service Provider URL: http://{domain}/networking/Service?t=1&targetpage=ViewPort.jsp
  8. Log in to the admin tenancy.
  9. Go to Settings > Service Provider Settings > Service Configuration
  10. In the Global Tenancy section, provide the following:
    • Global Tenancy ID - Enter the ID of the global tenant.
    • Global Tenancy Shared Object List - Enter the IDs of all objects that are to be shared.
      Note:
      Any objects that are the target of a Lookup from a shared object must be included in this list.
      (In other words, the objects in the list must match the objects contained in the package.)

Working with Global Data

Sharing Data

Once the package is published, any tenant who installs it will be able to see (but not modify or delete) the records in the objects it contains.

Changes to the data in those objects are seen immediately by all tenants.

Tenants will be able to add their own records, as well, but those additions appear only in their own tenancy.

Creating and Modifying Objects

To make a new objects visible to tenants:

  1. Add the object to the package, and re-publish the package.
    (Once published, all subscribed tenants are automatically updated.)
  2. Add it to the shared object list in the Service Provider Settings.

Similarly, if an Object's structure changes (for example, by adding a field), the change is not visible to tenants until the package is re-published.

Deleting an Object

To delete an object, first remove it from the shared-object list in the Service Provider Settings. It can then be deleted like any other object.

Any data added to that object by a tenant will continue to be visible to that tenant, but the object will no longer contain shared data.