cuny-academic-commons / commons-in-a-box

Commons In A Box - A suite of community and collaboration tools for WordPress, designed especially for academic communities
http://commonsinabox.org
72 stars 14 forks source link

'Create Portfolio' can lead to Project creation workflow #436

Closed bree-z closed 11 months ago

bree-z commented 1 year ago

Hi Boone,

This is a ticket for the issue that @beckej13820 reported:

The other issue that I’m having a hard time replicating, is that the “create portfolio” button sometimes leads to the create project workflow. It happens like 1/10. I’ve been demoing the portfolios in class, and I noticed several times during my click through and demoes that I know I clicked the correct place, but my action lead me not through the create portfolio pages, but the create project pages. I see evidence that this happened to students as well, since students that say through my presentation also have things labeled “portfolio” but they are in the project category.

Charlie also noticed something similar on the BMCC Openlab: https://openlab.bmcc.cuny.edu/groups/naomi-welch-ece/

I've not been able to reproduce this on openlabdev.commonsinabox.org (although the site is very slow so I only tried once). I also tried on cboxopenlab.org a few times, and Charlie tried twice. I do think I finally reproduced the issue.

From my profile, I clicked '+ Create Portfolio' and was taken to the project creation workflow. I completed this, and ended up with a project: https://cboxopenlab.org/groups/bree-portfolio-3/ (I have a screen recording if that's helpful.)

There were a few other weird things that happened during testing. I was creating a bunch of other groups. Once, after creating a course, I went to the Communities directory and clicked '+ Create Community'. I was sent to the first step of course creation (I think!) and some of the fields were pre-filled with information from the course I had just created. I don't remember this 100% but in the example above for portfolio creation I definitely clicked 'Create Portfolio' and was definitely in the project creation workflow.

Finally, I'm not sure if it's related, but after step 2 (Associated Site creation) of group creation for any type of group I get a bunch of php warning messages (see below). The group is created properly, but the warning messages appear on a white page with no navigation, so I can't finish the group creation process and can't get back to My Profile or any other page:

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: copy(/home/cboxopen/public_html/wp-content/blogs.dir/25/files/.htaccess): Failed to open stream: No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 226

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: mkdir(): No such file or directory in /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php on line 231

Warning: Cannot modify header information - headers already sent by (output started at /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php:231) in /home/cboxopen/public_html/wp-content/plugins/buddypress/bp-groups/actions/create.php on line 171

Warning: Cannot modify header information - headers already sent by (output started at /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php:231) in /home/cboxopen/public_html/wp-content/plugins/buddypress/bp-groups/actions/create.php on line 172

Warning: Cannot modify header information - headers already sent by (output started at /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php:231) in /home/cboxopen/public_html/wp-includes/pluggable.php on line 1416

Warning: Cannot modify header information - headers already sent by (output started at /home/cboxopen/public_html/wp-content/plugins/cbox-openlab-core/includes/functions.php:231) in /home/cboxopen/public_html/wp-includes/pluggable.php on line 1419

Thanks!

boonebgorges commented 1 year ago

The other issue that I’m having a hard time replicating, is that the “create portfolio” button sometimes leads to the create project workflow

The BuddyPress group creation process is multi-step, which means it includes more than one step. BP keeps track of your status in this multi-step process using a browser cookie. The cookie has the ID of the currently-being-created group. This cookie is deleted when you get to the last step of group creation. Thus, if you begin the group creation process but leave it before finishing, and you later return to the group creation process while your browser still has the cookie in question, BP assumes that you're trying to complete that previously-started group creation process. I'm guessing that this is what's happening in the case you've described: someone is starting to create a group of Project type, doesn't finish the process, then later goes back to create a group of Portfolio type, but BP thinks you're working on the Project. It might be worth some experimenting to see if you can reproduce the behavior using these hints.

We can't completely do away with BP's cookie-based behavior, as it's necessary for the multi-step group creation flow. But we might mitigate the current problem by deleting/ignoring the new-group cookie if you visit step 1 of the group creation process. In other words, if you visit /groups/create/step/group-details/?group_type=club&new=true, we assume that you're starting a new group creation process, and we'll start fresh with the cookies.

Once, after creating a course, I went to the Communities directory and clicked '+ Create Community'. I was sent to the first step of course creation (I think!) and some of the fields were pre-filled with information from the course I had just created

This is likely the same problem.

I've not been able to reproduce this on openlabdev.commonsinabox.org (although the site is very slow so I only tried once).

I can see that the site is quite slow. I tried enabling a persistent object cache, but it doesn't seem to be helping very much. Unfortunately, our host is currently short-staffed and it's unlikely we'd be able to get attention to this issue in the short term.

Finally, I'm not sure if it's related, but after step 2 (Associated Site creation) of group creation for any type of group I get a bunch of php warning messages (see below).

It's unrelated. I'll cover this in #414, where the same issue has been reported by @beckej13820.

boonebgorges commented 1 year ago

This is now ready to test. The intended behavior is described in the commit message for fa4f481.

bree-z commented 11 months ago

I think this looks good. I've started and then stopped group creation at a few different points in the process and then when moving to the creation flow for a different group type haven't been able to trigger the previous group type.