= Applications and versions = An '''application''' includes a program (actually, usually several programs: different versions and different platforms) and a set of [JobIn workunits] and [JobOut results]. A project can operate many applications. Applications have the following required properties: * Name: A short name (used to name directories, so don't use special characters like /). * User friendly name: the name shown to volunteers. Optional properties: * Homogeneous redundancy: this application uses [HomogeneousRedundancy homogeneous redundancy]. * Weight: the proportion of workunits of this application to be sent when the [BackendPrograms#Feeder feeder is run with the -allapps option]. * Beta: whether jobs should be sent only to [BetaTest beta-test] users. * Minimum version: issue work to clients using the [AnonymousPlatform anonymous platform] only if their reported application version number is this or greater. Applications can be created using the [XaddTool xadd] utility, based on a description in the '''project.xml''' file. Applications can be created or edited using the Manage Applications page of the [HtmlOps administrative web interface]. An application program may go through a sequence of '''versions'''. A particular version, compiled for a particular platform, is called an '''application version'''. An application version can consist of multiple files: for example, a controller script, pre- and post-processing programs, and a primary program. An application version has the following required properties: * Version number: an integer. Version numbers should be used consistently across platforms; Windows version 304 should be computationally identical to Mac version 304. and the following optional properties: * Min and max core client version: don't send jobs to clients outside this range. Specified as an integer, encoded as Major+Minor*100 Application versions are created using [UpdateVersions update_versions]. Descriptions of application versions are stored in the '''app_version''' table in the BOINC DB. Application versions can be edited using the Manage Application Versions page of the [HtmlOps administrative web interface].