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 - Feature #19278 (Resolved): "Account Settings > Edit Profile" screen and "...https://redmine.gc.cuny.edu/issues/192782023-11-15T22:33:22ZRaymond Hoh
<p>I decided to create a new ticket from <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>.</p>
<p>Here are Sara's mockups for the "Account Settings > Edit Profile" screen:</p>
<p><img src="https://redmine.gc.cuny.edu/attachments/download/26231/Screen%20Shot%202023-09-05%20at%2011.27.19%20AM.png" alt="" /></p>
<p><img src="https://redmine.gc.cuny.edu/attachments/download/26841/Screenshot%202023-11-14%20at%2011.58.16%20AM.png" alt="" /></p>
<hr />
<p>There was a bit of talk in the dev chat about keeping the CV data and the Commons Profile header data separate. I'm wondering whether we can just use the CV's data as the main source of data. By that I mean, if a user has filled in their CV's name, pronouns, one-line bio, social links, etc, we will display that same data in the Commons Profile header and we will not show the "Account Settings > Edit Profile" screen at all. I've already got some code for this ready to go. The code uses the <code>parse_blocks()</code> function and thanks to the placeholders in those blocks, it is possible to extract data for specific blocks from the CV.</p>
<p>If a user has not filled in their CV, for the header, we will fall back to the data that the user inputted previously during account signup or for their Public Portfolio. For these users, the "Account Settings > Edit Profile" screen will be available so that data can be edited.</p>
<p>I think this would limit the confusion of having two separate pieces of profile data. On the contrary, would users be surprised to see some of their CV data in their Commons Profile header? What does everyone think?</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 - System Upgrade #19144 (Resolved): Set 'bp-nelo' as template in developer ...https://redmine.gc.cuny.edu/issues/191442023-10-30T22:37:07ZRaymond Hoh
<p>This is just a message for Boone and Jeremy.</p>
<p>If you are running the latest version of <code>2.2.x</code> branch in your development environment, please make sure to set your <code>'template'</code> option to <code>'bp-nelo'</code>. Can do so with WP-CLI:</p>
<pre>
wp option update template bp-nelo
</pre>
<p>Previously, <code>'bp-nelo'</code> was a child theme of the <code>'bp-default'</code> theme, but in <code>2.2.x</code>, bp-nelo is now its own theme, so the template is now <code>'bp-nelo'</code>. I previously enforced the <code>'template'</code> option to <code>'bp-nelo'</code> with a filter, but that filter is now removed as of <a class="external" href="https://github.com/cuny-academic-commons/cac/commit/2582798911a1e990c07fe7194132438c08b696ee">https://github.com/cuny-academic-commons/cac/commit/2582798911a1e990c07fe7194132438c08b696ee</a> .</p>
<p>So this is a just a FYI.</p> CUNY Academic Commons - Bug #17680 (Resolved): Group Doc UI improvementshttps://redmine.gc.cuny.edu/issues/176802023-02-17T01:32:40ZRaymond Hoh
<p>Was looking at a group doc today and came across a few things I'd like to do.</p>
<p>I've attached a screenshot, but basically let's:</p>
<ol>
<li>Remove the "All Docs" and "GROUP's Docs" nav row. The "All Docs" tab links to the main Docs Directory, which is something we do not really want exposed to users and the "GROUP's Docs" tab links to the group's <code>/docs/</code> page. This link is already duplicated in the breadcrumb, so let's remove this entire nav row.</li>
<li>Redirect <code>/docs/</code> to the group's Library page, but filtered by Docs. Currently, clicking on either the "GROUP's Docs" tab or the first entry in the doc breadcrumb will redirect to the main group Library page. We should preferably redirect to the Library and filtered by docs immediately.</li>
</ol>
<p>I have some fixes ready to go. You can test this functionality on any group doc on cdev. Here's the sample one I used in the screenshot: <code>https://commons.gc.cuny.edu/groups/cac-test-clone/docs/lets-brainstorm-on-topics-2/</code></p>
<p>These are some simple UI tweaks until Sara is finished with the new group page designs. If anyone has any feedback, let me know. Thanks!</p> CUNY Academic Commons - Bug #788 (Resolved): bp-nelo/functions.php - Remove redundant BP textdoma...https://redmine.gc.cuny.edu/issues/7882011-06-02T21:04:37ZRaymond Hoh
<p>In bp-nelo/functions.php, there is a redundant lookup for a BP language file that doesn't exist.</p>
<p>bp-custom.php already loads the custom BP language file for CAC.</p> CUNY Academic Commons - Bug #787 (Resolved): bp-nelo/footer.php - Remove "get_option('tn_wpmu_gog...https://redmine.gc.cuny.edu/issues/7872011-06-02T20:56:29ZRaymond Hoh
<p>In bp-nelo/footer.php, there is the following line:<br /><pre>
<?php $tn_wpmu_goggle_code = get_option('tn_wpmu_goggle_code'); echo stripslashes($tn_wpmu_goggle_code); ?>
</pre></p>
<p>I couldn't find any reference to "tn_wpmu_goggle_code" on CAC and am wondering if it is safe to remove this.</p>
<p>Even if it is relevant, this line of code should be moved above the </body> line.</p> CUNY Academic Commons - Bug #776 (Resolved): Make sure Blog Authors menu doesn't overflow off vis...https://redmine.gc.cuny.edu/issues/7762011-05-26T08:55:29ZRaymond Hoh
<p>When there are multiple authors on a CAC blog and a user hovers over the "Blog Authors" menu, the author's names are cut off.</p>