Sitefinity Stuff Module Licensing
When you buy a module you are actually buying a license key to run it under a domain. After purchasing you can log into your profile and register a domain. This will generate a license key which you then add to your Sitefinity site.
Localhost does not require a license key. But multiple environments will and you will be required to purchase the module multiple times to get another domain added. For example,
If you have mydomain.com and mydomain.co.uk for a multilingual site you will need two licenses.
If you have mydomain.com and stage.mydomain.com you will need two licenses. (The www. subdomain comes with your main domain.)
Why must I buy multiple licenses?
I thought a lot about how to license this work and if I should at all. I won't list my pros, cons and reasoning's but I thought this would work best overall. Hopefully priced correctly for small sites who only have one maybe two environments to larger organisations that have many environments and domains.
What does my license cover?
Your license allows you to use the module on the registered domain site forever. You are also entitled to any updates, fixes or improvements that I put out for it.
There is no support agreement with the license but you are encouraged to contact me with any issues as it is in my best interest to address them but I can not provide any development or environment support.
The license file has the name of the module with the .lic extension. Open it up and you will see that it is in XML and easy to read. When the module loads it will look for its license in the App_Data/Sitefinity folder. The same place you put your Sitefinity license file. When you update your license you will need to restart the site for it to be applied.
<?xml version="1.0" encoding="utf-8"?> <Module name="Pdr.Sitefinity.PaymentProcessor.Stripe"> <DateGenerated>2018-03-22 11:10:36</DateGenerated> <License> <Id>3d4c5e34-6d34-4732-8bbe-5e1f9c370a57</Id> <Type>Standard</Type> <ProductFeatures> <Feature name="Domain">sitefinity-stuff.com</Feature> <Feature name="Subdomain">sitefinity-stuff.fr</Feature> </ProductFeatures> <LicenseAttributes> <Attribute name="Module">Pdr.Sitefinity.PaymentProcessor.Stripe</Attribute> </LicenseAttributes> <Customer> <Name>Darrin Robertson</Name> <Email>firstname.lastname@example.org</Email> </Customer> <Signature>MEQCIFYzMy9y94oZZja8JDxoDp2Q5irqlgwl5TGfpSRpM2YAiAG1ZT2f88IsArHyp0nOGbEu81L9DwolrRIUkZsFPCBkw==</Signature> </License> </Module>
It is important not to edit this file. If you change a character in the <License> element then the validation will fail. If your license file does become corrupt, you will need to regenerate and download a new one.
[Coming : I plan to add a license validation test to the site soon.]
What if you don't have a license file? What if its invalid? What if I don't have the right domains listed?
The module will still run with any of those cases but a time delay of 15 seconds will be added to the execution time every time a method is used. Enough to be annoying and impracticable for production but short enough to get through your current development or testing while you sort out a valid license.
Your log files will also record the license issue details in the error and trace logs.
Manage & download your license
[This page is still building, I will update this section as soon as it is complete. In the meantime I will be manually sending license files to people.]
The module nuget packages
Like Progress, I have created my own nuget server where I publish all the modules. Just like with the Sitefinity packages, add a nuget source to your Visual Studio and use the URL - http://packages.sitefinity-stuff.com/nuget.
With this source in place you can then apply the modules to your site through the 'manage packages' command on your project.
The modules all depend on the Sitefinity Core package and other individual Sitefinity packages but these are not marked as dependencies. You should install the module version that matches your Sitefinity version. If you have installed hot fix or internal build versions of Sitefinity you may need to ensure you have assembly redirect references in place in your web.config.
<dependentAssembly> <assemblyIdentity name="Telerik.Sitefinity.Model" publicKeyToken="b28c218413bdf563" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.1.6526.0" newVersion="10.1.6526.0" /> </dependentAssembly>
You can find a list of the dependent packages on each modules help page.
Found a way to cheat the license?
It would be great if you shared it with me :-).