Products Screen - Overview

Before you can generate any license files, you must create a product using Protection! Control Center.


Overview

The Products Screen provides the ability to create and maintain products as well as provides an access to code snippets generated based on the product's configuration and used for Protection! implementation in the custom application. The Products Shortcut  on Control Center's Shortcuts Side Bar provides the way to activate the Products Screen.

The Products screen presents the user with a quick overview of all available products, the core product's information and a preview of the code snippet for Protection! implementation in the custom application. The following information is presented in the products screen:


Products List

This table outlines a list of products in the product's database. It provides standard table functionality such as column repositioning and resizing. A right click would launch the context popup menu, allowing the user to Create New Product, Edit an existing one or Delete the selected product. Popup context menus will also allow the user to perform standard Cut, Copy and Paste operations on the product. Operations such as Copy and Paste could be a tremendous time saver if a new product needs to be generated with information similar to an existing product. All above mentioned context menu icons are also located on the Control Center menu bar and toolbar for the user's convenience.

The following product attributes are shown in the table:


Product Details Tab

The Product Details Tab shows a preview of core product attributes for a selected product:


Audit Tab

Audit Tab shows results of the product auditing process. Product Auditing is an automated background process responsible for checking the currently selected product for errors, option conflicts and potential issues depending on the selected target (Code Snippet).
Note: The developer has the ability to ignore specific audits and maintain an ignore list using the "Edit Product | Audit" dialog.

"Issue List":This section shows a list of the audit results. Developers are able to quickly fix found audit issues by using the context menu. A default fix action can also be invoked by pressing the Enter key or double clicking the selected audit result.

"Issue Description":This section shows a detailed description for the selected audit topic. Description section also provides the developer with the ability to quickly fix found audit issues by clicking on hyperlinked text in the issue description.


Code Snippet Pane

Code Snippet shows ready-to-use Java implementation files that could be added to a custom application in order to enable Protection! support. The user could choose to preview "GUI", "Headless" or "Custom" code snippets, enable or disable automatic package, import statements, and/or insert and save snippets to a specified file.

The following options are available:
Code Snippet: Allows choosing one of the predefined Protection! snippet templates that could be used by the developer to generate the appropriate source code to be embedded into the protected application. The developer is free to create custom code snippets either from scratch or by importing and later modifying one of the default code snippet templates. Custom Code snippets are designed in Edit Product Dialog | Code Snippet section. The following code snippets are available:

"Save" button and "Save to <class name>" (hyperlink)": If configured then "Save" button would save the currently selected code snippet to <class name> - a java source file shown by hyperlinked file name. Clicking on the file hyperlink would launch the "Edit Product Dialog | Code Snippets" section where name of this file could be changed.

Warning: If the file was modified with custom code then the developer should copy paste appropriate changes from the generated code snippet. Otherwise, the changes would be lost as the file would be overwritten.

"Insert <package name> (hyperlink) package and import statements": If checked this option would automatically insert necessary import statements and package name into the code snippet. If unchecked then an appropriate @todo javadoc statement would be inserted to remind the developer that the code is missing both the package name and import statement.  Clicking on the file hyperlink would launch the "Edit Product Dialog | Code Snippets" where the package name could be changed.


Working with Products Storage

Protection! Control Center saves all Product's data in a single file with a *.dat extension. The user can create as many product storage files as necessary. To open an existing product storage file:

  1. Select "File | Open" on the menu bar or click the "Open"  button on the toolbar. A  Ctrl+O key combination could be used to launch the "File Open" Dialog.
  2. Navigate to the desired *.dat file
  3. Click the "Open" button.

Additionally Protection! provides users with the ability to open existing product storages via Drag&Drop. If the dropped file is not recognized as the product storage (by its extension) the user will be prompted with a menu allowing the user to choose how the dropped file should be processed.

Modified products storage can be saved by clicking the "Save" button on the toolbar or by selecting the "File | Save" menu item. A Ctrl+S key combination can also be used.

Products storage can be saved under a new name by clicking the "Save As" button on the toolbar or selecting the "File | Save As" menu item.


Product Storage Protection

Product storage protection functionality allows protecting products storages for opening and modification.


Write Protection

This functionality allows protecting products storages against unauthorized or accidental modification. Write protection functionality is complementary functionality to Read protection. If write-protection is applied to the products storage then the correct password must be provided to be able to make any modifications to such products storage.

Warning: If you lose your write protection's password you would not be able to make any modifications to write protected product storage. jProductivity's support engineers would not be able to assist in either opening your write protected product storage nor in the recovery of the lost password.

To apply or change write protection for specific product storage:


Read Protection

This functionality allows protecting products storages against unauthorized access. Read protection functionality is complementary functionality to write protection. Applying read protection enforces strong encryption of the product storage. If read-protection is applied to the products storage then the correct password must to be provided to be able to open such products storage. After read-protection is applied to the product storage, such products storage will be strongly encrypted that in turn minimizes possible damages if products storage was stolen or lost.

Warning: If you lose your read protection's password you would not be able to open read protected product storage. It would not be possible to use such product storage for any purpose including licensing activities. jProductivity's support engineers would not be able to assist in either opening your read protected product storage nor recovery of the lost password.

To apply or change write protection for specific product storage:


Managing Products Structure

All of a product's related information could be managed via the New/Edit Products dialog. This dialog is used to provide all necessary product information and properties that will be used during license file generation. If no products exist in the Control Center, the "New Product" dialog could be launched using the following procedure:

  1. Click the "New" button on the toolbar
  2. A new Product can also be generated either by selecting the "File | New | Product" or selecting the drop-down Icon on the "New" button and choosing "Product". A  Ctrl+Shift+P key combination can also be used to generate a new product. Generation of the new product would launch the "New Product" Dialog.

If Control Center already has one or more products set up, the "Edit Product" Dialog could be launched using the following procedure:


Using Code Snippets

Protection! Control Center will generate ready-for-implementation java code snippets. To embed Protection! support into the custom Java application the developer needs to:


Maintaining Launcher Build Configurations

It is possible to maintain Launcher Build Configurations via the "Edit Product | Launcher Build" dialog or via a dedicated "Launcher Build Configurations" dialog. This dialog can be shown by selecting the "Build | Configurations" menu item or by selecting the drop-down icon on the "Build" button  and choosing the "Configurations" item. The "Launcher Build Configurations" dialog shows the list of available configurations and allows maintenance and reordering of them.



Building Launchers

The following procedure allows building Launcher for a product based on predefined build configuration:

Changing License Encryption

Protection! allows the selection of an encryption algorithm and generates encryption keys during creation of a new product. Any further changes of product attributes will not lead to changes of either encryption algorithm nor encryption keys.

There might be a need to change the encryption algorithm and/or encryption keys in some rare cases. In such a case it can be done via the "Change Encryption" dialog which can be invoked by choosing the "Edit | Encryption" menu item. In this dialog the user is able to choose different encryption via the "Encryption" combo box.  After the user presses the "OK" button a new a new encryption algorithm and encryption keys will be assigned to the selected product; encryption keys will be re-generated even if the encryption algorithm is not changed.

Changing encryption keys and/or the encryption algorithm can be dangerous for your business. This change would mean that: