The process of packing entities involves gathering all the necessary information pertaining to the entity and storing the data in a form that allows the entities to be installed at another location. Everything required for the entity installation is packed into a folder with the entity name and the extension .entpak and is placed in the location specified during the packing process. For example, a packed SampleServices entity is stored with the filename, SampleServices.entpak.

In many cases, an entity may have multiple dependent entities that also need to be packed in order for the entity to function correctly in the new location. When you create an entity pack, you can choose to also pack dependent entities. However, the time necessary to pack the entity is increased with each dependency (and the dependencies of those entities as well). For example, if the Persons entity needs to be packed, all dependent entities associated with the Persons record are also packed, including Companies, Member Types, Member Status Types, Organizations, and others. Once all the dependencies for the Persons entity are packed, all the dependencies for Companies, Member Types, and so forth are also packed. This has the potential to become a time-intensive process. In order to reduce the amount of time it takes to pack a particular entity, you can copy any existing dependent packed entities into the destination folder. Only those dependent entities which have not been changed since the date they were last packed should be copied to the destination folder.

For example, if packing the Persons entity with dependencies, the user can copy an existing Companies.entpak folder into the destination folder for the packed entities. During the packing process, Aptify detects that Companies.entpak already exists in the folder and does not attempt to repack that entity or any dependencies associated with that entity. If the above steps are not followed, all dependencies for the selected entities are packed and saved in the destination folder.

In other instances, the user may want to pack an entity along with all of its dependencies. This may occur if the target entity relies on changes that have been made to the dependent entities. If this is the case, simply mark the main entity, enable the pack dependencies options, and do not copy any .entpak folders to the destination folder. This ensures that the system automatically packs the main entity and all the dependent entities to the destination folder.

By default, users and groups that exist on the source server are packed when packing an entity. However, there may be cases when unpacking users on the target server may not be appropriate, especially when the entities are created in a development environment and then unpacked on a production server. With this in mind, the entity packing process includes the ability for a user to specify which users and groups to include in a packed entity. In addition, an administrator can also select which sub-type entities to pack (with or without the sub-type's parent entity) and whether or not to pack the sub-type entity's associated users, groups and sub-types which can greatly reduce the amount of time necessary to pack a particular entity.

Follow these steps to pack an entity:

  1. Launch the Entity Packer from the Entities service.
  2. Browse to the network location where you want to save the packed entities in the Packing Directory drop-down. 
  3. Modify the packing options, as necessary.
      • This ensures that all of the necessary entities are packed so that your selected entities will function properly on a new system. However, note that this can be time-consuming if the selected entities have a large number of dependencies (and if those dependencies have their own dependencies).
      • In order to reduce the amount of time it takes to pack a particular entity, you can copy existing, dependent packed entities directly into the destination folder. (assuming that you have made no changes to the entity since it was originally packed).

    Select Packing Directory and Packing Options

  4. Select Next.
  5. Select the Pack column for each entity that you want to include in the entity pack.
  6. For all of the entities that you want to pack, select or clear the Pack Form Templates and Pack Process Flows columns check boxes, as necessary.
      • Note that the wizard does not pack generated forms since the target system will generate them automatically during the unpacking process.
      • If the wizard packs any form templates, it adds this information to a FormTemplates.recpak sub-folder in the entity's entpak folder. The recpak folder is a data pack folder that contains record information for the form template and its associated records (such as Form Template Parts records). See Data Packing and Unpacking for information on the contents of the recpak folder.

      • If the wizard packs any Event Handlers and Process Flows, it adds this information to an EventHandlers.recpak sub-folder in the entity's entpak folder. The recpak folder is a data pack folder that contains record information for the event handler and its associated records (including the corresponding Process Flow). See Using the Data Packing and Unpacking Wizards for information on the contents of the recpak folder. 

        Select Which Entities to Pack
  7. Select Next.
  8. Specify which Users records, Groups records and sub-type entities to include in the pack.Select Which Users, Group, and, Sub Type Entities to Pack
  9. Click Finish to pack the selected entities (and the dependent entities and/or database objects, as applicable).

It is important to keep in mind that when an entity is unpacked, all changes made to that entity are included, regardless of the readiness of those changes for testing or production.

Entity Pack Structure

Each top-level entity pack (.entpak) folder contains the following sub-folder(s) and files: