A Network Repository is essentially an online server that provides a list of Mods that users can download into their local Library. In this page we will see how to create and manage a Network Repository as a provider/manager (rather than as client/user) to provide your own list of downloadable Mods to users.
Basic functioning
Technically speaking, a Network Repository is XML data (called Definition) that Open Mod Manager will download then parse. Open Mod Manager download these data through the HTTP protocol, the same used from common web navigation. That's why configuring a Network Repository in client side require to provide an URL, either full raw address or with prefix and suffix coordinates.
In summary, Open Mod Manager more or less act as a (very rudimentary) internet browser that request an URL and get data from a distant http server (ie. Web server), except that here, data is not the usual HTML, but XML.
Prerequisites
In order to host/provide a Network Repository you need a place where to host Repository XML Definition so Open Mod Manager users can download this XML Definition at a suitable http(s) URL.
Depending your needs, you have several options as the only thing you need is that when Open Mod Manager will ask data at the supplied URL, the other side (the server) directly respond by the Repository XML Definition as raw text data.
Here are the common options:
Web server with FTP access
The ideal case is a server you own where you can upload files via FTP. This can be a web space provided by your ISP (as this was usual back in the day) or an hosting platform where you host a web site. In that case, you simply have to upload Repository XML Definition file via FTP in the proper folder to make it available in internet. This option also make you able to upload downloadable Mods in a more suitable way.
Web Hosting with Content Management System
If you own a Web hosting with Content Management System such as WordPress, you also may be able to make the Repository XML Definition file available as downloadable file via a suitable URL. In this case, you will probably need to provide a raw URL address to users, since generated URL by these web site engines are often not suitable for the Base Address + Name Coordinates mechanism.
Cloud Storage (and here comes problems)
The Cloud storage is the less recommended solution despite it is often the most popular. If you choose this option you must ensure that your Cloud Storage provider allow file direct download, and that you provides the proper URL for that purpose to users (See Cloud Storage Issues for more details). In that case, you will be able to host Repository XML Definition as file to download.
Creating Repository Definition
The Repository Definition is a file with XML data that provides a list of Mods with their relevant informations (description, pictures) and required parameters to download them (address, file size, checksum, etc.).
So, once you are done with prerequisites, the first step is to create a Repository XML Definition and it is done via the Repository Editor. The Repository Editor is integrated to Open Mod Manager, you access it via the menu Tools > Repository Editor....
Once in the Repository Editor, go to the menu File > New > Repository definition... in order to be able to edit your new Repository Definition.
Main Repository informations
The left frame of the Repository Editor is where you configure and edit the Repository main parameters and the list of provided Mods.
Description
This is a short optional name or description of the Repository that will appear in the Channel's Repositories List (after a first succeed poll)
Default files download link
This is either the relative path or URL Prefix that will be used to build the final download URL for each referenced Mod (except for thoses who have a Custom download link configured, see below). There are two options:
-
Relative path : In this case, the path is appended to Repository Base Address to build the final URL, for example assuming your repository base address is
http://www.example.org/modsthe Default files download link is set to/filesthe final download URL forMy_Mod.zipwill behttp://www.example.org/mods/files/My_Mod.zip -
URL Prefix : In this case, the URL prefix is simply prepend to the Mod filename to build the final URL, for example assuming the Default files download link is set to
http://www.example.org/dowloads.php?file=the final download URL forMy_Mod.zipwill behttp://www.example.org/dowloads.php?file=My_Mod.zip
Referenced Mods:
This is the list of referenced Mods by this Repository Definition. Here you can either add Mods either one by one by selecting a single file, or by batch by selecting a folder. The Repository Editor will check and parse each files to only add the valid Mods. By selecting a Mod in this list you also can check and edit details about this specific Mod.
Referenced Mod details
The right frame of the Repository Editor give you access to the currently selected referenced Mod informations and parameters.
Custom download link:
This is either the relative path or full URL that will override the Default files download link parameter in order to build its full download URL. This parameter allow to configure individual link for each Mod if necessary. There are two options:
-
Relative path : In this case, the path is appended to Repository Base Address to build the final URL, for example assuming your repository base address is
http://www.example.org/modsthe Custom download link is set to/filesthe final download URL forMy_Mod.zipwill behttp://www.example.org/mods/files/My_Mod.zip -
Full URL : In this case, the value specified as Custom download link is directly used as download link to download the file.
Thumbnail image:
This is the thumbnail image associated with the Mod. It is automatically extracted from the Mod if exist, otherwise you can and one.
Note: Modifying Mod thumbnail in Repository Definition does not modify the thumbnail saved in the Mod file itself.
Description text:
This is the description text associated with the Mod. It is automatically extracted from the Mod if exist, otherwise you can edit it.
Note: Modifying Mod description in Repository Definition does not modify the description saved in the Mod file itself.
Dependencies:
There is the list of Mod dependencies. It is automatically extracted from the Mod if exist, otherwise you can edit it.
Note: Modifying Mod dependencies in Repository Definition does not modify the dependencies saved in the Mod file itself.
Saving Repository Definition
Once you are done with your Repository configuration and referenced Mods, you can save you work via the menu File > Save As.... The saved file contain XML data that is actually the Repository XML Definition data.
Publishing your Repository
Once you have your Repository XML Definition file, you have to make it available over internet. Depending the option you choose, you'll have to upload it via FTP in the proper location in your web server; make it available as a downloadable file in your CMS or your Cloud Storage.
Test your repository
The next step is to test your repository by configuring it into Open Mod Manager. Depending web hosting option you chooses, you may configure the Repository using Named Repository coordinates or Raw URL coordinates if required.
Named Repository coordinates
If your Repository Definition file is available via a classical and well formed URL, you can opt for the Named Repository coordinates. For example, assuming the URL to download the Definition file is http://example.org/mods/default.xml the Repository base address will be http://example.org/mods and the Repository Name will be default which is the Definition file name without its extension.
Here you understand that Open Mod Manager simply concatenate Base Address to Name then ad the proper file extension (it actually test both .xml and .omx extensions), so a Base Address like http://example.org/mods/repo.php?ref= can also work.
Raw URL coordinate
This method is usually for unfortunate people who are forced to use the weird URL as supplied by their Cloud storage provider, it simply consist of putting the raw URL to your Definition file. Your also can use it if you are rustic and have no time to spent with snobbish decomposed parameters such as Base Address and Name.
Conclusion
At this stage if Open Mod Manager validate your Repository this mean you have well done the first big half of the job. The second half of the job will be, if not already done, to upload all your Mod files to make them available for download in the suitable way you specified in the Definition.
It is now up to you to verify everything is fine by refreshing the Repository List in your Channel Network Library and test some downloads.
Cloud Storage issues
If you are using a Cloud Storage, a problem frequently encountered is that files made available are not directly downloadable or are supplied via specific redirection protocols that Open Mod Manager doesn't handle. In all cases the replied data that Open Mod Manager receive is not the expected one. If it expect a Repository Definition, it will try to parse it and fail. In the case of Mod, it will checksum received data and tell you that checksum mismatches.
-
The obvious case: The first thing to do is to test your URL in a web browser. If your browser show a web page instead of XML or instead of downloading a file, you can understand this will never work since Open Mod Manager will receive this web page instead of the expected data.
-
The sneaky case: It may happen that the file properly download using a web browser while Open Mod Manager is failing. The usual cause is the Cloud Storage that use a special protocol or some sort of intermediary page with javascript that redirect to the data to be downloaded. The web browser is smart enough to handle that, but not Open Mod Manager.
In the both cases, you must search in your Cloud Storage provider for a way to provide a direct download link for your files. If your computer kung-fu is strong enough, you can use a command-line application like Wget for Windows to be used via Powershell wget http://www.example.org/my_file.xml, this may help you to see what actually happen under the hood.