Request: userName in TracktionMarketplaceStatus

Hi Jules, may you add the userName to TracktionMarketplaceStatus?

It's a parameter needed by TracktionMarketplaceKeyGeneration::generateKeyFile() and therefore seems logical to be handled by TracktionMarketplaceStatus.

You mean add it to the UnlockResult class?


I quickly describe how I think your marketplace classes work, maybe not quite right...:


I would like to use TracktionMarketplaceKeyGeneration::generateKeyFile() on my own Server. The user (or my application) has to provide the userEmail, userName and the machineNumbers (besides a humble amount of money :). In return he gets the key (a string, conveniently provided in a file).


The key is given to an instance of MyMarketplaceStatus, a derived class of TracktionMarketplaceStatus, via its member function applyKeyFile(key). (If the key is correct, isUnlocked() will return true from now on.)

After a successful authorization, I would like to present something like "This product has been registered to <user name> (< email address>)" in the "about dialog" of my application.

Where to get those two strings <user name> and <email address> from? Since the key contains the name and the email address it would be quite handy if the TracktionMarketplaceStatus could provide them via TracktionMarketplaceStatus::getUserEmail() and TracktionMarketplaceStatus::getUserName().

My request:

Please add TracktionMarketplaceStatus::getUserName(), it's not available yet.


Btw: The description of TracktionMarketplaceStatus::getUserEmail() is wrong: "Returns the user name if known. "



Oh, and in the description for TracktionMarketplaceKeyGeneration::keyGenerationAppMain() (Doxygen as well as the command line help) you have the arguments "user name" and "user email" in the wrong order.

It's the same order as in TracktionMarketplaceKeyGeneration::generateKeyFile().

Thanks - I'll tidy up the comments.

Your app doesn't need to know the user-name - it just needs to ask the user for their email address and password (or just use TracktionMarketplaceUnlockForm to do that), and then call attemptWebserverUnlock.

That email address is just a key that your webserver will use as a way to find the user's account details in your database, where you'll presumably store their password, user-name etc, and from which you can figure out the parameters for the generateKeyFile call.

Thanks for the additional insight.

So what's the reason TracktionMarketplaceKeyGeneration::generateKeyFile() needs the argument userName?
Only to embed it plain-text in the key-file? (I'm comfortable with that.)

Yes, it's just so that if someone looks at that key-file, there's some indication of who it applies to.

And your app may want to get the user-name too, in case you want to display it somehow - e.g. in Tracktion we use the user-name in a few places.