Mod Manager Compare
|Mod Manager Compare|
|Summary||Installs a program to generate a Mod Compare Report, which compares the version # of each mod on a TNG site with the mods' Wiki pages. It can be used, with some limitations, so see if a site has the latest versions of its mods.|
|Mod Updated||15 May 2018|
|Homepage||Robin Richmond's Genealogy Database|
|Mod Support||My Mod Support form or TNG Community Forums|
|Contact Developer||My Mod Support form|
|Latest Mod||v22.214.171.124a & v126.96.36.199c|
|Min TNG V||11.0|
|Max TNG V||at least 12.0|
admin_modhandler.php, admin_modoptions.php, admin_updatemodoptions.php, admin_showmodslog.php, admin_analyzemods.php, admin_modeditor.php, admin_modtables.php, admin_modupdates.php,admin_ cust_text.php English;
rradmin_modcompareform.php, rradmin_modcomparereport.php, rradmin_modcompare_modlist.php, English/rradmin_modcompare_help.php, rradmin_modcompare_files.php, rradmin_modcompare_filesandobjects.php, css/rradmin_modcompare.css, rradmin_modcompare_objects.php,
Purpose of the Mod
Installs PHP programs that generate a Mod Compare Report that compares a site's mods to:
- The mods in a second site and/or
- The corresponding mod articles in the TNG Wiki.
Note that if there are multiple versions of a mod (i.e. multiple files that have the same mod Name at the top of the mod .cfg file), the Mod Compare Report only looks at the latest version.
This mod also modifies the Mod List program (admin_modhandler.php) and lister module (class/modlister.php) to implement a querystring parameter (dump) that makes the Mod List results table suitable for screen-scraping by the Mod Compare Report. The dump querystring parameter is not used by any TNG links. The Mod Compare Report invokes the Mod List by opening it as a web page and specifying the query string parameter &dump=1.
- admin_modcompareform.php - The form that kicks off the new report. It allows the user to update several new Mod Manager options, and displays Mod Manager options that can only be updated by the Mod Manager Options screen.
- admin_modcomparereport.php - The report program invoked by submitting the kickoff form.
- css/modcompareform.css - A CSS style sheet used by the kickoff form.
- css/modcomparereport.css - A style sheet used by the report.
The two external style sheets are placed in the HTML of their program before css/genstyle.css so that rules in them can be overridden at the bottom of css/genstyle.css. (The style sheets are separate files simply because there are already too many style rules in css/genstyle.css that are needed for only one program, and as more rules are added, the chance of random rules stepping on each other increases.)
Mod Manager Options
This mod installs new Mod Manager Options under the heading "Mod Comparison Report". The new options are divided into four groups:
- Defaults for "Basic" Options in the Mod Comparison Report Kickoff Form (That is, these options can be changed on the kickoff form.)
- Two text fields that are used to search for mod names (1) to be included in the report, or (2) to be excluded from the report.
- Two checkboxes that specify whether the text fields are regular expression. An information button next to the checkboxes pop up some regular expression help text.
- The expiration time for Wiki the the Wiki article cache. See The section on 'Caching' near the bottom of this article. Note that the expiration time is a search parameter, not something that is defined when Wiki article is added to the cache.
- "Basic" options that are used by the report program but whose values cannot be updated in the kickoff form, specifically
- A checkbox indicating whether you want certain values in the Comparison Report to be highlighted.
- Colors to be used to highlight "negative" and "positive" results (as described in the Report Column Legend section of this article.
- Two options whose purpose is to keep the Comparison Report from getting too wide.
- Whether to allow mod filenames to wrap within their report table cell. If this is checked, then underscores in the mod filename will act like dashes, and become line-wrapping points.
- The format to be used to specify the author of the mod, e.g. first name only, first name plus initial, or full name.
- Defaults for "Advanced" Options in the Mod Comparison Report Kickoff Form, specifically,
- Whether to show the advanced options when the Kickoff Form is first displayed (within a browser session)
- The URL of a second TNG site to be compared to the first site and the Wiki
- A mod author to search for. See the description of the Author column in the Report Column Legend section of this article.
- Advanced Options that cannot be adjusted on the Kickoff Form, specifically,
- Whether to exclude private mods from comparisons between one TNG site and the Wiki.
- Whether to highlight the file name of mods whose filename does not match the mod name or does not match the version number. This option is meaningful only if the the Basic option that says whether to highlight certain values is checked.
- Whether to hide the version number portion of the filename if it matches the version # inside the file.
Compatibility with Other Mods
No known conflicts. As I write this, my mods are the published mods that affect the Mod Manager/
The Field Buttons mod enables small "field buttons" that are attached to text fields on the kickoff form. (See the visualizations and the Field Buttons article.) Field buttons are small, configurable (and generally one-character) buttons that are attached to text fields on a form, and that reduce the number of mouse movements or typing needed to perform common data entry operations such as clearing a field or restoring that field's initial value. This mod is 'not depenendent on the Field Buttons mod. If Field Buttons is not installed, the field buttons simply do not appear.
This mod is also compatible with and coordinates with my other Mod Manager mods:
- Mod Manager Filenames, which
- Looks for incompatibilities between the filename and the mod name,
- Checks for discrepancies between the version number in the filename and the version number inside the .cfg file,
- Abbreviates the filename (under control of a Mod Manager Option), and
- Turns the filename into a hyperlink to the .cfg file.
- Mod Manager Latest, which duplicates the results table row for the most-recently-processed mods, under to assumption that those are the most you're most likely to act on next.
- Mod Manager List Locations, which
- Adds some display features to the list of target locations in the detailed status,
- Hides the detailed status for mods that are "Installed" and "Ok to Install", but
- Adds a button that lets you see the detailed status listing if you want, and
- Mod Manager Note Tags, which adds some .cfg file tags for annotation.
Any or all of these mods can be installed independently, in any order.
- A working TNG installation.
- An installed current version of the Mod Manager.
- You should backup files listed in the panel on the right.
- Remove and delete previous version of this mod.
- Backup the files updated by this mod. They are listed in the panel at the upper right.
- Download the .zip file, and extract its .cfg file to the mods folder.
- Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files.
| A Mod Comparison Report created with Basic option (and with Highlighting turned on (Click on the image to see a larger version)|
1 mod of those mods matched the search criteria and were displayed in the results table.
| The Kickoff Form that Generated the Report Above|
| Local Site Details|
| Wiki details|
| Kickoff Form with Advanced Options|
| Status Values on the kickoff form|
| Second site details|
The "Site 2" columns are essentially identical in meaning to the three "Site 1" columns, except except that there is an additional column that compares the Site 2 version number to the Site 1 version number.
| Mod Comparison Report Mod Manager Options|
| Field Buttons|
Field buttons that would not change the value are shaded out, as shown here:
TNG site web address shows only the X buu
Field buttons are described further in the Field Buttons mod article. The Field Buttons mod is necessary to make the field buttons visible, but the forms where field buttons are used can work just fine without the field buttons.
Report Column Legend
Regaring the notes about highlighting below
- Whether there is higlighting is dependent on a new Mod Manager option,
- The higlighting consists of cell borders in one of two colors, "postive" and "negative", which default o green and reddish, and can be changed by Mod Manager options,
- When I say "depending on a Mod Manager option", I don't mean the options described in the first two points; I am referring to an additional option that controls whether that specific condition is tested.
The full Mod Compare Report has four groups of columns:
- Mod Identity
- Mod Name - The mod's name, as specified inside the local .cfg file (if there is one), or the remote .cfg file. Note that, if more than one version of the mod exists on either TNG site, only the latest version is shown. (As a result, if the local site has v2 and v3 of a mod, and the remote site has v2), the local v2 will be ignored, and the local v3 will be compare to the remote v2.)
- 'Mod Filename - The .cfg filename (possibly abbreviated).
- The mod filename is a hyperlink to the . Depending on a Mod Manager option, the mod version number and file extension (always .cfg) are omitted (to save horizontal space in the table) if the version number portion of the filename matches the version number inside the .cfg file.
- Depending on another Mod Manager option, if either the Mod Name portion or the Version number portion of the Mod Name differs from the values inside the .cfg file, the mod name is highlighted, and the program displayes the reason(s) for the higlighting when you mouse over the filename.
- Author - The report first looks for an Author in the "Author" field of the TNG Wiki article sidebar. If no Author is found there, then the report looks for an !@#Author tag in the .cfg file. (The Mod Manager Notes mod creates the ability for the Mod Manager to handle !@#Author tags.)
- The kickoff form can specify that a mod author who matches a search value should be highlighted. If the mod Author matches the Author specified in the kickoff form, the name is highlighted in green.
- Depending on a Mod Manager option, the Author name can be displayed as a full name, first name and last initial, or first name only. The format specified for the displayed author name does not affect the author name search string, nor the match between the author search string and the author in the Wiki page or the .cfg file.
- If the author name in the Wiki article is hyperlinked, or an URL is specified in the !@#Author tag in the .cfg file, the author name is hyperlinked.
- If the author name field in the Wiki article sidebar contains more information than just the filename, a plus sign is displayed in the field, and when you mouse over that plus sign, that additional information is displayed.
- The mod on the local site. These columns are always present, but will be blank if there is a remote site ("Site 2"), and a mod that exists in the remote site but not in the local site. These columns are labeled as "Local" or "Site 1", depending on whether a second site has been specified.
- Local Install - The installation status of the local mod.
- A status other than 'Installed' is highlighted with the negative color.
- Local Version - The version number from the %version tag inside the mod .cfg file.
- Local v Wiki - A comparison of the mod's version number to the Wiki version number, marked by values such as '>wiki', '<wiki', etc.
- If the mod is marked as Private with the tag !@#Private%, then the report will make no attempt to look for a Wiki article, and this cell will have the value 'Private'.
- If the mod's version # is less than the Wiki version number, then the comparison value will be highlighted with the negative color.
- Local Install - The installation status of the local mod.
- The mod on the remote site ("Site 2") - These columns are omitted completely if no remote site is specified.
- Remote Install - The installation status of the local mod.
- Any value other than 'Installed' is highlighted with the negative color.
- Remote Version - The version number from the %version tag inside the mod .cfg file.
- Remote v Local - A comparison of the mod's version number with the version number of the local file, with values such as '>site1', '=site1', etc.
- Remote v Wiki - A comparison of the mod's version number to the Wiki version number, just like the Local v Wiki' column.
- Remote Install - The installation status of the local mod.
- Wiki Article - These columns will be omitted if the user unchecked the "Read Wiki" checkbox in the kickoff form.
- Wiki Status - Indicates whether the Wiki article exists, whether the version number could be found, and whether the version number field in the Wiki sidebar contains more than one version number.
- Wiki Version' - The version number from the new Latest Mod field in the Wiki article sidebar.
- If the field contains any text other than just a single version number, then a plus sign is displayed at the right end of the table cell, and the entire text of the field is saved in a pop-up that will appear if you hover over the plus sign.
- If the field contains more than one version number, the version numbers are compared, and the highest one is displayed.
- Wiki Article Hyperlink - A hyperlink to the Wiki article, based on the %wikipage tag in the .cfg file. The hyperlink will open in a new page or tab.
- If the Wiki article name does not match the Mod name, then the table cell is highlighted with the background color.
- If the a Wiki article is specified in the mod .cfg file, then the columns showing the Local and/or Site 2 comparison to the Wiki article will have the value "Missing", and the Wiki article name will be shown, but crossed out.
The Advanced Options in the kickoff form list all possible status value for the columns "Local vs Wiki", "Remote vs Local", "Remote vs Wiki", and "Wiki Status" as possible search criteria for the report. The status value are:
- Local or Remote vs Wiki
- n/a - The Wiki article was missing, so no comparison is possible.
- ?? - The .cfg file and Wiki article were present, but one of the version numbers could not be found, so no comparison is possible.
- Private - The mod .cfg file contained the tag !@#Private%
- No link - There was no %wikilink tag in the .cfg file
- Bad link - The %wikilink reference in the .cfg file was badly formed
- Missing - The Wiki articles referenced by the %wikilink tag in the .cfg file was missing
- ?wiki - (<, =, or >) Direct comparison of the .cfg file version number to the Wiki version number.
- Remote vs Local
- n/a - There is no corresponding local mod.
- ?? - Both files are present, but one of the version numbers could not be found.
- ?local - (<, =, or >) Direct comparison of the two version numbers
- Wiki Status
- Missing - The file was missing.
- No Ver# - No version number could be found
- >1 ver# - There was more than one version # in the 'Latest Mod sidebar field. This is not an error, and does not suggest a problem, it's just an FYI.
- ok - The mod article exists, and appears to have one version number in the 'Latest Mod sidebar field.
The Mod Comparison report saves a cache of Wiki article data on your TNG server so that, when the report is run again, it doesn't have to undergo the slow process of reading each Wiki Article, and so that it does not drag down the TNG Wiki server performance. Unfortunately, there is no way to determine whether the relevant data in the Wiki article has been updated without reading the Wiki article, which would spoil the point of caching.
Consequently, the kickoff form specifies a cache age limit. If the cached data - for a specific Wiki article - is older than that age, the Wiki article will be re-read and its cache will be refreshed.
If you know (or think that) certain Wiki articles have been updated, you can refresh the cache for those specific articles if you:
- Search for those specific articles by name (or name substring), and
- Specify a small age limit (say, 20 minutes, 10 days, 6 weeks - whatever is appropriate).
- The latest version of the mod is at the top of this table ***
|Mod Version||TNG Version||Date||Note|
|188.8.131.52c||12.0+||15 May 2018||No functional changes; made compatible with TNGv12.|
|184.108.40.206a||11.0.0 - 11.1.2+||24 Dec 2017||First production version|
|220.127.116.11||11.0.0 and up||14 Jun 2017|| Still Beta Status
|18.104.22.168b||11.0.0 and up||6 Jun 2017|| Still Beta Status
|22.214.171.124a||11.0.0 and up||27 May 2017||New mod – Beta Status.|
Sites using this mod
If you download and install this mod, please add your site to the table below.
|Robin Richmond's Genealogy Database||Robin Richmond||Mod developer||126.96.36.199a||11.1||English|
|Roots & Relatives Remembered||Ron Krzmarzick||Public & Private||188.8.131.52c (12.0.0 install issue)||12.0.1||EN,ES,CS,DE|