An organization can configure an entity to use a specially designed form or specialized functionality. To implement this specialized behavior, a developer creates a .NET assembly that defines the entity's extended functionality. These assemblies are then stored in the Object Repository and are added to the entity on the Plug-Ins tab using the Plug Ins record. The entity uses the plugins specified on this tab to override standard functionality with the functionality specified in one or more plug-ins.
Plug In Types
The Entity Plug In Types service stores the list of available plug-in types. Plug-in types may be global or entity specific. A developer can create additional Plug In Types as necessary. See About the Entity Plug In Types Form for more information.
The standard Aptify installation includes seven global types as well as a number of entity-specific types:
- Viewer (1): This plug-in type corresponds to an alternate data form for the entity. In Aptify, entities with specialized viewer forms include Views, Entities, Archive Runs, Scheduled Tasks, and Base Fields.
- Entity (2): This plug-in type indicates that the object implements specialized business logic for the entity. Typically, this plug applies to entities that require additional functionality beyond the standard implementation. For example, the Views, Entities, Archive Runs, Scheduled Tasks, and Base Fields entities all have an Entity plug-in.
- Duplicate Check (3): This plug-in type corresponds to an object that implements entity-specific duplicate checking behavior.
- Extension (4): This plug-in type corresponds to an object that implements an entity-specific right-click context menu.
- Verification (5): This plug-in type corresponds to an object that implements entity-specific record verification behavior.
- Find (6): This plug-in type corresponds to an object that implements an entity-specific Find dialog.
- Merge (7): This plug-in type corresponds to an object that implements -entity-specific record merging behavior.
- Excel Integration (37): This plug-in type defines the Excel Export wizard for the entity and overrides the default Excel Integration logic specified in the Views entity (or the core Excel Integration component if a default integration plug-in is not specified in the Views entity). You can also define a default configuration for all views within Aptify using the Excel Integration Default plug-in type of the Views entity. See the Using the Excel Integration Wizard for more information.
- Data Pack: This plug-in defines the Data Pack wizard for the entity and overrides the default packing logic.
- Data Unpack: This plug-in defines the Data Unpack wizard and overrides the default unpacking logic.
Once a developer has created the plug in, follow these steps to add the new plug-in to an entity:
These steps describe how to add a plug-in to an entity after a developer has created the .NET assembly; these steps do not describe how to write a plug-in. Aptify provides information on creating entity plug-ins in the Developers training course. Students in this course gain first-hand experience creating entity plug-ins in a test environment. Contact Aptify for more information. Additional developer information is also available in the Aptify Software Development Kit (SDK).
- Add the plug-in's object file to the Object Repository.
- See Creating Object Repository Objects for more information on adding new items to the repository.
- If the plug-in provides functionality that is not already described by an existing plug-in type, create a new record in the Entity Plug In Types service as directed by the plug-in's developer.
- In general, any new Entity Plug In Types records you create should be specific to a particular entity.
- Open the entity's record in the Entities service.
- Click the Plug-Ins tab.
- Open a new Plug Ins sub-type record.
- Select the Plug In Type from the drop-down list.
- See Plug In Types for the list of global types.
- Enter the Object Repository location of the plug-in's object in the Object Name field.
- Alternatively, you can click the plus icon to the right of the field to open the Select Object Repository Object dialog. You can use this dialog to browse for an existing object or to add a new object to the repository (if you have not done so already). See Creating Object Repository Objects for details.
- Enter the plug-in's .NET assembly name in the Assembly Name field.
- Enter the class within the .NET assembly that implements the plug-in's functionality in the Class Name field.
- Click OK.
- Save and Close the Entities record.
- Close and reopen the Aptify client.
- Use the records in the entity to perform a test to confirm that the system successfully uses the functionality defined by the plug-in you added.
Sample Duplicate Check Objects
Aptify provides the compiled object and source code for two sample duplicate check objects: one for Persons and one for Companies. A developer can use these samples as a basis for writing his or her own duplicate check object for an entity. Note that these objects are provided as samples only since what may be considered a duplicate will vary from entity-to-entity and from organization-to-organization. Additional sample duplicate check objects are included with the sample application. See About the Sample Application Duplicate Check Objects for details.
The sample objects use the following logic to identify duplicates:
- Sample Persons Duplicate Check Object (AptifyPersonDupeCheck.dll): When a user attempts to save a new Persons record, this sample object checks for existing Persons records that have the same First and Last Name. If any matches exist, Aptify identifies these records as potential duplicates.
- Sample Companies Duplicate Check Object (AptifyCompanyDupeCheck.dll): When a user attempts to save a new Companies record, this sample object checks for existing Companies records that have the same exact Name. If any matches exist, Aptify identifies these records as potential duplicates.
By default, the Aptify installer adds these sample objects to the Aptify Object Repository, but the duplicate checking functionality is not enabled.
See Enabling the Persons and Companies Sample Duplicate Object to turn on the sample duplicate check object for the Persons and/or Companies entity:
Enabling the Persons and Companies Sample Duplicate Object
Follow these steps to turn on the sample duplicate check object for the Persons and/or Companies entity:
- Open the Entities record for Persons or Companies and click the Plug-Ins tab.
- Click the New icon in the sub-type toolbar to open a new Plug-Ins record.
- Select Duplicate Check from the Plug In Type drop-down menu.
- Enter the Object Repository location for the sample duplicate check object in the Object field.
- For the Persons duplicate check object, enter CRM.AptifyPersonDupeCheck.
- For the Companies duplicate check object, enter CRM.AptifyCompanyDupeCheck.
- Enter the object's Assembly Name in the field provided.
- For the Persons duplicate check object, enter AptifyPersonDupeCheck.
- For the Companies duplicate check object, enter AptifyCompanyDupeCheck.
- Enter the applicable Class Name in the field provided.
- For the Persons duplicate check object, enter Aptify.Applications.CRM.PersonDupeCheck.
- For the Companies duplicate check object, enter Aptify.Applications.CRM.CompanyDupeCheck.
- Click OK to save and close the Plug-Ins record.
- Save and close the Entities record.
- Close and reopen Aptify.
- Test the duplicate check object by attempting to save a new Persons or Companies record that has the same name as an existing record.