Admin Branches Queue

From TNG_Wiki
Revision as of 23:33, 8 October 2018 by Rmcrae (talk | contribs) (Added new mod templates, and boilerplate how to update cust_text.php to TNGv12 specs)

Jump to: navigation, search

Template:RobinV12 cust text update

Branch Timestamps
Summary This mod installs database fields and AJAX programs that mark branch operations with timestamps in the TNG Branches table, and that enable batch operations on multiple branches.
Mod Updated 15 May 2018
Download link
TNG 12.0
TNG 11.0
Download stats
Author(s) Robin Richmond
Homepage Robin Richmond's Genealogy Database
Mod Support My Mod Support form or TNG Community Forums
Contact Developer My Mod Support form
Latest Mod v11.0.0.1 & v12.0.0.1
Min TNG V 11.0
Max TNG V at least 12.0
Files modified
ajx_labels.php, admin_branches.php, admin_editbranch.php, admin_updatebranch.php, English cust_text.php. Installs: rrbranch_timestamps_dbsetup.php, rrbranch_timestamps_status.php, rrbranch_timestamps_ajx.php, rrbranch_timestamps_dequeue.php, rrbranch_timestamps_tester.php
Related Mods
Admin Branches (required), Show Mod Names (optional)

Purpose of the Mod

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.
  1. Implements a simple queueing method that allows site administrators to queue Branch operations (Add Labels, Clear Labels, and Delete Records that are marked with a Label). This queueing mechanism is of particular importance on large sites, where Branch operations take a long time.
  2. Modifies the Admin>>Branches>>Search results screen to show the status of each branch.
  3. Adds queueing options to the Admin>>Branches editor.
  4. Installs a Branch Queueing and Test Mod from when an administrator can directly run some Branch operations, and can queue Branch operations to run in the background.
  5. Provides a way for branches to be rebuilt correctly after a Gedcom Import. (See the paragraph immediately below.

The Timestamp Test App

The Test App is installed in a Tab on the Admin >> Branches tab menu. It is very useful for testing the queuing of branches and checking on the status of queued actions. In addition, the Timestamp Test App should also be used to refresh branches after a Gedcom Import, since the Gedcom Import Secondary Process called "Relabel Branches" simply re-applies the branch labels that were in affect before the Gedcom Import, and ignores any Person or Family records that were added or deleted by the Gedcom Import.


  1. $updateActionWhenRuleChanges

This option allows you to mark the Branch as "needing to be updated" if you change the Branch rule.

Files Installed

  1. rrbranch_timestamps_dbsetup.php - Creates or deletes Branch table fields for the Branch Timestamps mod
  2. rrbranch_timestamps_status.php
  3. rrbranch_timestamps_ajx.php - Checks the status of processes that have been queued to rebuild or clear branch labels.
  4. rrbranch_timestamps_dequeue.php
  5. rrbranch_timestamps_tester.php - Application that is accessible through the Branches inner menu
    • Tests the new queueing features,
    • Adds or Clears branches immediately.
    • Has search features that I hope to implement in Admin_Branches at some point, such as the ability to focus on group of branches with a shared "dummy branch" (whose BranchID is a substring within other BranchIDs).
  6. ajx_branches.php - Loops through a set of branches to call ajx_labels.php to add or clear branch labels. Significantly, it does not invoke ajx_lables.php through AJAX, but rather through the PHP function file_get_contents. As a result,
    • the branches are done in sequence, not in parallel, and
    • one run-time process will not accumulate the execution time require to process all branches in the set.
  7. admin_updatebranchtimestamps.php - Modifies branch queueing by changing values in the new queing fields in the Branches table.

Compatibility with Other Mods

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. A Branch Testing Application that can focus on all groups of related branches in installed by Branch Timestamps

Related Mods

  1. This mod is dependent on Admin Branches, which also adds columns to the Admin>>Branches results table, and adds options to the Branch Editor. The two mods can be installed independently, but Admin Branches installs code that implements the $summaryonly query string parameter in ajx_labels.php, and Branch Timestamps depends on that code.
  2. The optional Show Mod Names mod will use data saved by Branch Timestamps to to display information about the mods that affect admin_branches.php and admin_branchedit.php if and only if Show Mod Names is installed.

[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.


  1. Remove and delete previous version of this mod.
  2. Backup the files updated by this mod. They are listed in the panel at the upper right.
  3. Download the .zip file, Extract its .cfg file to the mods folder.
  4. Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files.


  1. Try using the Mod Manager Remove capability
  2. Contact me through My Mod Support form.
[Hide Details]


Admin>>Branches>>Search Before installation of either Admin Branches or Branch Timestamps

Branch timestamps-before.png

Admin>>Branches>>Search After installation of both Admin Branches and Branch Timestamps

Branch timestamps-after1bt.jpg

Admin>>Branches>>Edit Before installation of Admin Branches or Branch Timestamps

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.
Branch timestamps-before-edit.png

Admin>>Branches>>Edit After both mods have been installed.

The Branch Edit page has three HTML fieldsets.

  • The first and third fieldsets are separate forms that are in the Edit Existing Branch page with Admin Branches installed by itself.
  • The "Form for Timestamps and Queuing Data" fieldset in the middle shows
    1. The results of the the most recent branch action - whether it was queued or executed by clicking on the buttons in the "Branch Action Form" below,
    2. The status of a currently-queued branch action, and
    3. A button that cancels the currently-queued branch action.

Branch timestamps-after-edit.jpg

Admin>>Branches>>Timestamp Test App 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, but it

  • Shows different information for each branch - mostly about recent and queued actions,
  • Has several buttons that let the user change the status of the branch, and to queue branch actions.

This form is particularly useful when you want to update several branches, particularly after a Gedcom Import. Branch timestamps-after-test1.jpg

Admin>>Branches>>Timestamp Test App After installation of both mods, and focusing on groups of related mods

Branch timestamps-after-test2.jpg

      • The latest version of the mod is at the top of this table ***

Revision History

Mod Version TNG Version Date Note 12.0+ 15 May 2018 No functional changes; made compatible with TNGv12.
v11.0.0.1 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.
v11.0.0.0a 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 11.1.2 English
racine d'Alsace J-Louis Valory Pubic/Privat - Template 1 11.1.1 French