CUNY Graduate Center - Project Tracking System: Issueshttps://redmine.gc.cuny.edu/https://redmine.gc.cuny.edu/favicon.ico2024-03-13T23:27:17ZCUNY Graduate Center - Project Tracking System
Redmine CUNY Academic Commons - Bug #19975 (Resolved): Deleted and spammed sites are still able to create...https://redmine.gc.cuny.edu/issues/199752024-03-13T23:27:17ZRaymond Hoh
<p>When I was looking into <a class="issue tracker-1 status-1 priority-4 priority-default" title="Bug: Expected Group Forum Functionality (New)" href="https://redmine.gc.cuny.edu/issues/19971">#19971</a> to trim down the Cavalvade scheduled tasks, I noticed that deleted sites such as <code>admissions.commons.gc.cuny.edu</code> or sites marked as spam are still able to create and trigger scheduled tasks.</p>
<p>We should prevent scheduled tasks from being created for deleted / spammed sites.</p> CUNY Academic Commons - Bug #19944 (New): Dealing with BuddyPress 12.x upgrade, pt. 2https://redmine.gc.cuny.edu/issues/199442024-03-11T22:29:12ZRaymond Hoh
<p>Follow-up to <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Dealing with BuddyPress 12.x upgrade (Resolved)" href="https://redmine.gc.cuny.edu/issues/19493">#19493</a>. Just wanted to make sure my comments in <a class="external" href="https://redmine.gc.cuny.edu/issues/19493#note-10">https://redmine.gc.cuny.edu/issues/19493#note-10</a> are brought forward to a future release:</p>
<blockquote>
<p>For more pronounced changes, I created a new branch -- <a href="https://github.com/cuny-academic-commons/cac/compare/bp12...bp12-part2" class="external">bp12-part2</a> -- that namely switches out all BuddyPress 12 deprecated function calls. We can roll that out in a later maintenance release.</p>
<p>I've been testing <code>bp12-part2</code> with BP Classic <em>deactivated</em> and with <code>BP_IGNORE_DEPRECATED</code> set to <code>true</code> and these are some issues I encountered:</p>
<ul>
<li>BP Event Organiser needs some minor adjustments to account for group subnav registration: <a class="external" href="https://github.com/cuny-academic-commons/bp-event-organiser/compare/1.2.x...bp12#diff-b0397cc71e95a79af968e8dadb7b8e525085f462c5a88ac11c8bdb86ecd7173d">https://github.com/cuny-academic-commons/bp-event-organiser/compare/1.2.x...bp12#diff-b0397cc71e95a79af968e8dadb7b8e525085f462c5a88ac11c8bdb86ecd7173d</a></li>
<li>bbPress does <a href="https://github.com/bbpress/bbPress/blob/4178cbf665674c128c928fabdc0322badacad06b/src/includes/extend/buddypress/groups.php#L140-L157" class="external">some conditional checks</a> that needs to be delayed to the <code>'bp_parse_query'</code> hook. This fixes an issue with the bbPress stylesheet not loading on group forum pages I mentioned above in <a href="https://redmine.gc.cuny.edu/issues/19493#note-4" class="external">comment 4</a> amongst other permission-related cap overrides for the current user.</li>
<li>I need Git permissions to the <code>tapor-client</code> repo so I can push changes and pin a new version for our <code>cac</code> repo.</li>
</ul>
<p>About the bbPress load order issue:</p>
<blockquote>
<p>Furthermore, when running bp-classic, I had to do some additional work to ensure that bbPress's BP compatibility layer is loaded in time, and is loaded only once. Like the approach above, it's pretty hacky (requiring a static variable to prevent double-loading) but it basically works. Here's the full patch: <a class="external" href="https://github.com/openlab-at-city-tech/openlab/commit/27f2a68354550295d85f0f3c5aaafc55004268f0">https://github.com/openlab-at-city-tech/openlab/commit/27f2a68354550295d85f0f3c5aaafc55004268f0</a></p>
</blockquote>
<p>I tackled this a little differently in my bbPress commit. See <a class="external" href="https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-0f345898d2c7666be77acc95ec88e90e98a407644a4ce5431b3fb96d06749039">https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-0f345898d2c7666be77acc95ec88e90e98a407644a4ce5431b3fb96d06749039</a> and the constructor and includes() portion of <a class="external" href="https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-a8d1ad6e40805411d0e557ee641e9d47c6cc3d0f17ef107f22ac729255439a5a">https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-a8d1ad6e40805411d0e557ee641e9d47c6cc3d0f17ef107f22ac729255439a5a</a> . I think the constructor changes might fix your double load order issue. Can you do some tests and see if this works for you, Boone?</p>
</blockquote>
<p>This doesn't need to go in tomorrow's 2.3.4 release. Let's put this in 2.3.5 or later.</p> CUNY Academic Commons - Bug #19928 (New): Forum Topic by Email Statshttps://redmine.gc.cuny.edu/issues/199282024-03-08T17:41:09ZRaymond Hoh
<p>Matt wanted to know the number of topics created by email vs. total number of topics.</p>
<p>Here are the stats:</p>
<p>2024 - 192/515 (so far)<br />2023 - 964/3260<br />2022 - 1058/3272<br />2021 - 1333/4010<br />2020 - 1284/4225<br />2019 - 801/2604<br />2018 - 405/2868<br />2017 - 104/1540<br />2016 - 116/1430<br />2015 - 65/1414<br />2014 - 12/1305</p> CUNY Academic Commons - Bug #19775 (Resolved): Check member status when using REST API for privat...https://redmine.gc.cuny.edu/issues/197752024-02-19T18:56:44ZRaymond Hoh
<p>We allow sites to alter their site privacy with the "More Privacy Options" plugin.</p>
<p>The MPO plugin currently does member status checks for users on the frontend to determine if a user is able to access a private site, however member status checks are not done when accessing the WP REST API. So it would be possible for someone to access private content if the user was savvy enough with the WP REST API to query for post content, etc.</p>
<p>This was brought up in a CBOX OpenLab support thread: <a class="external" href="https://cboxopenlab.org/groups/the-hub/forum/topic/question-about-the-more-privacy-options-plugin/#post-696">https://cboxopenlab.org/groups/the-hub/forum/topic/question-about-the-more-privacy-options-plugin/#post-696</a></p>
<p>Fix forthcoming.</p> CUNY Academic Commons - Bug #19436 (Resolved): Doc nav displays twice on a group doc pagehttps://redmine.gc.cuny.edu/issues/194362023-12-19T03:00:06ZRaymond Hoh
<p>Came across a bug while looking into <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Audit usage of custom en_CAC locale (Resolved)" href="https://redmine.gc.cuny.edu/issues/19415">#19415</a> where the doc nav was displaying directly below the main navigation, but before the main group interface. Here's an example doc on production with this problem: <a class="external" href="https://commons.gc.cuny.edu/groups/bikecuny/docs/bike-shops/">https://commons.gc.cuny.edu/groups/bikecuny/docs/bike-shops/</a> .</p>
<p>Bug is due to using <code>bp_buffer_template_part()</code> without setting the <code>$echo</code> parameter to <code>false</code> in BuddyPress Docs: <a class="external" href="https://github.com/buddypress/buddypress/blob/39bba862906314d48eeea11ffc127fc8b8fff8c0/src/bp-core/bp-core-template-loader.php#L401">https://github.com/buddypress/buddypress/blob/39bba862906314d48eeea11ffc127fc8b8fff8c0/src/bp-core/bp-core-template-loader.php#L401</a></p>
<p>I've opened a PR for BP Docs here: <a class="external" href="https://github.com/boonebgorges/buddypress-docs/pull/740">https://github.com/boonebgorges/buddypress-docs/pull/740</a>.</p>
<p>Boone, can you review when you have the chance?</p> CUNY Academic Commons - Bug #19415 (Resolved): Audit usage of custom en_CAC localehttps://redmine.gc.cuny.edu/issues/194152023-12-15T00:11:56ZRaymond Hoh
<p>In our codebase, we use a custom <code>en_CAC</code> locale to load these strings:<br />1. WordPress - <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L492-L509">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L492-L509</a><br />2. BuddyPress - <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L172-L176">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L172-L176</a><br />3. BP plugins - <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L1837C4-L1865">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L1837C4-L1865</a></p>
<p>For point 1, <code>en_CAC</code> is not a valid locale and can cause issues when using certain javascript libraries like <a href="https://shoelace.style/getting-started/localization" class="external">Shoelace</a> that attempts to load a locale file for <code>CAC</code>. Also, most of the strings in our custom WordPress localization file are no longer being used. I would recommend removing the <code>update_option( 'WPLANG', 'en-CAC' )</code> approach and doing string overrides using the <code>'gettext_default'</code> filter on a page-by-page basis. It looks like the only string we would need to override is the one for <code>/wp-admin/ms-delete-site.php</code>: <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/languages/en_CAC.po#L34-L38">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/languages/en_CAC.po#L34-L38</a> .</p>
<p>Points 2 and 3 are not as important to address, but it looks like we only made a few changes overall: <a class="external" href="https://github.com/cuny-academic-commons/cac/commits/master/wp-content/languages">https://github.com/cuny-academic-commons/cac/commits/master/wp-content/languages</a> . I think we need to audit this list to determine whether most of our string overrides are even necessary nowadays.</p> CUNY Academic Commons - Bug #19214 (Resolved): Group creation is causing a fatal errorhttps://redmine.gc.cuny.edu/issues/192142023-11-07T02:18:55ZRaymond Hoh
<p>While looking into <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: bp-nelo doesn't have 404 template (Resolved)" href="https://redmine.gc.cuny.edu/issues/19202">#19202</a>, I found that group creation is broken. On the group creation page, if you click on the "Create Group and Continue" button, you will get a fatal error.</p>
<p><strong>tl;dr:</strong> The bug is with the <code>cac-group-library</code> plugin and how it attempts to modify a group's navigation to remove some nav menu items. The bug only came about once we made our bp-nelo theme its own theme in CAC 2.2.0.</p>
<p>Boone, here's the rundown:<br />1. Before CAC 2.2.0, bp-nelo was a child theme of bp-default. When loading a BuddyPress template, all code execution stops after the template is loaded: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L511-L512">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L511-L512</a></p>
<p>2. In CAC 2.2.0, bp-nelo is its own theme so BuddyPress's theme compat layer kicks in. However, BP theme compat doesn't halt code execution after a template is loaded: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L527-L532">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L527-L532</a>.</p>
<p>3. This led to the following on the group creation page:<br />i. When a BuddyPress group is created, it sets the <code>buddypress()->groups->current_group</code> property to the new group's details: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-groups/actions/create.php#L60-L62">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-groups/actions/create.php#L60-L62</a> . This code runs on <code>'bp_actions'</code> at priority 10.</p>
<p>ii. The <code>'cac-group-library'</code> plugin attemps to alter a group's nav menu and it does a check for <code>bp_is_group()</code> to determine if we're on a single group page: <a class="external" href="https://github.com/cuny-academic-commons/cac-group-library/blob/b9d15c3f512e065d56ade216e7eb509b873a5248/src/Nav.php#L64-L70">https://github.com/cuny-academic-commons/cac-group-library/blob/b9d15c3f512e065d56ade216e7eb509b873a5248/src/Nav.php#L64-L70</a>. This code runs on <code>'bp_actions'</code> at priority 200. When this code runs at priority 200, <code>bp_is_group()</code> is returning <code>true</code> due to 3)i: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-template.php#L2737-L2739">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-template.php#L2737-L2739</a> .</p>
<p>iii. Due to <code>bp_is_group()</code> returning true, the <code>cac-group-library</code> plugin attempts to access <a href="https://github.com/cuny-academic-commons/cac-group-library/blob/b9d15c3f512e065d56ade216e7eb509b873a5248/src/Nav.php#L74-L76" class="external">some group nav class methods</a> that <a href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-groups/classes/class-bp-groups-component.php#L307-L308" class="external">only exist on a single group page</a> . This causes the fatal error.</p>
<hr />
<p>I've patched up the <code>cac-group-library</code> nav removal code to run on <code>'bp_actions'</code> at priority 9 to sidestep the <code>bp_is_group()</code> problem and will create a ticket over on BuddyPress Trac to let devs know how <code>bp_is_group()</code> can potentially be true on the group creation page.</p> CUNY Academic Commons - Bug #19204 (Resolved): Github 'cac' repo access rightshttps://redmine.gc.cuny.edu/issues/192042023-11-03T18:51:46ZRaymond Hoh
<p>I'm about to push a fix for <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: New AI Assistant? (Resolved)" href="https://redmine.gc.cuny.edu/issues/19192">#19192</a>, but it seems like my access to <code>cuny-academic-commons/cac/</code> Github repo has been removed.</p>
<p>Boone, can you check my permission access to the <code>cac</code> Github repo?</p> CUNY Academic Commons - Bug #19166 (Resolved): "Author" option is missing in Quick Edithttps://redmine.gc.cuny.edu/issues/191662023-10-31T22:43:27ZRaymond Hoh
<p>As reported in <a href="https://redmine.gc.cuny.edu/issues/19114#note-5" class="external">#19114</a>, the "Author" dropdown menu does not show up when clicking on the "Quick Edit" link in the WP admin dashboard.</p>
<p>Steps to reproduce:<br />1. Navigate to the "Posts" or "Pages" admin dashboard page<br />2. In the table, hover over a post or page to edit and click on the "Quick Edit" link<br />3. The "Author" option is missing</p>
<p>It appears that WordPress put a restriction in place to omit the "Author" dropdown if the entire network's user count is greater than 10,000: <a class="external" href="https://github.com/WordPress/WordPress/blob/798991a0ff4684363c11bb7c2598dcef203b85e1/wp-admin/includes/class-wp-posts-list-table.php#L1722-L1759">https://github.com/WordPress/WordPress/blob/798991a0ff4684363c11bb7c2598dcef203b85e1/wp-admin/includes/class-wp-posts-list-table.php#L1722-L1759</a>. The user count on the Commons exceeds 10,000, so the Author dropdown option is omitted.</p>
<p>We can bypass this restriction with the following snippet:</p>
<pre>
add_action( 'admin_enqueue_scripts', function( $hook_suffix ) {
// Bail if not on a post type's dashboard page.
if ( 'edit.php' !== $hook_suffix ) {
return;
}
// Bypass user count check.
add_filter( 'wp_is_large_user_count', '__return_false' );
} );
</pre>
<p>However, I want to know why WordPress put in this restriction in the first place. Boone / Jeremy, is this because the <code>get_users()</code> DB query on <code>'wp_usermeta'</code> is taxing when there is a large user database? Wouldn't it make more sense for the restriction to count the site's users with <code>count_users()</code> rather than the entire network's user base with <code>wp_is_large_user_count()</code>?</p> CUNY Academic Commons - Bug #18622 (Resolved): Unread forum reply notification URL links to the w...https://redmine.gc.cuny.edu/issues/186222023-08-17T23:18:53ZRaymond Hoh
<p>While working on the new notifications page (<a class="issue tracker-2 status-5 priority-4 priority-default closed child" title="Feature: Account Settings Tab (Resolved)" href="https://redmine.gc.cuny.edu/issues/17769">#17769</a>). I encountered a bug with unread forum replies.</p>
<p>In <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Forum design improvements (Resolved)" href="https://redmine.gc.cuny.edu/issues/14018">#14018</a>, we implemented an unread forum post feature utilizing the existing BuddyPress notification system. Clicking on the notification link would take you to the first unread post in a forum thread. However, this link doesn't work correctly in bbPress v2.6.7 as v2.6.7 changed how their notification action is saved from<br /><code>'bbp_new_reply'</code> to <code>'bbp_new_reply_{TOPIC_ID}</code>. (See <a class="external" href="https://github.com/bbpress/bbPress/commit/6278a1053d69d1df684b66296147b3b67f4c9966">https://github.com/bbpress/bbPress/commit/6278a1053d69d1df684b66296147b3b67f4c9966</a> .) As a result, the link would take you to the wrong post in the thread.</p>
<p>Some adjustments need to be made to fix this. Fix forthcoming.</p> CUNY Academic Commons - Bug #18496 (New): PHP 8+ Compatibilityhttps://redmine.gc.cuny.edu/issues/184962023-07-21T22:45:40ZRaymond Hoh
<p>We're currently running PHP 7.4 in our PHPCS set up and on the GC server, but some of us are using PHP 8+ in our development environments. (For example, <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: bp-email-type doesn't properly deal with 'to' arrays (Resolved)" href="https://redmine.gc.cuny.edu/issues/16948">#16948</a>.)</p>
<p>This will be a catch-all ticket to address deprecated notices, fatal errors and the like.</p>
<p>Also, just to note that PHP 7.4 reached end-of-life back in November 2022. Upgrading to PHP 8.2 is probably good to think about when we decide to move hosts. PHP 8.2 is supported until December 2025, while PHP 8.0 will reach end-of-life in November 2023.</p> CUNY Academic Commons - Bug #18495 (Resolved): bp-nelo Accessibility Fixeshttps://redmine.gc.cuny.edu/issues/184952023-07-20T23:06:53ZRaymond Hoh
<p>Previously we did a few accessibility fixes for the homepage in <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Homepage accessibility enhancements (Resolved)" href="https://redmine.gc.cuny.edu/issues/15127">#15127</a>. I'm going to do another accessibility audit across our main directory and registration pages using the WAVE acessibility tool: <a class="external" href="https://wave.webaim.org/">https://wave.webaim.org/</a></p>
<p>We have a few things to fix up.</p> CUNY Academic Commons - Bug #18235 (Hold): Lots of failed Cavalcade tasks as of 2023-05-13https://redmine.gc.cuny.edu/issues/182352023-05-16T16:22:18ZRaymond Hoh
<p>Was just checking the failed Cavalcade tasks log and noticed something peculiar. As of 2023-05-13 17:33:05 GMT and on, we've had a consistent stream of failed tasks.</p>
<p>Run the following MySQL query to view all results:</p>
<pre>
select * from wp_cavalcade_jobs where timestamp > '2023-05-13 17:32:00' and status = 'failed' order by id desc;
</pre>
<p>As the time of posting, the total number of failed jobs since about three days ago is greater than 15,000. Usually, the number is only a couple failed tasks a day.</p>
<p>I haven't done any further investigation yet, but just wanted to post this issue for now.</p> CUNY Academic Commons - Bug #18118 (Resolved): Two Factor v0.8 breaks our BP Two Factor frontend ...https://redmine.gc.cuny.edu/issues/181182023-04-26T04:45:08ZRaymond Hoh
<p>I <a href="https://github.com/r-a-y/bp-two-factor/issues/1" class="external">received a report</a> that our BP Two Factor plugin is broken due to changes in the latest, major version of the core Two Factor plugin -- v0.8.0. In v0.8.0, the Two Factor plugin switched to using the WP REST API to do various save routines and removed some previous code that our BP Two Factor plugin was referencing.</p>
<p>What this means is if you go to <code>/members/USERNAME/settings/</code>, you will get a fatal error. I have <a href="https://github.com/r-a-y/bp-two-factor/compare/5b751d0...5b9a8de" class="external">committed some fixes</a> in my repo and have added them to production without committing so the user settings page will still be functioning. However, there are still some usability things I want to sort out before committing such as ensuring the TOTP checkbox is checked after successful TOTP setup and ensuring some of our custom verbiage is used. I'm looking into this.</p> CUNY Academic Commons - Bug #18098 (Resolved): Disable NextGen Gallery's cache trackerhttps://redmine.gc.cuny.edu/issues/180982023-04-22T03:15:47ZRaymond Hoh
<p>While looking into our database storage issue (#17761), I've identified NextGen Gallery as a probable offender of our storage woes. I started logging new additions as well as new updates to the DB to one of our sites using NextGen (site ID 13027) and found that the log was 99.5% full with a NextGen DB option called <code>'photocrati_cache_tracker'</code>. (For Jeremy or Boone, you can view the log at <code>/PROD_WWW/html/commons/www/wp-content/uploads/ray-db-debug.log</code>). The other 0.5% was from the <code>'akismet_spam_count'</code> option (15 times) and the <code>'post_count'</code> option (1 time). Since April 21, 1pm UTC until now (roughly April 22, 2am UTC), <code>update_option( 'photocrati_cache_tracker' )</code> was called 3266 times.</p>
<p>The other problem other than the update frequency is the size of the <code>'photocrati_cache_tracker'</code> option. That option currently sits at 7.32MB:</p>
<pre>
mysql> select char_length(option_value)/1024/1024 from wp_13027_options where option_name = 'photocrati_cache_tracker';
+-------------------------------------+
| char_length(option_value)/1024/1024 |
+-------------------------------------+
| 7.31606674 |
+-------------------------------------+
1 row in set (0.03 sec)
</pre>
<p>Since InnoDB stores every type of transaction (a good readthrough is <a href="https://mariadb.org/wp-content/uploads/2018/02/Deep-Dive_-InnoDB-Transactions-and-Write-Paths.pdf" class="external">this PDF</a>), I think it is safe to assume the <code>'photocrati_cache_tracker'</code> option is the main culprit behind most of our storage problems (other than StatPress!).</p>
<p>So the next thing we need to figure out is what the <code>'photocrati_cache_tracker'</code> option does. A thread on wordpress.org ran into the same problem as us: <a class="external" href="https://wordpress.org/support/topic/what-does-photocrati_cache_tracker-do/">https://wordpress.org/support/topic/what-does-photocrati_cache_tracker-do/</a>. One of the NextGen devs chimed in and mentioned that this option tracks all NextGen transients so they can purge the transients in groups when running an object cache. My first thought is this shouldn't be necessary since WordPress deletes expired transients on its own, but I digress! The dev fortunately decided to let site administrators disable this tracker through the <code>'NGG_DISABLE_PHOTOCRATI_CACHE_TRACKER'</code> constant: <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/34a3a64d76ed2291289d25c780dcbd13cf472952/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_transient_manager.php#L35-L36">https://github.com/cuny-academic-commons/cac/blob/34a3a64d76ed2291289d25c780dcbd13cf472952/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_transient_manager.php#L35-L36</a></p>
<p>I think our next steps are to:<br />1. Set the following line somewhere: <code>define( 'NGG_DISABLE_PHOTOCRATI_CACHE_TRACKER', true );</code><br />2. Wipe out the <code>'photocrati_cache_tracker'</code> option for all NextGen Gallery sites for performance reasons<br />3. Probably think about disabling the cronjob for NextGen Gallery as well with the following line: <code>define( 'NGG_CRON_ENABLED', false );</code>. See <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/34a3a64d76ed2291289d25c780dcbd13cf472952/wp-content/plugins/nextgen-gallery/nggallery.php#L434-L439">https://github.com/cuny-academic-commons/cac/blob/34a3a64d76ed2291289d25c780dcbd13cf472952/wp-content/plugins/nextgen-gallery/nggallery.php#L434-L439</a></p>