RepositoryThemes package:reposTools R Documentation _R_e_p_o_s_i_t_o_r_y _T_h_e_m_e_s _D_e_s_c_r_i_p_t_i_o_n: Repository themes allow a repository maintainer to specify a set of packages within their repository that can be downloaded as a collection by other users. Clients using 'reposTools' can specify one of these themes to their installation calls, acquiring the particular set of packages listed as being part of the theme. _B_a_s_i_c _I_n_f_o_r_m_a_t_i_o_n: The purpose of repository themes is to allow various subsets of a repository's packages to be downloaded easily and conveniently. As the size of a repository grows, there are likely to be small collections of packages which have a logical connection to each other which users will often want to download together, but it can become unwieldy to do so using 'install.packages2' in the traditional manner. By specifying a theme, all the desired packages can be downloaded quickly and easily. Themes have a basic structure, which is modeled by the class 'reposTheme-class'. Every theme has a name to reference it by, a description, information about the repository it is a part of, as well as a list of 'pkgInfo' objects defining the packages that are included in the theme. This definition is then written in a XML file by the repository maintainer (or using the XML authoring function 'writeThemesXML') which is in turn read in by the 'genRepos' function during repository generation to create a repository infrastructure file named 'reposThemes.rda' that allows client functions to see which themes are available from a repository. For the client side user, if one uses the 'theme' argument to 'install.packages2', then 'reposTools' will seek out the specified theme(s) in the set of repositories it is instructed to look at and download any packages being marked as being part of that theme. _X_M_L _s_t_r_u_c_t_u_r_e: The repository theme information is contained in an XML file written by the repository maintainer (or 'writeThemesXML') called 'repThemes.xml'. The XML structure for a set of repository themes is defined as follows. The 'repositoryThemes' tag defines the primary XML block that is specifying the themes for a particular repository. Since every 'repThemes.xml' file corresponds to a particular repository, there should only be one of these blocks per file, and it should contain all other XML information. Every individual theme is contained in a 'theme' tag block. Every theme for this particular repository needs to be defined as a 'theme' block. Within every theme are four main subblocks: The 'themeName' tag block specifies the name of the theme, the 'themeDesc' tag provides for a description of this theme, the 'themeRepos' tag specifies the URL of the repository this theme belongs to and the 'themePackages' tag block specifies what packages are contained within that theme. Inside of the 'themePackages' tag block are a series of 'package' tag blocks, one for every package in the theme. The 'package' blocks contain one or two tags each. Every 'package' block has a 'packageName' tag block specifying the name of the package, and there is an optional 'packageVersion' tag which allows the maintainer to specify a particular version of that package. An example of a three package theme is below. Two of the packages have versions specified, and one does not. Testing This is a small test theme http://www.bioconductor.org/repository/ Biobase 1.4.2 ROC Ruuid 1.3.3 _A_u_t_h_o_r(_s): Jeff Gentry _S_e_e _A_l_s_o: 'writeThemesXML', 'install.packages2', 'pkgInfo', 'genRepos' _E_x_a_m_p_l_e_s: ## Need something here