Admin Branches Queue
|Admin Branches Queue|
|Summary||Implements a queuing mechanism that can perform batch execution of multiple branch label operations.|
|Mod Updated||17 Nov 2020|
See older versions in the Revision History
|Homepage||this pageRobin Richmond's Genealogy Database|
|Mod Support||My Mod Support form or TNG Community Forums|
|Contact Developer||My Mod Support form|
|Min TNG V||11.0|
|Max TNG V||13.0.1|
ajx_labels.php, admin_branches.php, admin_editbranch.php, admin_updatebranch.php, English cust_text.php. Installs: rrbranchesqueue_dbsetup.php, rrbranchesqueue_status.php, rrbranchesqueue_ajx.php, rrbranchesqueue_dequeue.php, rrbranchesqueue.php, rrbranchesqueue_restore_ajx.php
Purpose of the Mod
To make it easier to rebuild (relabel) multiple branches from their branch rules, and to know whether branches have been or need to be rebuilt. This mod
- Installs database fields and AJAX programs that mark Branch operations with timestamps in the TNG Branches table, so that administrators can know when or whether a Branch has been updated or cleared.
- Implements a simple queuing mechanism that allows site administrators to queue tasks that Add (aka Rebuild) or Clear branch labels. This queuing mechanism is of particular importance on large sites, where Branch operations take a long time.
- Modifies the Admin>>Branches>>Search results screen to show the status of each branch.
- Adds queuing options to the Admin>>Branches editor.
- Installs a Branch Queuing application from which an administrator can directly run some Branch operations, and can queue Branch operations to run in the background.
- This program is similar to the Admin>>Branches>>Search program, and is launched from a tab labeled "Queue Actions"
- Provides a way for branches to be rebuilt accurately after a Gedcom Import.
- The issue here is that the native Gedcom Import Secondary Process to "Relabel Branches" uses the old branch index (the branchlinks table), but the Gedcom Import can change who belongs in a branch, and thus make the branch index obsolete.
- Thus, this mod simplifies and optimizes the process of running complete branch label rebuilds, using the branch rules (e.g. ancestor generations, descendant generations, etc.)
This mod is compatible with Add Name to PersonID, Tree ID Mod, and TreeID-One Column, and depends on Admin Branches. Is is not compatible with Branches Sort mod because Admin Branches has a direct conflict. But the goal of Branches Sort mod, to sort related branches together in the Admin Branches Search results table, is only achieved if the related branches use the common BranchID at the very beginning of their BranchIDs. The Queue Actions program supplied by this mod can focus on all of related branches.
- The optional mod Inner Mod Menus displays an "Inner Mod Menu" in the TNG "inner menu" (just below the tab menu). The Inner Mod Menu is defined by this mod but is visible only if Inner Mod Menus is installed. It is also visible only to TNG administrators; never to end-users. I highly recommend that you install the Inner Mod Menus mod because Inner Mod Menus provide links to handy information - particularly to the mod settings blocks for this mod's options.
- This mod gathers data that can be used by the optional mod Show Mod Names, but there is no dependency on Show Mod Names
- This mod is dependent on Admin Branches, which also adds columns to the Admin>>Branches results table, and adds options to the Branch Editor.
- This mod coordinates with Add Name to PersonID and Admin Branches because they all want to make changes to the main SQL query. The three mods share a flag that allows just one of the mods to make all of the SQL changes that all three mods need.
- This mod coordinates with Admin Secondary Process in that it adds a tab that returns to the Secondary Processes menu if it was invoked from a Secondary Process.
In TNGv13, the mod's subfolder also contains critical files that contain the mod's language strings, which the mod does not add to standard cust_text.php files. Instead, the PHP code modified by this mod loads the language strings from files in the mod's languages/ subfolder. Read more about this technique.
- rrbranchesqueue_dbsetup.php - A script that sets up the new database fields that track queuing. It is launched from the mod description block within the Mod Manager List.
- rrbranchesqueue.php - The queuing app launched from the new "Queue Actions" tab. It lists selected branches and allows the user to enqueue jobs that rebuild (i.e. label) or clear the labels from multiple branches.
- rrbranchesqueue_ajx.php - An AJAX program to queue a list of branches for processing. Invoked by rrbranchesqueue.php.
- rrbranchesqueue_dequeue.php - An action script called by admin_editbranch.php to remove a job from an action queue. Invoked from admin_branchedit.php.
- rrbranchesqueue_status.php - An AJAX program that checks the status of the queued branch tasks. Invoked from admin_branches.php and rrbranchesenqueue.php
- rrbranchesqueue_restore_ajx.php - An AJAX program to relabel one branch by copying the branch index; similar to the secondary process that relabels all branches.
[Show Installation Details]
- 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, 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.
| Admin>>Branches>>Search Before installation of either Admin Branches or Admin Branches Queue|
The buttons at the bottom of this form generate cascading pop-up forms that I find confusing. The Admin Branches mod changes that workflow so that more actions can be taken without popups.
| Admin>>Branches>>Search After Installation of Admin Branches|
|Admin>>Branches>>Search After installation of both Admin Branches and Admin Branches Queue|
| Admin>>Branches>>Search The Inner Mod Menu|
Both Admin Branches and Admin Branches Queue generate Inner Mod Menus in the Admin>>Branches search form, and in Admin>>Branches>>Edit. The two menus are consolidated in one menu as shown here.
In Admin>>Branches>>Edit, the only difference is that the last link for Admin Branches Queue goes to a section of the Wiki article that describes the changes made to that program.
| Admin>>Branches>>Edit After Installation of Admin Branches|
See the Admin Branches Wiki article for more annotation of the two forms on this page:
| Admin>>Branches>>Edit After both mods have been installed.|
The Branch Edit page has three HTML forms, each of which is surrounded by a fieldset.
| Admin>>Branches>>Queue Actions Page After installation of both mods|
This page is similar to the Branch Search page in that it lists all of the branches that match a search, and lets you select or clear checkboxes for each branch. But unlike the Branch Search Page
| Admin>>Branches>>Queue Actions Page Reflecting some queued actions|
This screen clip was generated by refreshing the page quickly after actions were queued by the "Queue to add labels" button. Note that the "hk-hutch" branch is being processed, and the "hk-huyk" and "Marwil" branches are queued up to be processed next.
| Admin>>Branches>>Queue Actions Page After queued actions have completed.
| Admin>>Branches>>Queue Actions Page Showing a 'dummy branches' search
This mod, like many of my newer mods, does not add strings to the standard TNG cust_text.php files. Instead, the language strings are stored in the
languages subfolder of the mod's normal subfolder, in files named
French-UTF8_custtext.php.) I'm using this nonstandard technique for several reasons, but there is a rarely-relevant downside that comes in to play only if you want to override the string value that the mod assigns to a language string. (Read about the problem and the solution.)
|Mod Version||TNG Version||Date||Note|
|188.8.131.52||13.0-13.0.1||20 Nov 2020||
|184.108.40.206||13.0||2 Aug 2020||
|220.127.116.11a||12.0+||21 Mar 2020||
|18.104.22.168||12.0+||3 Jan 2020||
|Branch Timestamps v22.214.171.124||12.0+||15 May 2018||No functional changes; made compatible with TNGv12.|
|Branch Timestamps v126.96.36.199||11.0-11.1.2||5 Mar 2018||No functional changes - Removed the second line from the cust_text.php target location search string, and replaced a message with a translation string.|
|Branch Timestamps v188.8.131.52a||11.0-11.1.2||31 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.
|URL||User||Note||Mod Version||TNG Version||User language|
|Robin Richmond's Genealogy Database||Robin Richmond||Mod developer||184.108.40.206||13.0.1||English|
|racine d'Alsace||J-Louis Valory||Pubic/Privat - Template 1||220.127.116.11a||11.1.1||French|