System Data Blocks
These are the data blocks required for the Assette Application to work. Some of these system blocks are mandatory for the application to work, while the others are required based on the additional modules purchased by the client (E.g. Commentary)
These blocks come with a default implementation from Assette. Clients must change them to meet their needs, without modifying their interface (the format of the expected inputs and the outputs). Assette will not introduce any breaking changes to these interfaces. However, it is possible to introduce new parameters or columns, that the client can support later, if they want to take advantage of the new features.
Inventory of System Data Blocks
ProductMaster
AccountMaster
AttributeMaster
AsOfDates
AssociatedAccounts
RecipientMaster
CurrencyCodes
Countries
Vehicles
Strategies
Of the above SDBs, the data sources of the below must reside within Assette and Sync’d with the remote data sources as needed.
AccountMaster (Mandatory) – Need to be maintained locally in Assette using Account Code and sync’d via a Sync Data Block periodically. Should there be any PII data (such as Account name, Email address etc.) these can be accessed remotely.
ProductMaster (Mandatory) - Need to be maintained locally in Assette. It is possible to sync via a Sync Data Block periodically, based on need.
AttributeMaster (Mandatory) - Need to be maintained locally in Assette. It is possible to sync via a Sync Data Block periodically. It is possible to load attribute values such as countries, currencies, etc. from remote data sources.
The remaining SDBs could be accessed remotely. Please refer sample datasets to verify output(s) from System Data Blocks. Data blocks which depend on Sync Blocks are called out below.
System Block Name | Dependency Blocks | Special Remarks | Sample dataset to Verify Output |
ProductMaster | CalculationEnv | No change | { "ID": "", "ClientSegment": "", "Strategy": "", "Country": "", "Shareclass": "", "Code": "", "Assetclass": "", "GeographicScope": "" } |
ProductAttributeByIdCodeLocalDB | |||
ProductMasterLocalDB | |||
AccountMaster | AccountAttributesLocalDB | No Change | {"AttributeFilter":"", "AsOfDate":"2023-04-30", "IsOpen":"1", "Category":"ALL", "ProductCodes":"", "AssetClassCodes":"", "ShareClassCodes":"", "GeographicScope":"", "AccountCodeList":"", "ID":"", "Code":""} |
AccountsByAttributesWithDescriptionLocalDB | No Change | ||
GetClientConfigLocalDB | No Change | ||
PythonDataCalculationModules | Default Python Library Block. | ||
GetAccountMetaDataForSystemBlock | Change according to the client data source and structure. | ||
AsofDates | PythonEnvForDateCalculation | Default Python Library Block. | {} |
AsOfDatesLocalDB | This Block is relevant only for existing clients. For new clients using the BYODB model, a Python block returns a fixed list containing 24 months of AsOfDate(s). If the client wants to derive AsOfdate from an external source the necessary changes need to be made in the Python Block. | ||
GetClientConfigLocalDB | No Change. | ||
AssociatedAccounts | CalculationEnv | Default Python Library Block. | |
GetAssociatedAccountsLocalDB | No Change. | ||
RecipientMaster | CalculationEnv | Default Python Library Block. | {} |
GetRecipientPersonMetaData | No Change. | ||
GetRecipientPersonAddressesMetaData | No Change. | ||
GetRecipientInfoLocal | No Change. | ||
GetRecipientsLocalDB | No Change, | ||
CurrencyCodes | CalculationEnv | Default Python Library Block. | {} |
GetCurrencyCodesLocal | Assette's local database maintains a list of currency codes and this Data block is used to derive currency data. If the client wants to maintain a separate list of currency codes need to replace this Data block. | ||
Countries | CalculationEnv | Default Python Library Block. | {} |
CountriesLocaldb | Assette's local database maintains a list of country codes and this Data block is used to derive country data. If the client wants to maintain a separate list of Data block. | ||
Vehicle Types | CalculationEnv | Default Python Library Block. | {} |
VehiclesLocaldb | No change. Can be used as is after Sync’ing data to Assette. | ||
Strategies | CalculationEnv | Default Python Library Block. | {} |
StrategiesLocalDB | No change. Can be used as is after Sync’ing data to Assette | ||
ContentTypes | CalculationEnv | Default Python Library Block. | {} |
ContentTypesLocalDB | No Change. | ||
Periods | CalculationEnv | Default Python Library Block. | {} |
PeriodsLocalDB | Determine if data can be maintained on the Assette side or if clients can derive it from their own data sources. If the data needs to be handled on the Assette side, need to write a Sync block. | ||
ShareClasses | CalculationEnv | Default Python Library Block. | {} |
ShareClassesLocalDB | No Change. Note: To obtain a list of share classes, you need to update the ProductMaster with the relevant share class through the ProductMasterSync block . | ||
SectorSchemes | CalculationEnv | Default Python Lib Block. | {} |
SectorSchemesLocalDB | Determine if data can be maintained on the Assette side or if clients can derive it from their own data sources. If the data needs to be handled on the Assette side, need to write a Sync block. | ||
Sectors | CalculationEnv | Default Python Library Block. | {} |
SectorsLocalDB | Determine if the data can be maintained on the Assette side or if clients can derive it from their own data sources. If the data needs to be handled on the Assette side, need to write a Sync block. | ||
AssetClasses | CalculationEnv | Default Python Library Block. | {} |
AssetClassesLocalDB | Need to change according to the client data source. Note: The Asset class should match the details in the ProductMaster Asset class. Both should reference the same list. If syncing data to the local database is desired, please maintain a separate Sync block to update the Asset class list. |
Sync Data Blocks
Sync Data Blocks are used to synchronize source data with key artefacts such as AccountMaster, ProductMaster, Attribute Master and Recipient Master that reside in the Assette Azure DB. These blocks will be scheduled via the Assette Workflow scheduler to synchronize data on a periodic basis.
Main Data Sync Block Name | Description | Dependency Block Name | Remarks |
AttributeTypeValuesSync | In this block, Assette compiles the list of distinct strategies and vehicles, and inserts them into Assette local database. The dependancy block (eg: DEMO_SnowFlakeAccountAttributes) which refers client data source data should be populated with all strategies and Vehicle types list along with associated attribute type. | CalculationEnv | Default Python Library Block. |
AttributeTypesLocal | No change, use as is. | ||
DEMO_SnowFlakeAccountAttributes | Need to change according to the client data source and structure. | ||
AccountMasterSync | In this block, Assette retrieves the list of all accounts and updates the AccountMaster. Along with Account Assette expecting associated product details as well. | CalculationEnv | Default Python Library Block. |
ProductMasterLocal | No change, use as is. | ||
AccountCategoriesLocal | No change, use as is. | ||
DEMO_SnowFlakeExtarctAccountsDetails | Need to change according to the client data source and structure. | ||
ProductMasterSync | After inserting the Strategy, Vehicle and Accounts list, the ProductMasterSync block is executed. It updates/inserts all products along with the relevant strategy, vehicle type, rep account, composite accounts, etc. | CalculationEnv | Default Python Library Block. |
AccountsLocal | No change, use as is. | ||
AttributeTypeValuesLocal | No change, use as is. | ||
DEMO_SnowFlakeProductMasterExtract | Need to change according to the client data source and structure. | ||
AccountAttributeMappingSync | This block inserts all attributes (Strategy, Vehicle, ClientType, InvestmentStyle etc.) and account mapping which can be used in our application for future requirements. | CalculationEnv | Default Python Library Block. |
AccountsLocal | No change, use as is. | ||
AttributeTypeValuesLocal | No change, use as is. | ||
DEMO_SnowFlakeAccountAttributes | Need to change according to the client data source and structure. | ||
ProductOfferedCountriesSync | This block is used to update Product and Offered country mapping in local db. | CalculationEnv | Default Python Library Block. |
ProductMasterLocal | No change, use as is. | ||
CountriesLocaldb | No change, use as is. | ||
DEMO_SnowflakeProductOfferCountries | Need to change according to the client data source and structure to get the list of products and countries association. |
Notes:
At the point of setting up a new Client, SDBs will point to Assette Database by default. The implementation team will need to customize these SDBs to point to client data sources right at the outset for the Assette Application to function correctly.
SDB Implementation will involve changes to the Definition and Dependencies of System Data Blocks to point to client data source. But one cannot change metadata as Assette app always expects standard parameters. (Only columns can be added as optional metadata)
Optional System Data Blocks (Additional Modules)
If a client purchases an additional module the respective System Data Blocks will be shipped out with Assette.
E.g. Commentary, Client Portal