Difference between revisions of "RAPPS"
Binarymaster (talk | contribs) (→Submitting new applications) |
Learn more (talk | contribs) m (→File Schema) |
||
(22 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | RAPPS, previously known as Download!, is a small program that allows users to download multiple programs without hassle | + | '''RAPPS''', previously known as '''Download!''', is a small program that allows users to download multiple programs without hassle. |
− | + | It has its own application list that can be expanded by the user and the community. Applications that are included in the list by default are tested and most likely work on ReactOS. | |
− | |||
− | |||
= How It Works = | = How It Works = | ||
− | + | When you first start RAPPS, it will automatically connect to the internet, and it will seek for the file "rappmgr.cab". Then, it will extract the contents of this archive file to the same location where the main RAPPS executable is, creating a folder called "rapps". | |
− | When you first start RAPPS, it will automatically connect to the internet, and it will seek for the file "rappmgr.cab". Then, it will extract the contents of this archive file to the same location where main RAPPS executable is, creating a folder called "rapps". | ||
The contents of the archive are just '''UTF-8''' .txt files. | The contents of the archive are just '''UTF-8''' .txt files. | ||
Every single file that is on download list in RAPPS, has it's own "description" file. | Every single file that is on download list in RAPPS, has it's own "description" file. | ||
− | Custom files must be placed in /rapps folder created after .CAB file download. | + | Custom files must be placed in <code>/rapps</code> folder created after .CAB file download. |
TXT file names should correspond to the software they are relative to. | TXT file names should correspond to the software they are relative to. | ||
− | + | RAPPS also has experimental support for icons for application list. See [[#Experimental Features|Experimental Features]] for details. | |
− | = Submitting | + | = Submitting New Applications = |
− | The description files can be created by anyone. (See [[File Schema]] for a detailed breakdown). | + | Some people may complain that his/her favourite application is not in the RAPPS list. |
+ | The description files can be created by anyone. (See [[#File Schema|File Schema]] for a detailed breakdown). | ||
− | + | ''Description files need to be saved in UTF-8 format, or some specific languages will be displayed strangely.'' | |
− | |||
− | |||
− | |||
− | + | You can fork the https://github.com/reactos/rapps-db repository and send your submission as a [[Commiting Changes|Pull-Request]]. | |
= File Schema = | = File Schema = | ||
− | Here is | + | Here is an example description file. |
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
[Section] | [Section] | ||
− | Name = | + | Name = My fun stuff-o-matic |
− | Version = | + | RegName = Name in Registry |
+ | Version = 1.1.1 | ||
License = GPL | License = GPL | ||
− | Description = | + | Description = Shortish description giving some additional background information about what it does. |
− | + | SizeBytes = 10485760 | |
− | Category = | + | Category = 5 |
− | URLSite = | + | URLSite = https://example.org/ |
− | URLDownload = | + | URLDownload = https://ftp.example.org/pub/installer.exe |
− | + | Screenshot1 = Screenshot URL | |
− | + | Icon = Icon filename in icons folder (with .ico extension) | |
− | + | ||
− | + | [Section.0419] ; 0419 - for Russian language | |
− | + | Description = Description in Russian language | |
− | [Section. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Description = | ||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Let's analyze it from top to the bottom. | Let's analyze it from top to the bottom. | ||
+ | |||
== [Section] == | == [Section] == | ||
− | This is the | + | This is the beginning of the area that is read when the user clicks on the name of the program that he chooses to download. It consists of several things: |
+ | |||
=== Name === | === Name === | ||
− | This is the program name that is displayed | + | This is the program name that is displayed. |
+ | |||
=== Version === | === Version === | ||
− | This is the version of the program | + | This is the version of the program. |
+ | |||
=== License === | === License === | ||
− | The license that the program is based on. Typical options are : Trial, Demo, Freeware, Open-Source. | + | The license that the program is based on. Typical options are : Trial, Demo, Freeware, Open-Source. Or more specifically, GPL, MIT and so on. |
+ | |||
=== Description === | === Description === | ||
− | The description of the program | + | The description of the program giving some additional background information about what it does.. |
+ | |||
=== Size === | === Size === | ||
− | Size of the program. Template: NUMBERUNIT For example " | + | Size of the program. Template: NUMBERUNIT For example "10 MB". |
+ | |||
+ | === SizeBytes === | ||
+ | The actual size of the download in bytes. Used to display size value in the application info as well as while downloading. | ||
=== Category === | === Category === | ||
− | The category of the program. Category name | + | The category of the program. Category name corresponds to the number. There are 15 categories for now: |
*1 – Sound – Software for recording, playing, modify, convert sound | *1 – Sound – Software for recording, playing, modify, convert sound | ||
*2 – Video – As above but applies to video and movies | *2 – Video – As above but applies to video and movies | ||
Line 77: | Line 71: | ||
*4 – Games and Entertainment – There are games, emulators for games | *4 – Games and Entertainment – There are games, emulators for games | ||
*5 – Internet and Networks – Browsers, IM clients, FTP software, Remote desktop... | *5 – Internet and Networks – Browsers, IM clients, FTP software, Remote desktop... | ||
− | *6 – Office stuff – Software that is used in the Office for example Open Office | + | *6 – Office stuff – Software that is used in the Office, for example, Open Office |
− | *7 – | + | *7 – Development/programming – programs used for compiling, and source writing, for example, Dev C++ |
*8 – Education – Programs that help in teaching, learning. For example dictionaries, translators | *8 – Education – Programs that help in teaching, learning. For example dictionaries, translators | ||
− | *9 – Engineering – Programs | + | *9 – Engineering – Programs similar to CAD, SolidWorks (TM) |
*10 – Financial – Programs for financial stuff, TRade monitors, database systems for warehouses e.t.c | *10 – Financial – Programs for financial stuff, TRade monitors, database systems for warehouses e.t.c | ||
− | *11 – Science – For programs that | + | *11 – Science – For programs that make simulations, helps in the Chemistry, Physics... |
− | *12 – Tools – Utilities for users for example archiving software | + | *12 – Tools – Utilities for users, for example, archiving software |
*13 – Drivers – Files for the devices that are installed in the system | *13 – Drivers – Files for the devices that are installed in the system | ||
*14 – Libraries – Files that are needed to run some programs like Visual Basic and .NET | *14 – Libraries – Files that are needed to run some programs like Visual Basic and .NET | ||
− | *15 – Other – programs that did not fit in above categories | + | *15 – Themes - Themes for ReactOS or Windows (for example: watercolor, classic, luna, etc) |
+ | *16 – Other – programs that did not fit in above categories | ||
=== URLSite === | === URLSite === | ||
Main web site where the program can be found. | Main web site where the program can be found. | ||
+ | |||
=== URLDownload === | === URLDownload === | ||
Direct link to the installer/program. | Direct link to the installer/program. | ||
− | === | + | === ScreenshotN === |
− | + | Screenshot URL link. (N = 1, 2, 3 ...) Currently, only first Screenshot is used. | |
− | == [Section. | + | |
− | + | === Icon === | |
+ | Icon filename in icons folder (with .ico extension) | ||
+ | |||
+ | == [Section.0419] == | ||
+ | The specific language of the description, based on the host system language settings. | ||
+ | |||
+ | When host language is different than languages in the file, English is chosen by default (If you talk Spanish, and there is no such entry available in the file, software description will be displayed in English). | ||
Locale IDs (that number in Section.xxxx) can be found [http://msdn.microsoft.com/en-us/goglobal/bb964664 here] (numbers from the left column). | Locale IDs (that number in Section.xxxx) can be found [http://msdn.microsoft.com/en-us/goglobal/bb964664 here] (numbers from the left column). | ||
Line 102: | Line 104: | ||
[http://www.reactos.org/forum/viewtopic.php?f=22&t=11015 Thanks to the author, wojo664] | [http://www.reactos.org/forum/viewtopic.php?f=22&t=11015 Thanks to the author, wojo664] | ||
− | == See Also | + | = Experimental Features = |
+ | RAPPS has some experimental features that are not refined enough and/or not used yet. They are still subject to change, therefore are not yet adopted in the main database. | ||
+ | |||
+ | However, these features are present in the codebase and work well enough to be tested and used. | ||
+ | |||
+ | == Command Line Support == | ||
+ | Apart from the graphical interface, RAPPS features command-line options that can be used to install apps. | ||
+ | They will install exactly as if selected in the app itself. | ||
+ | |||
+ | Current available options are listed below: | ||
+ | *<code>/?</code> - display the usage of RAPPS commandline | ||
+ | *<code>/INSTALL</code> - accepts multiple apps as values and installs them if they are available. | ||
+ | Example: <code>rapps /INSTALL 7zip akelpad</code> | ||
+ | *<code>/SETUP</code> - accepts a full path to the .inf file, where in <code>[RAPPS]</code> block you can specify which apps to install using one Install= key per single app. | ||
+ | Example: | ||
+ | <syntaxhighlight lang="ini"> | ||
+ | [Version] | ||
+ | Signature = $Windows NT$ | ||
+ | ClassGUID = {00000000-0000-0000-0000-000000000000} | ||
+ | |||
+ | [RAPPS] | ||
+ | Install=7zip | ||
+ | Install=akelpad | ||
+ | </syntaxhighlight > | ||
+ | <code>[Version]</code> section is a nessesary header for .INF files. <code>[RAPPS]</code> is a section where you specify the needed apps. | ||
+ | Apps should be added in .INF one-by-one, as can be seen in the example. | ||
+ | |||
+ | Names used are same as the filename in database textfiles. | ||
+ | |||
+ | *<code>/FIND</code> - accepts multiple strings and find all corresponding apps contains the strings in the name or description. | ||
+ | Example: <code>rapps /FIND Firefox "Python 3"</code> | ||
+ | *<code>/INFO</code> - accepts multiple package-name and display apps information correspond with the package-name. | ||
+ | Example: <code>rapps /INFO rosbe codeblocks</code> | ||
+ | == Icon and Screenshot Support == | ||
+ | RAPPS supports 'per app' icons, that will be shown instead of the generic 'application' icon. | ||
+ | The icon can be specified with the field name 'Icon', which should be placed in the main 'Section'. | ||
+ | The icon itself should be placed in the `icons` folder. | ||
+ | |||
+ | There is also support for a screenshot, which should be uploaded to an image host. | ||
+ | This screenshot can be specified with the field 'Screenshot1'. | ||
+ | |||
+ | <syntaxhighlight lang="ini"> | ||
+ | [Section] | ||
+ | Name = Code::Blocks (without compiler) | ||
+ | URLDownload = https://download.sourceforge.net/project/codeblocks/Binaries/17.12/Windows/codeblocks-17.12-setup.exe | ||
+ | SHA1 = 05ad095b5e04de243df736c060aea25a554dad94 | ||
+ | SizeBytes = 37372176 | ||
+ | Icon=codeblocks.ico | ||
+ | Screenshot1=https://i.imgur.com/FykFrzz.png | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == New [Section] Fields == | ||
+ | There are two experimental fields in the database files - '''Languages''' and '''LicenseInfo'''. | ||
+ | |||
+ | === Languages === | ||
+ | This field is used to inform the user whether the app is available in their language. | ||
+ | |||
+ | You should place all the language codes app supports separated by <code>|</code> there. | ||
+ | |||
+ | Example: | ||
+ | <syntaxhighlight lang="ini"> | ||
+ | Languages=0C09|0813|0422 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === LicenseInfo === | ||
+ | This is a field in the DB which, when present, changes the way License field in the info is shown. | ||
+ | |||
+ | Application license types correspond to a number: | ||
+ | *1 - "Open Source" | ||
+ | *2 - "Freeware" | ||
+ | *3 - "Demo/Trial". | ||
+ | |||
+ | = See Also = | ||
<!-- *[http://www.fileden.com/files/2012/3/22/3281665/rapps.7z Brent's RAPPS entries (228 programs)] link is down --> | <!-- *[http://www.fileden.com/files/2012/3/22/3281665/rapps.7z Brent's RAPPS entries (228 programs)] link is down --> | ||
*[https://reactos.org/blogs/rapps-enchancements-gsoc-2017-edition-final-report RAPPS GSoC 2017 Final Report] | *[https://reactos.org/blogs/rapps-enchancements-gsoc-2017-edition-final-report RAPPS GSoC 2017 Final Report] | ||
− | + | = References = | |
<references/> | <references/> | ||
[[Category:ReactOS Components]] | [[Category:ReactOS Components]] |
Revision as of 16:20, 3 October 2020
RAPPS, previously known as Download!, is a small program that allows users to download multiple programs without hassle.
It has its own application list that can be expanded by the user and the community. Applications that are included in the list by default are tested and most likely work on ReactOS.
Contents
How It Works
When you first start RAPPS, it will automatically connect to the internet, and it will seek for the file "rappmgr.cab". Then, it will extract the contents of this archive file to the same location where the main RAPPS executable is, creating a folder called "rapps". The contents of the archive are just UTF-8 .txt files.
Every single file that is on download list in RAPPS, has it's own "description" file.
Custom files must be placed in /rapps
folder created after .CAB file download.
TXT file names should correspond to the software they are relative to.
RAPPS also has experimental support for icons for application list. See Experimental Features for details.
Submitting New Applications
Some people may complain that his/her favourite application is not in the RAPPS list. The description files can be created by anyone. (See File Schema for a detailed breakdown).
Description files need to be saved in UTF-8 format, or some specific languages will be displayed strangely.
You can fork the https://github.com/reactos/rapps-db repository and send your submission as a Pull-Request.
File Schema
Here is an example description file.
[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.
SizeBytes = 10485760
Category = 5
URLSite = https://example.org/
URLDownload = https://ftp.example.org/pub/installer.exe
Screenshot1 = Screenshot URL
Icon = Icon filename in icons folder (with .ico extension)
[Section.0419] ; 0419 - for Russian language
Description = Description in Russian language
Let's analyze it from top to the bottom.
[Section]
This is the beginning of the area that is read when the user clicks on the name of the program that he chooses to download. It consists of several things:
Name
This is the program name that is displayed.
Version
This is the version of the program.
License
The license that the program is based on. Typical options are : Trial, Demo, Freeware, Open-Source. Or more specifically, GPL, MIT and so on.
Description
The description of the program giving some additional background information about what it does..
Size
Size of the program. Template: NUMBERUNIT For example "10 MB".
SizeBytes
The actual size of the download in bytes. Used to display size value in the application info as well as while downloading.
Category
The category of the program. Category name corresponds to the number. There are 15 categories for now:
- 1 – Sound – Software for recording, playing, modify, convert sound
- 2 – Video – As above but applies to video and movies
- 3 – Graphics – As above, but graphics and images
- 4 – Games and Entertainment – There are games, emulators for games
- 5 – Internet and Networks – Browsers, IM clients, FTP software, Remote desktop...
- 6 – Office stuff – Software that is used in the Office, for example, Open Office
- 7 – Development/programming – programs used for compiling, and source writing, for example, Dev C++
- 8 – Education – Programs that help in teaching, learning. For example dictionaries, translators
- 9 – Engineering – Programs similar to CAD, SolidWorks (TM)
- 10 – Financial – Programs for financial stuff, TRade monitors, database systems for warehouses e.t.c
- 11 – Science – For programs that make simulations, helps in the Chemistry, Physics...
- 12 – Tools – Utilities for users, for example, archiving software
- 13 – Drivers – Files for the devices that are installed in the system
- 14 – Libraries – Files that are needed to run some programs like Visual Basic and .NET
- 15 – Themes - Themes for ReactOS or Windows (for example: watercolor, classic, luna, etc)
- 16 – Other – programs that did not fit in above categories
URLSite
Main web site where the program can be found.
URLDownload
Direct link to the installer/program.
ScreenshotN
Screenshot URL link. (N = 1, 2, 3 ...) Currently, only first Screenshot is used.
Icon
Icon filename in icons folder (with .ico extension)
[Section.0419]
The specific language of the description, based on the host system language settings.
When host language is different than languages in the file, English is chosen by default (If you talk Spanish, and there is no such entry available in the file, software description will be displayed in English).
Locale IDs (that number in Section.xxxx) can be found here (numbers from the left column).
Experimental Features
RAPPS has some experimental features that are not refined enough and/or not used yet. They are still subject to change, therefore are not yet adopted in the main database.
However, these features are present in the codebase and work well enough to be tested and used.
Command Line Support
Apart from the graphical interface, RAPPS features command-line options that can be used to install apps. They will install exactly as if selected in the app itself.
Current available options are listed below:
/?
- display the usage of RAPPS commandline/INSTALL
- accepts multiple apps as values and installs them if they are available.
Example: rapps /INSTALL 7zip akelpad
/SETUP
- accepts a full path to the .inf file, where in[RAPPS]
block you can specify which apps to install using one Install= key per single app.
Example:
[Version]
Signature = $Windows NT$
ClassGUID = {00000000-0000-0000-0000-000000000000}
[RAPPS]
Install=7zip
Install=akelpad
[Version]
section is a nessesary header for .INF files. [RAPPS]
is a section where you specify the needed apps.
Apps should be added in .INF one-by-one, as can be seen in the example.
Names used are same as the filename in database textfiles.
/FIND
- accepts multiple strings and find all corresponding apps contains the strings in the name or description.
Example: rapps /FIND Firefox "Python 3"
/INFO
- accepts multiple package-name and display apps information correspond with the package-name.
Example: rapps /INFO rosbe codeblocks
Icon and Screenshot Support
RAPPS supports 'per app' icons, that will be shown instead of the generic 'application' icon. The icon can be specified with the field name 'Icon', which should be placed in the main 'Section'. The icon itself should be placed in the `icons` folder.
There is also support for a screenshot, which should be uploaded to an image host. This screenshot can be specified with the field 'Screenshot1'.
[Section]
Name = Code::Blocks (without compiler)
URLDownload = https://download.sourceforge.net/project/codeblocks/Binaries/17.12/Windows/codeblocks-17.12-setup.exe
SHA1 = 05ad095b5e04de243df736c060aea25a554dad94
SizeBytes = 37372176
Icon=codeblocks.ico
Screenshot1=https://i.imgur.com/FykFrzz.png
New [Section] Fields
There are two experimental fields in the database files - Languages and LicenseInfo.
Languages
This field is used to inform the user whether the app is available in their language.
You should place all the language codes app supports separated by |
there.
Example:
Languages=0C09|0813|0422
LicenseInfo
This is a field in the DB which, when present, changes the way License field in the info is shown.
Application license types correspond to a number:
- 1 - "Open Source"
- 2 - "Freeware"
- 3 - "Demo/Trial".