A scope in LUSID is a key design concept and allows the system to offer a myriad of benefits including data partitioning and segregation
Every entity lives within a logical data partition known as a scope. Scope is an identity namespace allowing two entities with the same unique code to co-exist within individual address spaces.
For example, prices for equities from different vendors may be uploaded into different scopes such as Refinitiv and Bloomberg. A portfolio may then be valued using either of the price sources by referencing the appropriate scope.
Scopes can be used in a number of ways.
- To model organisational units (think departments) in your company
- To act as entitlement boundaries (people can read/write/etc all portfolios in a given scope)
- To allow for a personal folder / research area for every user (and entitle only them to write to it as a side benefit)
- To allow for multiple providers of the same piece of information. For instance, one portfolio could be provided by your:
- Fund Accountant [FA/myPortfolio]
- Custodian [Cust/myPortfolio]
- Middle Office [MO/myPortfolio]
- Transfer Agent [TA/myPortfolio]
- my own copy [dave/myPortfolio]
The scopes are in bold.
This concept enables us to load multiple copies of what is logically the same data, compare them, safely modify them as required and entitle people to see only what they need to.
A scope must be no more than 64 characters in length and consist entirely of the following characters:
- Lowercase and uppercase letters
- Dash ("-")
- Underscore ("_")
There are many more uses for scopes including the safe provision of a UAT environment in your production system. If you have any further questions, as always, get in touch.
Note that there is no need to create a scope before using it. When you use a scope in a request to put data into LUSID it will be automatically created for you if it does not exist.