You are here: Development Standards > OSAS Standards > Application Types

# Application Types

Once you have chosen the initial concept for your product, read the standard product definitions below to decide which type of product you are creating.

Standard Application

An application is a logical collection of accounting, business operation, or information processing tasks, usually defined by generally accepted accounting principles or standard business needs and practices.

A standard application must have its own main menu, programs, BRC files, data files, sample data files, xxTB table file, GENERAL Report Writer dictionary files and ODBC dictionary files.

In addition, a standard application usually contains one or more of these items:

- a master file
- a transaction file
- a history file
- miscellaneous files
- add/change tasks for all files
- file contents list tasks for all files
- enter transaction tasks
- useful reports based on the application's intent
- a post task

It may also include these features:

- interface with other applications--post to or verify/read from
- month-/year-end maintenance
- allow interface of data files with other applications (if the Options switches are set correctly)

A standard application is available from the OSAS main menu. It has a unique two-character application ID used to name the programs and data files.

Add-on Application

An add-on application adds or extends an existing application's functionality. The new application is usually a new submenu or menu added to the main application's menu. Some tasks may be rearranged when the add-on is installed so that tasks are arranged logically where they will be most useful. An example of an add-on application is Sales Order; it is an add-on to Accounts Receivable.

Here is a list of some of the requirements of an add-on application:

- Provide new programs and data files.
- Ship xxDATA.yyy (where yyy is the version number), or modify xxDATA.yyy to include information about new files.
- The user may be required to reset the application options.
- File conversion may be required to convert files to the new layouts.
- Users must be able to add a module to an existing file set easily and create defaults in new files that match existing data.

Enhancement Kit

An enhancement kit consists of enhanced programs, new programs, and menu additions. Here is a list of rules for enhancement kits:

- Install new features or tasks.
- Never overwrite an xxTB file. You can merge records into the table file.
- Never change a file IOLIST. You can use existing reserved fields and/or expand existing string fields to handle more data if the record length is greater than with all the fields full.
- Install simply. Copy new programs, add menu items, and provide a utility to convert data files if needed. Do not require the user to convert files or reset options.

Combination Products

A product can be a single application, an add-on application, or an enhancement kit. It can also be a combination of two of these three possibilities. For example, you can design an application that requires enhancements to other existing applications.

Suppose that product XX is a new application that provides its own features and data files, and adds new functionality to an existing field in the AR Customer file. If the user uses product XX as a stand-alone application, the expanded field usage does not apply. If the user uses Accounts Receivable, there is a conflict between the way product XX and AR use the field in the Customer file. To resolve this conflict, you would issue a product XX/AR enhancement kit.

Open Systems requires that each application modification remain a part of that application, but you must define it as a separate installable piece. The product package must contain two sets of media: the new application and the enhancement kit that is installed if the user also has the application to which the enhancement kit applies.

In operation the user can install the main product just like any other stand-alone application and run it without installing the enhancement. If the user does not have the application to which the enhancement kit applies, he cannot install the enhancement kit. If the user does have the application to which the enhancement kit applies or if he adds it at a later date, he must install the enhancement kit to get the enhanced functionality.

Never modify Resource Manager to accommodate unusual installations. Add tasks to the xxFRST.TXT and xxLAST.TXT files instead.