License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz... 2 Beantragung einer Trial-Lizenz... 2 Implementierung des Lizenz Management in die Software... 3 Hinzufügen der Referenz... 3 Anpassung/Erstellung eines speziellen SharePoint-Features... 4 Implementierung einer Klasse ProductInformation... 5 Implementierung der Lizenzvalidierung... 5 Bereitstellung der Software auf der Website... 7 Bereitstellung der Software... 7 Bereitstellung der Beschreibung... 7 License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 1
Allgemeine Beschreibung Das Lizenz Management von Soultions2Share wurde grundsätzlich für die Lizenzierung aller Produkte im Store programmiert. Da es auch für andere Softwareanbieter möglich sein sollte Produkte auf der Solutions2Share Plattform anzubieten, wurde das Lizenz Management so umgesetzt, dass die Lizenzierung bisher unbekannter Produkte möglich ist. So kann jeder Softwarehersteller mit geringem Aufwand seine Produkte mit einem Lizenz Management versehen ohne viel Zeit und Geld zu investieren. In den folgenden Kapiteln wird die komplette Implementierung eines Lizenz Management in ein bestehendes Produkt und die Bereitstellung der Software auf der Website von Solutions2Share beschrieben. Vorbereitungen Bevor mit der Implementierung des License Management gestartet werden kann müssen einige Dinge vorbereitet werden. Download aller nötigen Dateien und Dokumentationen Auf der Website www.solutions2share.de können alle benötigten Dateien heruntergeladen werden: - Solutions2Share License Management SDK.pdf - Solutions2Share License Management Installation.pdf - Solutions2Share License Management Documentation.pdf - Solutions2Share.SDK.zip - Solutions2Share.LicenseManagement.zip Beantragung eines ValidationKeys Um eine Lizenz prüfen zu können wird von Solutions2Share ein ValidierungsKey erzeugt. Dieser ValidierungsKey enthält folgende Informationen, die Solutions2Share übermittelt werden müssen: - Produktname - Name der Firma Beantragung einer Development-Lizenz Um die Lizenzierung testen zu können werden von Solutions2Share Development-Lizenzen zur Verfügung gestellt. - 1 Farm Lizenz - 1-5 Server-Lizenzen - 1-5 SiteCollection-Lizenzen Für die jeweilig benötigten Lizenzen werden von Solutions2Share die FarmID, die ServerID oder die SiteCollectionID benötigt. Die Lizenz gilt immer genau für ein hr und ist für 100 Benutzer gültig(außname Server-Lizenz). Beantragung einer Trial-Lizenz Bei der Aktivierung des Features des Produktes wird automatisch eine 30-tägige Trial-Lizenz in das Lizenzcenter übertragen. Diese Lizenz wird nach der Beantragung von Solutions2Share zur Verfügung gestellt. License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 2
Implementierung des Lizenz Management in die Software Um mit dem Solutions2Share License Management und dem dazugehörigen SDK arbeiten zu können müssen diese erst mal von der Website www.solutions2share.de heruntergeladen werden. Nach der Installation des License Management (Anleitung auf Website vorhanden) sollte in der Zentraladministration das Lizenz Management zur Verfügung stehen. Um die Software im Solution2Share License Management zu implementieren müssen folgende Erweiterungen in der Lösung vorgenommen werden: - Hinzufügen der Referenz - Anpassung/Erstellung eines speziellen SharePoint-Features - Implementierung einer Klasse ProductInformation - Implementierung der Lizenzvalidierung Hinzufügen der Referenz Um mit dem Framework arbeiten zu können, muss die DLL Solution2Share.License im Visual Studio referenziert werden. License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 3
Anpassung/Erstellung eines speziellen SharePoint-Features Um im License Management gelistet zu werden muss ein bestehendes Feature angepasst oder ein neues Feature erstellt werden. Dieses Feature muss in den Edit Options im Visual Studio um einige Properties erweitert werden. <?xml version="1.0" encoding="utf-8"?> <Feature xmlns="http://schemas.microsoft.com/sharepoint/"> <Properties> <Property Key="Manufacturer" Value="Solutions2Share" /> <Property Key="LicenseManagementVersion" Value="1.0" /> <Property Key="Release" Value="1000000000" /> <Property Key="Version" Value="1.0.0.0" /> <Property Key="ProductUrl" Value="http://www.Solutions2Share.de/SitePages/Products/MenuMaker-NewMenu.aspx" /> <Property Key="Name" Value="MenuMaker - New Menu"/> <Property Key="ImageUrl" Value="/_layouts/images/RK/NewGroupedMenu/newgroupedmenu_featureicon.png"/> <Property Key="Description" Value="Make grouping in New Menu possible."/> <Property Key="Assembly" Value="RK.Solutions.NewGroupedMenu, Version='1.0.0.0', Culture=neutral, PublicKeyToken=424764416a008ba7"/> </Properties> </Feature> License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 4
Zusätzlich sollte an das Feature ein Eventreceiver hinzugefügt werden, so dass eine Trial-Lizenz automatisch in das Lizenz Management hinzugefügt werden kann. Hierzu wird empfohlen in den Methoden FeatureInstalled und FeatureUninstalling den nötigen Quellcode zu implementieren. public override void FeatureInstalled(SPFeatureReceiverProperties properties) LicenseManager.AddLicense(ProductManager.GetProduct(ProductInformation.FeatureId), ProductInformation.TrialKey); public override void FeatureUninstalling(SPFeatureReceiverProperties properties) LicenseManager.DeleteLicense(ProductManager.GetProduct(ProductInformation.FeatureId), ProductInformation.TrialKey); Implementierung einer Klasse ProductInformation Einige Produktinformationen wie zum Beispiel der Validationkey und der Trialkey sind in der Klasse ProductInformation enthalten. Diese Klasse muss in jedes Produkt implementiert werden. using System; using System.Text; using Solutions2Share.License; namespace Solutions2Share.License public static class ProductInformation public static readonly Guid FeatureId; public static readonly string ValidationKey; public static readonly string TrialKey; static ProductInformation() FeatureId = new Guid("Platzhalter für FeatureId"); ValidationKey = "Platzhalter für ValidationKey"; TrialKey = "Platzhalter für Trialkey"; Implementierung der Lizenzvalidierung Nachdem alle Basiskomponenten nun in das Produkt implementiert worden sind, muss an der geeigneten Stelle eine Lizenzprüfung durchgeführt werden. Die Überprüfung der Lizenz für das Produkt wird durch die Klasse LicenseValidator vorgenommen. Durch den Aufruf der Methode CheckLicense werden alle vorhanden Lizenzen für das Produkt überprüft und ein Status zurückgegeben. Folgende Status stehen zur Verfügung: Name Beschreibung Implementiert Exception Es ist ein unbekannter Fehler bei der Lizenzprüfung aufgetreten. License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 5
Expired Die Lizenz ist abgelaufen. Information Wird nur im Lizenz Management benötigt. Invalid Die Lizenz ist nicht valide. Obsolete Overused UsageDaysExceeded Die Lizenz ist für ein älteres Produkt. Die Anzahl der Benutzer der Lizenz wird überschritten. Die Anzahl der Evaluierungstage ist überschritten. Nein Valid Lizenz ist gültig Warning Wird nur im Lizenz Management benötigt. Jedem Softwarehersteller ist es überlassen, ob er nur auf Valid prüft, oder ob er alle Möglichkeiten implementiert. Hinweis / Tipp: Es ist ratsam den Status Overused zu implementieren, da die Anzahl der User pro Farm oder SiteCollection nicht vom Administrator sondern vom SiteCollection-Owner bestimmt wird. Eine komplette Abschaltung der Funktionen bei der Nutzung von zu vielen Anwendern wäre unvorteilhaft, da alle lizenzierten Anwender auch nicht arbeiten könnten. Empfohlen wird die Abschaltung alle Konfigurationsmöglichkeiten im Produkt. Die Nutzer können so noch die Funktionalität verwenden, diese bei Bedarf aber nicht verändern. if (LicenseValidator.CheckLicense(ProductManager.GetProduct(ProductInformation.FeatureId),SPContext.Current.Web) == LicenseStatus.Valid) // Implementierung des Quellcodes else // Lizenz ist nicht gültig License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 6
Bereitstellung der Software auf der Website Bereitstellung der Software Die Software muss Solutions2Share in einer ZIP-Datei zur Verfügung gestellt werden. Diese ZIP-Datei ist als Beispiel mit im SDK enthalten und enthält folgende Elemente: - Solutions2Share Installer - Ihr eigenes SharePoint-Produkt als WSP Bereitstellung der Beschreibung Für die Veröffentlichung des Produktes auf der Website werden folgende Unterlagen benötigt: - Word-Dokument mit Feature Beschreibung - Word-Dokument mit der Beschreibung des Produktes - Word-Dokument mit der Spezifikation - Excel-Dokument mit Preisen - Installationsanleitung als PDF-Dokument - Produktbeschreibung als PDF-Dokument - Bedienungsanleitung als PDF-Dokument Für alle Dokumente sind unter der Rubrik Partner Vorlagen hinterlegt. License Management 1.0 SDK Copyright Solutions2Share.de Maxfeldstraße 5 90409 Nürnberg Seite 7