This document describes the idea behind dynamic attributes and how a service can use those to provide additional information about customers and users
The InfoSystems provides functions to create and authenticate users, subscriptions and customers. However no matter how many fields and attributes are put into the database to anticipate current and future needs, someone is going to need a new value at some point. Therefore each Customer and each ServiceUser can be associated with a series of custom values, in InfoSystems terms these are called Dynamic Attributes.
A dynamic attribute consists of a name, and a validation type. The name indicates its purpose or its display value, for instance this might be something like Birthday. While the validation type indicates what type of data can be stored for that dynamic attribute, for instance a Date.
A Customer can be associated with zero or more dynamic attributes. Each assosiation has a value which represents the value of the type. For example a Customer might have a mapping to dynamic attribute Birtday, with a value of 06-06-0006.
This simple mechanism allows for easy extension of the system without many limitations from Infosoft having to develop and deploy new fields. It also allows for each media Company to have its own dynamic attributes, and even for each service to have its own attributes.
Currently InfoSystems supports around 100 different types, too many to list here. We suggest that in case you have something esoteric you make contact with Infosoft in order to determine if we support such a type. The following is just a few of the types to give an indication of what it is possible to store
Date (and a corresponding AllowNull value type)
String (and a corresponding AllowNull value type)
Number in various sequences and lengths
Decimal (and a corresponding AllowNull value type)
File (and a corresponding AllowNull value type)
File Path (and a corresponding AllowNull value type)
InfoSystem specifics such as Term, Title, Volume and Product
Unfortunately the type system is not as flexible as the Dynamic Attribute system itself, so if new types are needed this will need new development. However worst case is to revert to one of the two String types and do the validation yourself.
A Dynamic Attribute needs to be created before it can be used by a client application. To create a new attribute you need to know two things
Attribute Validation Type
If you are the Infosoft customer, then make a request to Infosoft (email@example.com) to create such an attribute (in some cases you can do it on your own using the windows application). Remember to say what it is for (Customers, Initiatives or the UserRegister, this will determine the category. if you are a third party developer, have your customer make the request for you. When Infosoft have created the new attribute, it will be assigned an ID and you are good to go.