About Form Synchronization

Size: px
Start display at page:

Download "About Form Synchronization"

Transcription

1 About Form Synchronization MAPICS, Inc Windward Concourse Parkway Suite 100 Alpharetta, GA Last Update: 12/17/2003

2 About Form Synchronization Copyright MAPICS, Inc All Rights Reserved Printed in the USA December 2003 Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS , and Rights in Data-General at FAR , as applicable. Name of Contractor: MAPICS, Inc., 1000 Windward Concourse Parkway, Suite 100, Alpharetta, GA SyteLine is a trademark of MAPICS, Inc. All other product names used in this manual are trademarks, registered trademarks, or trade names of their respective companies.

3 Contents 1. About FormSync Terminology FormSync Users Synchronizing Objects versus Copying or Exporting Objects Scope of Synchronization Customization and Synchronization Schematic Overview of Synchronization Forms Synchronization Merge Customizations Leave Customized Forms Untouched Remove Customized Forms No Form Processing Global Form Objects Synchronization Remove Customizations Leave Customizations Default Synchronization Forms Version Identification Default Settings Results of Default Synchronization Global Form Objects Explorer Remarks on Customizations and Synchronization Prompts and Testing Prompts New Objects

4

5 1. About FormSync In edit mode, WinStudio serves as a development tool for customizing forms in SyteLine ERP. FormSync is an aid to preserving these customizations when you upgrade to a newer version of SyteLine or when you apply a service pack. The process of handling customizations in an upgrade is referred to as synchronization. FormSync also provides a set of development and administrative utilities with which you can gather information about customizations, copy customizations from one database to another, and generate SQL scripts to apply customizations to a remote database. Although this document assumes the reader is familiar with WinStudio form development, it emphasizes some basic concepts to show the role of FormSync in the development process. This chapter describes basic FormSync functionality. Terminology The following terms are used throughout this document. Forms database. A SQL Server database in which specifications defining forms and form-related objects are stored. When a user opens a form at run time, WinStudio retrieves the specifications and creates the functional form. Object. An item such as a form, form component, or variable defined in WinStudio edit mode. Specifications that define objects are stored in the forms database. They are the basic data that FormSync processes. (Object types and attributes are listed in chapter 3.) Global form object. An object, such as a script or variable, that is not specific to a form but can be used in more than one form. Vendor version. The default version of an object supplied by MAPICS. Vendor versions provide the delivered functionality of SyteLine ERP forms. The vendor version of an object is not changed or deleted in WinStudio edit mode with normal editing permission (Basic, Full User, or Site Developer). Customized version. An object changed in a SyteLine installation by a user with normal editing permission (Basic, Full User, or Site Developer). WinStudio saves a changed object in the forms database as an object based on the vendor version About Form Synchronization 1-1

6 Introduction (or on another customized version). In effect, an edited copy of a vendor version is inserted in the forms database to create the customized version. New objects created by a customer developer are also classified as customized versions, as are copies of vendor versions saved under a new name. FormSync Users The degree of development experience required to use FormSync depends on the level of customization in a forms database. If customized versions contain only those changes allowed to users with Basic editing permission, FormSync automatically handles all customizations. Experience with form development in WinStudio is not required. (See chapter 3 for Basic customizations.) If customized versions contain changes other than Basic customizations, the FormSync user should be prepared to reply to prompt messages pertaining to specific attributes of forms. Interpreting prompt messages, testing results, and manually changing merged forms all require an understanding of form development in WinStudio. Users should also be familiar with a site's development plan and policies. Note that if an installation contains no customizations, you should not run FormSync in connection with version upgrades or service packs. Synchronizing Objects versus Copying or Exporting Objects The functionality of FormSync in the upgrade process is essentially different from its functionality as a development tool for administering forms databases. In an upgrade, synchronization handles vendor versions of forms in both the revised and the unrevised versions of SyteLine. FormSync compares any customized version of a form with the two vendor versions of it. FormSync then allows the user to update the customized version with specifications from the new vendor version, while selectively retaining customizations. Alternatively, synchronization can remove customized versions entirely or keep them intact. In all cases, FormSync replaces old vendor versions with new vendor versions. FormSync s utilities for copying and exporting objects do not affect vendor versions of forms or global form objects. The utilities access only customized versions. The utilities are useful primarily to customer developers who customize forms in a development About Form Synchronization 1-2

7 Introduction forms database (a working database) and subsequently copy the customizations to a production forms database (a run-time database). Copy and export operations do not alter the SyteLine ERP version number or service-pack number in a forms database. The utilities can serve an informational role in upgrades you can generate lists of customizations currently in a forms database and you can store customizations in script files before you synchronize databases. Scope of Synchronization FormSync processes customizations made to the client tier only, that is, forms and global form objects. Such customizations are made in WinStudio edit mode. Common customizations are the resizing of a form, the addition of a text-box to a form, and a change to the source for a drop-down list. FormSync does not process or examine changes made to the middle tier or the application-database tier. Synchronization and the operations performed by FormSync utilities do not apply to objects listed in Table 1.1. TABLE 1.1 Objects Not Processed by FormSync Tier Object Middle Application database IDO meta data IDO.cls files IDO.dll files Data Collection.asp pages Report.rpt files Table columns Stored procedures Triggers Functions Report background-task definitions Customization and Synchronization As a development project, customizing WinStudio forms requires planning, documentation, and application of development policies. FormSync cannot anticipate the consequences of all customizations or guarantee the functionality of both customizations and base-level SyteLine functionality after a patch or an upgrade is applied. FormSync is effective in maintaining functionality when it is used in conjunction with a development plan, documentation supporting the plan, and testing. About Form Synchronization 1-3

8 Introduction About Form Synchronization 1-4

9 2. Schematic Overview of Synchronization This chapter shows schematically the results of running FormSync under various synchronization options. As an overview of functionality, the chapter provides a minimum of technical or procedural detail. Default synchronization is covered in detail in chapter 3. Forms A hypothetical forms database contains a single form. The database with the vendor version is represented this way: A customer developer changes the form caption by specifying a different string name in the Caption field in the Form Properties dialog box. The old caption was Associates; the new caption is Employees. The developer assigns User scope to the customization and assigns the user name B_Smith. The customization results in the addition of a customized version of the form to the forms database. An ellipse represents the revised caption: About Form Synchronization 2-1

10 Schematic Overview of Synchronization The user B_Smith has access to the customized version. The vendor version remains unchanged and is not accessible to B_Smith. A new forms database from a service pack or version upgrade contains a revised vendor version of the form. The revision consists of a new command button labeled Print. The revision is represented by a white rectangle: Synchronization To synchronize the customized version of the form with the new vendor version, the first step is to select the databases in the FormSync logon dialog box. The forms database containing the customization must be in the target configuration, and the database containing the new vendor version must be in the source configuration. In synchronization, data from the source database updates information in the target database. About Form Synchronization 2-2

11 Schematic Overview of Synchronization FormSync provides four synchronization options for customized forms. 1. Merge The default option. For each customized version of a form, FormSync integrates (or prompts the user to integrate) specific revisions contained in the new vendor version with the customized version of the form. FormSync replaces old vendor versions with new vendor versions. 2. Leave Customized Versions Untouched FormSync retains any customized versions in the target database, independent of new vendor versions. FormSync replaces old vendor versions with new vendor versions 3. Remove Customized Versions FormSync removes customized versions entirely from the target database. FormSync replaces old vendor versions with new vendor versions 4. No Form Processing FormSync disregards form specifications in both databases; the option is normally used to synchronize only global form objects or the Explorer. The options are illustrated below. About Form Synchronization 2-3

12 Schematic Overview of Synchronization 1. Merge Customizations Before Synchronization After Synchronization Results The old vendor version in the target database is removed. The new vendor version replaces the old vendor version in the target database. The customized version is retained in the target database and incorporates both the pre-synchronization customization and the revised specifications from the new vendor version. The new vendor version has the Print button and the original caption Associates. The customized version has the new Print button and retains the custom caption Employees. About Form Synchronization 2-4

13 Schematic Overview of Synchronization 2. Leave Customized Forms Untouched Before Synchronization After Synchronization Results The old vendor version in the target database is removed. The new vendor version replaces the old vendor version in the target database. The customized version, which is based on the old vendor version, is retained in the target database and is unchanged. The customized version does not incorporate revisions contained in the new vendor version. The customized version retains the custom caption Employees but does not have the new Print button. The vendor version has the new Print button and the original caption Associates. About Form Synchronization 2-5

14 Schematic Overview of Synchronization 3. Remove Customized Forms Before Synchronization After Synchronization Results The old vendor version in the target database is removed. The new vendor version replaces the old vendor version in the target database. The customized version is removed from the target database. The new vendor version has the Print button. The custom caption Employees is not in use. The user B_Smith now can access only the new vendor version. About Form Synchronization 2-6

15 Schematic Overview of Synchronization 4. No Form Processing Before Synchronization After Synchronization Results The old vendor version and the customized version are unchanged. Global Form Objects A global form object, such as a variable or a script, is not specific to a form but may be referenced in more than one form. FormSync handles customized global form objects separately from customized forms. In this representation, a forms database contains a global variable and a Visual Basic for Applications script. About Form Synchronization 2-7

16 Schematic Overview of Synchronization A customer developer changes a line of code in the script and assigns User scope to the customization, with user name B_Smith. The change results in the addition of a customized object to the forms database. When B_Smith uses a form that references the script, the customized version is called rather than the vendor version. Other users do not have access to the customized script. The vendor version remains unchanged and is not accessible to B_Smith. A new forms database from a service pack or version upgrade contains revised vendor versions of the variable and script. About Form Synchronization 2-8

17 Schematic Overview of Synchronization Synchronization The logon to FormSync is the same as the logon for synchronizing forms, with the forms database containing the customized objects in the target configuration and the new forms database in the source configuration: A global form object is treated as a unit in synchronization, unlike a form, whose multiple specifications for components and form properties can be handled individually in the merge process. Synchronization options for global form objects are Remove Customizations (default) and Leave Customizations. The two options are illustrated below. About Form Synchronization 2-9

18 Schematic Overview of Synchronization 1. Remove Customizations Before Synchronization After Synchronization Results The old vendor versions of the variable and the script are removed from the target database. The new vendor versions of the variable and the script replace the old vendor versions in the target database. By default, FormSync prompts the user to remove a customized version of an object or to retain it. Here the user removed the object. If the user had retained the customized object, the result would have been the same as the result of Leave Customizations. When user B_Smith accesses a form that references Script A, the form calls the new vendor version of the script. About Form Synchronization 2-10

19 Schematic Overview of Synchronization 2. Leave Customizations Before Synchronization After Synchronization Results The old vendor versions of the variable and the script are removed from the target database. The new vendor versions of the variable and the script replace the old vendor versions in the target database. The customized version of the script, which is based on the old vendor version, is retained in the target database and is unchanged. The customized version does not incorporate revisions contained in the new vendor version. When user B_Smith accesses a form that references the script, the customized version is called rather than the new vendor version. About Form Synchronization 2-11

20 Schematic Overview of Synchronization About Form Synchronization 2-12

21 3. Default Synchronization This chapter describes how FormSync handles customizations to forms, global form objects, and the Explorer in the default synchronization process. Forms Form object specifications are attribute values that define a form and components on the form. Values consist of WinStudio keywords, parameters, code for VBA scripts, names of referenced global form objects, and other specifications that are typically set in the WinStudio Form Properties dialog box or the Form Component Properties dialog box. A form in the synchronization process is the entire set of attributes of a form and components on the form. Attributes are listed in Table 3.1. Version Identification A vendor version can serve as the basis for multiple customized versions created by, or for, individual users and groups. FormSync identifies versions of forms by a combination of form name, scope type, and scope name. These identifiers, in turn, appear throughout FormSync prompts and messages to identify customized versions to the user. Scope type specifies whether a customized form is to be used by a single user (User type), a set of users (Group type), or by all users (Site Default type). User scope is qualified with a user name (a WinStudio user ID). Group scope is qualified with the name of an administrative group defined in the Groups form. A default form has Vendor scope type. (See the WinStudio online help for more information on scope.) Example: The following is a logged message: "Processing property class extension VendNum User version for user B_Smith." The object name is VendNum; scope type is User; scope name is B_Smith. In FormSync, a customized version is any form or global form object with scope type User, Group, or Site Default. A vendor version is any form or global form object with scope type Vendor. In the synchronization process, FormSync compares any User, About Form Synchronization 3-1

22 Default Synchronization Group, or Site Default version of a form with Vendor versions of the same name in the source and target databases. All forms have scope attributes. Customer developers with Site Developer editing permission specify scope attributes when they customize forms; WinStudio sets scope attributes automatically when developers with lower-level editing permission customize forms. FormSync similarly identifies global form objects by name, scope type, and scope name. TABLE 3.1 Form Attributes Attribute Type Form Component Attribute Caption Data source Event handler Filter form Form script (distinct from a global script) ActiveX control name Autocomplete Caption Center justification Check box Component class Containment Data source Data type/format Default Default on copy Disable for existing Object Disable for new object Disable in filter-in-place Enable on nonmodified objects Enable on required Data Supplied Events to generate Find/maintain form Frame Glue bottom Glue right Grid column frozen Group Form variable (distinct from a global variable) Size Splitter settings Standard operations Hidden List height List source Menu (short cut) Message on status line Multiple selection Need right click No clear on new No colon No tab stop Password Radio button selected Value Read only Required Right justification Second splitter pane Size and position Solid Sort TBD for new objects Type Uppercase Validate Immediately Validators Value is list index About Form Synchronization 3-2

23 Default Synchronization Default Settings Default settings for forms in the Synchronization Options dialog are as follows: Only Process Objects Changed by the Vendor. With this field selected, FormSync examines customized attributes if the new vendor version in the source database is different from the old vendor version in the target database. FormSync performs a three-way comparison between the three versions. Merge Customizations. With this option selected, FormSync retains customized attributes in the target database or prompts the user to retain them, depending on additional settings in the Merge Options dialog box. Form Name Mask. With this field blank, FormSync processes all forms. The button Select Attributes to Keep opens the Merge Options dialog box, which provides settings for specific attributes of forms: About Form Synchronization 3-3

24 Default Synchronization A check next to an attribute name means that FormSync will retain a customized value of the attribute in the target database or prompt the user to retain it, depending on whether the corresponding Prompt check box is selected. Note that Prompt check boxes are selected for most attributes. Attributes that are not selected correspond to customizations allowed to a user with Basic editing permission. These attributes pertain to the user interface and do not affect data or system integrity. Customer developers changes to the values of these attributes are referred to as Basic customizations. (See the WinStudio online help for information on levels of editing permission.) Attributes for Basic customizations: Forms Caption Size (height and width) Splitter settings Components Caption Default on copy Default value Hidden No clear on new About Form Synchronization 3-4

25 Default Synchronization Read-only Size pos (height, width, top, and left) Uppercase Effects of the default Prompt settings are described in the next section. Results of Default Synchronization With default settings, FormSync merges customized versions and vendor versions as described below. Synchronization automatically updates an attribute of a customized version in the target database if the attribute was not changed by a customer developer. Developers typically change only a few attributes in a customized version of a form. Any of the other attributes are upgraded by FormSync. Example: In a customized form, a customer developer changes the list source for a combo box. The developer does not change event handlers in the customized form. The new vendor version of the form in the source database contains a modification to one of the event handlers. Synchronization replaces the event handler in the customized form with the modified event handler from the source version. Synchronization automatically inserts in the customized version any new component found in the source vendor version. (A new component in the source version is one added to a form as a product enhancement. It has no counterpart in the vendor version in the target database.) Example: The vendor version of a form in the source database contains a new text box. Synchronization automatically inserts the text box in any customized versions of the form in the target database. Synchronization does not automatically update an attribute that is changed in the customized version and revised in the vendor version in the source database. In this situation, the three versions of the form -- customized version, target vendor version, and source vendor version -- have different values for an attribute. FormSync prompts the user to retain the changed attribute in the customized form or to replace it with the revision from the source database. Replying appropriately to these prompts requires understanding of the three versions of the form. Changes in the upgraded version may be incompatible with the About Form Synchronization 3-5

26 Default Synchronization customized version. Testing, redevelopment, and manual application of revisions may be required. See chapter 4. Exceptions to Prompting Behavior: The default settings override prompting behavior for those attributes that correspond to Basic customizations. FormSync automatically retains the customized versions of these attributes in the target database. In the Merge Options dialog box, the Prompt check boxes for the attributes is cleared. Example: A customer developer changes a validator for a component in a customized version. Specifications for the validator are also revised in the vendor version in the source database. Because the Prompt check box for Validator is selected, FormSync prompts the user to retain the customization or to replace it with new specifications from the source database. Example: A customer developer increases the width of a component in a customized version. The width setting is also revised in the vendor version in the source database. Because the Prompt check box for Size Pos is not selected, FormSync automatically retains the customized width setting in the customized version. Synchronization automatically removes all vendor versions of forms from the target database and replaces them with revised vendor versions from the source database. Default synchronization does not affect new forms or new components in the target database. A new form or component is one saved in the target database under a name specified by a customer developer. Also, default synchronization does not delete customized versions from the target database. Specifically, Synchronization does not remove a customized version of a form from the target database. A customized version is retained even if the form was removed from the product as part of an enhancement (that is, there is no vendor version of the form in the source database). Synchronization does not change or remove a new component in a customized version. Synchronization does not change or remove a new form in the target database. Program flow for default form synchronization is shown in Figure 3.1. About Form Synchronization 3-6

27 Default Synchronization FIGURE 3.1 Program Flow in Default Synchronization of Forms Loop through Customized versions of forms in the Target DB. If the name of a Customized version of a form does not match the name of a Vendor version in the Source DB, Leave the Customized version of the form intact, without prompting the user. Get the next Customized version (loop). If the name of a Customized version of a form matches the name of a Vendor version in the Source DB, Compare each attribute of the Source Vendor version of the form with the corresponding attribute of the Target Vendor version of the form: If the name of a component in the Source Vendor version does not match the name of a component in the Target Vendor version (a New component), Insert the New component in the Customized version in the Target DB, without prompting the user. If an attribute of the Source Vendor version is the same as the attribute of the Target Vendor version, Leave the attribute of the Customized version of the form intact, without prompting the user. If an attribute of the Source Vendor version is different from the attribute of the Target Vendor version and the corresponding attribute of the Customized version is the same as the attribute of the Target Vendor version, Copy the attribute of the Source Vendor version over the attribute of the Customized version, without prompting the user. If an attribute of the Source Vendor version is different from the attribute of the Target Vendor version and the corresponding attribute of the Customized version is different from the attribute of the Target Vendor version, If the Prompt check box for the attribute in the Merge Options dialog box is not selected, Leave the attribute of the Customized version of the form intact, without prompting the user. If the Prompt check box for the attribute in the Merge Options dialog box is selected, prompt the user to keep the attribute of the Customized version or to replace it with the attribute of the Source Vendor version. If the user chooses to keep the attribute, Leave the attribute of the Customized version of the form intact. If the user chooses to overwrite the attribute, Copy the attribute of the Source Vendor version over the attribute of the Customized version. Remove Vendor versions of forms from the Target DB. Copy Vendor versions of forms, including any new forms, from the Source DB to the Target DB. About Form Synchronization 3-7

28 Default Synchronization Global Form Objects Global form object specifications are processed separately from forms. In the synchronization process, there is no option to merge attributes from a revised vendor version of a global form object with attributes of a customized version in the target database. Users can retain a customized version of an object or replace it with the vendor version from the source database. Types of global form objects: Component class Menu (right-click) Property-class extension Script (distinct from a form script) String Validator Variable (distinct from a form variable) With default settings, FormSync: Prompts the user to remove a customized global form object or to retain it. (See chapter 4.) Removes vendor versions of global form objects from the target database and replaces them with revised vendor versions from the source database. Does not remove or change new global form objects (a new object is one saved under a developer-specified name in the target database. ) Explorer With default settings, FormSync: Replaces the Master Explorer in the target database with the Master Explorer from the source database. Retains all customized public folders and My Folders folders in the Explorer of the target database. The All Forms folder is dynamically created from the forms database, so it automatically includes any new vendor versions of forms after the target database is synchronized. About Form Synchronization 3-8

29 Default Synchronization Remarks on Customizations and Synchronization FormSync looks for identity between customized versions and a vendor version. Any type of change that has been made to an attribute value registers as a customization in synchronization, whether or not the change affects functionality. For example, if a customer developer adds a comment to a script, the script registers as customized. A set of specifications for a complex object, such as a component class or a script, is treated as a unit in synchronization; FormSync does not attempt to synchronize selectively individual specifications for the object. Global form objects are listed as attributes of forms and components in the Merge Options dialog box. The values of these attributes are name references to global objects. A customization of a form component with regard to global objects consists only of selection of a different named object in the component specifications. For example, if a component uses the right-click menu named StdDefault and a customer developer changes the value to StdDetails, FormSync processes the change as a customization of the component. Customizations of global form objects themselves are processed separately, as specified in the Synchronization Options dialog box. If a customer developer changes the attributes of the menu StdDefault, the menu is processed as a customized version of the global form object, but form components that use the customized menu are not processed as customized. FormSync does not attempt to resolve conflicts between the size and position of customized components and revised settings for size and position in a new vendor version. Where a vendor developer has moved, resized, or added components on a form, a component can appear over a customized component in a merged form. About Form Synchronization 3-9

30 4. Prompts and Testing This chapter looks at customizations that cannot be merged automatically with a high degree of confidence. If a forms database contains customizations other than Basic changes, FormSync users should plan to compare customized form attributes with new vendor versions of the attributes. Users can decide whether to retain a customization or to replace it with the new version and to reapply changes to the new version. MAPICS recommends that users select FormSync's option to record prompts for replay later. This mode provides information about customizations and new vendor versions, which users can consider before they commit changes through the prompt mechanism. In this mode, FormSync can be run unattended. (See the online help for FormSync for prompting options and procedures.) FormSync users should plan to test: Customized forms in which the user retained a customization in response to a FormSync prompt. New forms created by customer developers. Forms that use a customized global form object that the user retained in response to a FormSync prompt. Prompts A prompt to retain or to replace an attribute value indicates that (1) the value has been customized and (2) it has been changed in the new vendor version relative to the old vendor version. By default, Basic customizations do not generate prompts, though they may meet these two conditions. A customization that was functional in the old version of the application will not necessarily be functional in the new version. Also, if a user retains a customization, any enhancement or fix implemented in the new version will not be applied to the target version. Example: A customer developer changes an event handler of the Run Script type so that it invokes a different script. The script depends on getting the value of a component on the form. In the new vendor version, the data type of the component is changed. FormSync changes the data type in About Form Synchronization 4-1

31 Prompts and Testing the customized form without prompting the user because the component was not customized in the old version. FormSync prompts the user to retain or replace the changed event handler. If the user retains the customized script, the event handler may fail. When the automated part of synchronization is finished, users can review the content of prompt messages recorded in the FormSync log. Messages show which attributes are changed in the customized version and the new vendor version. For most attributes, the messages show the customized value and the new value of a changed attribute. (See the FormSync online help for tips on browsing and using the log.) Users can base a plan on information from the log and on the users' development policies and procedures. Plans for handling a specific attribute will likely resemble one of the following: Replace the customization with the new version. Replace the customization with the new version and subsequently reapply changes manually in WinStudio. Retain the customization. Users should consider dependencies within the form and within the system when they choose to retain a customization. A service pack or version upgrade can modify: An IDO or other resource on which the customized object is dependent. (See Table 1.1.) A vendor version of a form or global form object on which the customized object is dependent. A vendor version of a form or global form object that depends on the vendor version of the customized object. Users must replay the FormSync prompts and commit changes to the forms database. After any needed manual editing in WinStudio, users should test customized forms. A test environment must be parallel to the updated run-time environment, with forms accessing the updated IDOs, application database, and other parts of the application. New Objects Objects based on a default version and saved under a new name in the target database are new objects, as are newly created About Form Synchronization 4-2

32 Prompts and Testing objects saved under a developer-specified name. Because FormSync does not examine new objects in the target database during synchronization, developers should consider system dependencies related to customizations, and they should test the objects as noted under the Prompts section. Example: A customized form based on a default vendor version is saved under a new name. A button on the form uses the vendor version of an event handler. The event handler is of the type that calls an IDO method, which takes a certain number of parameters. In the upgraded middle-tier, which FormSync does not examine, the IDO method is modified to require an additional parameter. Because synchronization does not replace the old vendor version of the event handler with the new vendor version, the method call fails in the upgraded version. Example: A customer developer adds a button to a form, creating a new component. The developer creates a new event handler for the button, which uses an IDO method. In the upgraded middle-tier, the IDO method is modified to require a different type of parameter. Synchronization does not alter the new component, and the event handler fails when it calls the modified IDO. FormSync users should adopt naming conventions for new objects to distinguish them from other customized versions. FormSync does not generate prompts regarding new objects. About Form Synchronization 4-3