Index: README.ENG =================================================================== --- base/applications/rapps/README.ENG (revision 66838) +++ base/applications/rapps/README.ENG (working copy) @@ -1,44 +1,78 @@ -For more information for RAPPS, see: https://www.reactos.org/wiki/RAPPS +For more information about RAPPS, take a look at -ADDING DOWNLOADABLE PROGRAMMS +ADDING DOWNLOADABLE PROGRAMS TO THE RAPPS DATABASE +-------------------------------------------------- -For an each programm would be creacted an INI alike syntax. -Also an each field is language inhdepended and individual, an URL's to a source programm is -also maybe different or even nonexisting for anothers languages. -For instance a programm 1C which is mostly interested only for russian users and have no -reason for peoples living in another countries. +Each program entry consists on a .txt file formatted with an INI-like syntax. -The File Overview: +They must be encoded in UTF-16 LE (Little Endian) or characters out of the ANSI range +will display broken mojibake, some editors like Notepad++ call this format UCS-2 Little Endian. -[Section] -Name = program name -RegName = Name in registry -Version = 1.1.1 -License = GPL -Description = Description -Size = 10 mb -Category = 5 -URLSite = http://www.site.com/ -URLDownload = http://ftp.site.com/pub/installer.exe -CDPath = ; Пока не используется +If you plan on including your program entry in the ReactOS source code versioning keep in mind +that entries are stored in UTF-8 without BOM (Byte Order Mask) for VCS friendliness. -[Section.0419] ; 0419 - for Russian language -Description = Description in Russian language +They get automatically converted to UTF-16 when creating the compressed rappmgr.cab package, +which is how clients obtain their program lists every time a Database upgrade is triggered. +Also, each [Section] is language-independent and individual, you can override the URL to a source +program or any other field by adding a language-specific [Section.], followed by the language code. -Obligatory fields are: Name, Category, URLDownload -Other fields to fill not necessarily. +NOTE: You can find a complete listing of LCIDs and language names here, includes neutral codes: + -Categories list: -1 - Audio -2 - Video -3 - Graphics -4 - Games -5 - Internet -6 - Office -7 - Development -8 - Edutainment -9 - Engineering +Now RAPPS also accepts neutral language codes, meaning that you can do things like this: + + ; Default English fallback, used if everything else fails. + [Section] + Name = Name in English + + ; Neutral Spanish, used if the specific variant of Spanish does not match. + [Section.0a] + Name = Name in Generic Spanish + + ; Spanish from Spain, used if the system is configured for it. + [Section.0c0a] + Name = Name in Castilian Spanish + + +You can also define an entry without English fallback to make it visible to certain users only. +For instance; software from 1C, which is mostly for Russian speakers and unusable for anyone else. + +File format overview: + + ; This is a INI-style comment, useful for adding additional information. + ; Lines starting with a ; character are skipped by the parser. + + [Section] + Name = My fun stuff-o-matic + RegName = Name in Registry + Version = 1.1.1 + License = GPL + Description = Shortish description giving some additional background information about what it does. + Size = 10 MB + Category = 5 + URLSite = https://example.org/ + URLDownload = https://ftp.example.org/pub/installer.exe + CDPath = ; Path in the local filesystem + + [Section.0419] ; 0419 - for Russian language + Description = Description in Russian language + ... + + +The mandatory fields are: Name, Category and URLDownload +All other fields are completely optional and can be skipped. + +List of valid categories: + 1 - Audio + 2 - Video + 3 - Graphics + 4 - Games + 5 - Internet + 6 - Office + 7 - Development + 8 - Edutainment + 9 - Engineering 10 - Finance 11 - Science 12 - Tools @@ -46,11 +80,26 @@ 14 - Libraries 15 - Other -The list downloadable programms is keeping on a server and updating from a server -automatically at first time thes programm is running! -For generating a list of a programm (usually a CAB archive), could be used a batch file CreateCabFile.bat -After downloading (at first time the programm runs around), this file is placing -in the same folder where downloaded programm located to future usage them. -If in some cases an unpacked file is moved, deleted or not exist, then the procedure -to create a new one would be repeated. -If the CAB file is moved, deleted or not exist, then it would be downloaded again. \ No newline at end of file +The official list of downloadable programs is kept on a public ReactOS server +and synced every time RAPPS is launched for the first time. + +NOTE: You can find the most current URL in rapps.h, defined as APPLICATION_DATABASE_URL. + +To generate a RAPPS database (usually a rappmgr.cab archive), use the included scripts: + +For Windows & other NT-derived: CreateCabFile.bat +For Linux & other UNIX flavors: CreateCabFile.sh + + +Once the rappmgr.cab is downloaded to %appdata%\rapps, RAPPS extracts it using cabinet.dll +inside %appdata%\rapps\rapps, after that, it will parse all the *.txt files contained therein. + +Every subsequent time the program tries to access the local .txt files +until a database update is manually triggered by the user. + +If the rappmgr.cab file is moved or just missing, RAPPS will download it again. + + +-- +2015-03-20: Updated and rewritten by Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com) +2009-08-15: Created by Dmitry Chapyshev (dmitry@reactos.org) \ No newline at end of file