About Form Control

Form Control is a version-control tool for objects being developed for the presentation layer (client tier) of a Mongoose-based application. The Mongoose clients are form-presentation and -editing engines used to create and modify forms and global objects. These objects are stored in the forms and templates databases that are configured for your application.

Form Control is used to access the objects stored in these forms and templates databases. Form Control tracks versions of objects and supports access to a repository of versions and an archive of deleted objects. Although implementing Form Control is optional, this tool is particularly useful when several developers are working on an application, as it allows one developer to lock a form or global object while working on it, so that other developers cannot work on the same object at the same time.

Use Form Control to check out objects from the "master" databases (which contain the current versions of objects) to "run-time" databases (which temporarily store the objects) for editing. After editing the objects in a client, you then use Form Control to check the edited objects back in to the master databases. If you use a source control system, Form Control simultaneously checks objects in to source control when you check objects in to the master databases.

You can also delete objects from the master and run-time databases and can copy them to archive databases. These previous versions of objects are then available through source control.

Note:  You can use Form Control only with login IDs having Site Developer or Vendor Developer editing permissions. When you log in to Form Control, make sure you select Site in the Scope field.

Before any operation is performed on objects, Form Control checks the master and run-time databases for changes, and refreshes the cache before proceeding with any operation.

Before you begin

Form Control functionality is accessed either from the Form Control form or (in on-premises installations) the Form Control stand-alone utility.

Before you can use Form Control, you must use the Configuration Manager utility to create at least one system configuration. Use Configuration Manager to create a configuration, including a tools login that is used to open Form Control and to track check-ins and check-outs. The tools login must have Vendor Developer editing permissions in your application.

Note: In most established Mongoose work environments, including a Multi-Tenant Cloud situation, an authorized system administrator will have already created any necessary configurations for your use. If you need to have a configuration created, and you do not have access to the Configuration Manager utility, request your authorized system administrator to create one for you.

For more information about setting up configurations, see the help for the Configuration Manager.

The basic functionality of Form Control

This diagram illustrates the basic functionality of Form Control:

FormControl flow diagram

Use Form Control to check out (from the master databases) any forms or global objects that you want to edit. Form Control places copies of the objects in the run-time database while you have them checked out.

After you check out an object, use the Web Designer (in the web client) or Design Mode (in the Windows client) to make the desired changes. You can also use your client to create new objects. In either case, saving changes in your application stores the changes in the run-time database copy.

When you are finished working with the object, use Form Control to check the object back in to the master database. You can check in at one time both any objects that you checked out and any new objects you have created.

While using Form Control, keep this information in mind:

  • Form Control works only with the vendor and site default versions of a form or global object. Only developers with Site Developer or Vendor Developer editing permissions can create site or vendor default versions.
  • Checking out an object locks it for your use and prevents other developers from checking it out or saving other changes to it.
    Note:  Other developers can view and work with the form or object in the Web Designer/Design Mode, but they cannot save their changes until you check it back in.
  • Checking in objects that you checked out removes the lock on the object.
  • If you create and save a new object, your Mongoose-based application saves the object in the appropriate run-time database. It cannot be overwritten, because the object does not yet exist in the master database (until you check it in).
  • Checking in new objects adds them to the master databases and allows Form Control to track them.
  • If you make and save changes to an object that is not checked out (to you or anyone else), your changes will be overwritten the next time anyone checks that object out. To help prevent this from happening, you can set a User Preference to warn developers about this type of situation.

Tips

  • If you cannot check out an object because it is locked, Form Control displays the user ID of the developer who has the object checked out.
  • When you check out a form, you can see a list of all the associated global objects and can check out all or some of those objects at the same time.

    For more information, see Checking Out Forms.

  • When you check out a form, you can also check out the form template associated with it.

    For more information, see Checking Out Forms.

  • You can check out global objects independently, regardless of the forms they are associated with.

    For more information, see Checking Out Global Objects.

  • You can display a report of all the objects you have checked out.

    For more information, see Displaying the Current Status of Forms and Global Objects.

  • If you want to examine or test objects, you can get a copy of the current version of the object without checking it out. In this way, many developers can get the same object, even if the object is locked to a developer. If changes are made, however, they are not permanent because they cannot be checked in.
  • You can archive a form or global object. Archiving deletes the object from both the master and run-time databases and moves it to the corresponding archive database.

    For more information, see Archiving Forms or Archiving Global Objects.