= Applications and versions = An '''application''' is an abstraction; it includes a set of programs (for different platforms and processor types) and a set of [JobIn jobs]. 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 [http://boinc.berkeley.edu/wiki/Anonymous_platform anonymous platform mechanism] only if their reported application version number is this or greater. * Whether the application is [NonCpuIntensive non-CPU-intensive]. 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 10000*major + 100*minor + release. Application versions are created using [AppVersionNew update_versions]. Descriptions of application versions are stored in the '''app_version''' table in the [DataBase BOINC DB]. Application versions can be edited using the Manage Application Versions page of the [HtmlOps administrative web interface].