Protecting Document Definitions and additional modules
You can develop solutions based on ABBYY FlexiCapture for sale to third parties. A solution is a Document Definition and may include the following additional components:
- A FlexiLayout created in FlexiLayout Studio
- A rule module or a special data checking algorithm that uses rules to check data
- An export module or a custom export procedure
You can protect your solution from unlicensed use using a Developer's License and a unique solution identifier. Only users with a User's License will be able to make use of your solution.
Protecting Document Definitions
- Send a message describing your solution and listing its components to the ABBYY office in your region.
- Depending on the type of the solution you are developing, the ABBYY office will provide you with unique identifiers for your solution's components, and in some cases a developer's license. The unique identifiers can be included in the source code of your solution's components and checked against the identifiers specified in a User's License.
- Start ABBYY FlexiCapture, open the Document Definition editor, click Document Definition Properties... on the Document Definition menu in the editor, select the General tab and enter the unique solution identifier you received from the ABBYY office.
- When selling your solution to a client, ask the ABBYY office for a User's License that includes the unique solution identifier. Without this license, your client will not be able to use the Document Definition or FlexiLayout to process documents.
Protecting individual components
Any component can be developed and protected independently from a complete solution.
If you want to protect a FlexiLayout, you will need a Developer's License. For details, see the Projects → Protection features for FlexiLayouts and Classifiers article of ABBYY FlexiLayout Studio help.
Export modules and rule modules are integrated into a Document Definition using a script. You will not need a Developer's License to protect these modules. If your solution allows using modules with any Document Definitions, you can protect them by including a unique identifier check in the module's code.
Note: We recommend developing an external library in the *.dll format and integrating it with ABBYY FlexiCapture. This will make the source code unavailable to users.
To do this, use the IsModuleAllowedByLicense method in your module to check whether the user's license allows using the module:
IsModuleAllowedByLicense ( authorId : string, moduleName : string ) : bool
In the code sample above, authorId is the unique identifier of the developer, and moduleName is the unique identifier of the solution.