I need to add a new key to my ExternalRegistration (or ExternalPackage) after I’ve received my integration files
Sometimes you discover after actually starting in on the coding of a new integration, you really need more information to be passed through in order to complete your integration overrides. Luckily, in most situations, this is a fairly easy thing to do.
One way to do this is to add new properties to your ExternalConfiguration and pass them in, but those values are not stored in the database and are only available during the launched session. More about this method can be found here:
Another way is to add them to your ExternalPackageId or ExternalRegistrationId class files. This adds them to the ScormPackage or ScormRegistration tables so they can be filtered or reported upon later.
To add a new key to your ExternalRegistrationId:
First, edit your CompanyNameExternalRegistrationId.cs (or java) file and add a new public property like the one(s) already there. Use ‘CamelCase’ for the properties in the code files. They will translate to camel_case in the database in the next step.
Second, create a new column in your ScormRegistration table to hold this new ExternalRegistrationId key and use the underscore format (example: user_id if you used UserId for your code property). Make sure the datatype is compatible with your property type (int or string).
Third, add the new parameter to your ExternalRegistrationId code usage in your integration class as needed.
Finally, add the new parameter on the launch url like this (example showing old ExternalRegistrationId of MyRegId and adding the new one of UserId)
[path to your installation]/defaultui/launch.aspx?registration=MyRegId|12345!UserId|JoeUser&configuration=
Remember to add the new alter statement to your integration database scripts for future re-installations.