ucd-library / aggie-experts

Publicly reported feedback and issues for Aggie Experts
https://ucd-library.github.io/aggie-experts/
MIT License
1 stars 2 forks source link

Expert availability ui and api updates #529

Open UcDust opened 2 weeks ago

UcDust commented 2 weeks ago

Experts should have the ability to indicate projects and community availability, as in:

Image

Determine where the data will persist in fcrepo/elastic.

Also the search page needs to be extended to filter by the various open to preferences.

UcDust commented 2 weeks ago

@Vensberg I was just chatting with @wrenaria regarding the ui for the open-to/availability feature we're adding to AE. Are each of these preferences opt-in, so that by default nothing is enabled/checked?

Vensberg commented 2 weeks ago

@UcDust , they will be fed by Availability label data in Elements. It's new data.

qjhart commented 2 weeks ago

In terms of updates, there is existing generic user profile update code at userprofile This is used for example at updateUserPriviacyLevel. We need to see if updates to the availability follow this pattern, of if they have their own endpoint.

qjhart commented 2 weeks ago

@Vensberg looking at production it appears like we ended up creating a new Availability label scheme. I thought we were going to use a subset of the existing availability labels. Was that incorrect?

If we are adding a new one, we should probably think about one set of labels for all aggie experts parts. I kinda like using the baked in one better for this.

Vensberg commented 2 weeks ago

We needed to add community partnerships. We have a stakeholder request for that.

qjhart commented 1 week ago

@UcDust, OK @Vensberg has let me know we aren't interested in collaborating with CDL about a common availability controlled vocabulary, and we are going to use a ucd specific one. So, I've updated fcrepo-dev to include these. I have added our own hasAvailability flag, so a user looks like:

"@graph": [
{
"@id": "expert/LDdgBTXN",
...,
"hasAvailability": [
{
"@id": "ark:/87287/d7nh2m/keyword/c-ucd-avail/Join%20a%20web%20conference%20as%20a%20panellist%20or%20speaker",
"@type": "Concept",
"availabilityOf": "expert/LDdgBTXN",
"inScheme": "ark:/87287/d7nh2m/keyword/c-ucd-avail/",
"prefLabel": "Join a web conference as a panellist or speaker"
},
{
"@id": "ark:/87287/d7nh2m/keyword/c-ucd-avail/Teaching%20provision",
"@type": "Concept",
"availabilityOf": "expert/LDdgBTXN",
"inScheme": "ark:/87287/d7nh2m/keyword/c-ucd-avail/",
"prefLabel": "Teaching provision"
},
{
"@id": "ark:/87287/d7nh2m/keyword/c-ucd-avail/Community-engaged%20projects",
"@type": "Concept",
"availabilityOf": "expert/LDdgBTXN",
"inScheme": "ark:/87287/d7nh2m/keyword/c-ucd-avail/",
"prefLabel": "Community-engaged projects"
},
{
"@id": "ark:/87287/d7nh2m/keyword/c-ucd-avail/Collaborative%20projects",
"@type": "Concept",
"availabilityOf": "expert/LDdgBTXN",
"inScheme": "ark:/87287/d7nh2m/keyword/c-ucd-avail/",
"prefLabel": "Collaborative projects"
},

For display, only include the ones that have

"inScheme": "ark:/87287/d7nh2m/keyword/c-ucd-avail/",
qjhart commented 1 week ago

@UcDust Need to be in the qh-availability branch for this to display properly

UcDust commented 1 week ago

@qjhart @Vensberg

It looks like the list of availabilities in the api response are these:

"Join a web conference as a panellist or speaker"
"Teaching provision"
"Community-engaged projects"
"Collaborative projects"
"Media enquiries"
"Mentoring (long-term)"
"Career advice"
"Technical support"
"Masters Research or PhD student supervision"
"Mentoring (short-term)"
"Membership of an advisory committee"
"Industry Projects"

Does that look right? Also, is it likely that this data could change over time?

Vensberg commented 1 week ago

I changed "Community-engaged projects" to "Community partnerships" to be identical with the Aggie Experts wording.

We will be using only four of these Elements labels in Aggie Experts: Elements label Aggie Experts label
"Community partnerships" Community Partnerships
"Collaborative projects" Collaborative Projects
"Media enquiries" Media Interviews
"Industry Projects" Industry Projects
wrenaria commented 1 week ago

@Vensberg:

I changed "Community-engaged projects" to "Community partnerships" to be identical with the Aggie Experts wording.

Related to this, would you like to change "media interviews" to "media enquiries" in Aggie Experts so that we match the Elements label? Enquiries and interviews seem like equally fine words, so the consistency might be nice.

@UcDust: Since it's preferred that users make all desired availability selections prior to saving, the design has been changed to a modal solution. Tooltip hover on the Edit button should say "Edit availability."

In Figma, these pages are updated to reflect the change:

Screenshots from Figma: Display Profile View Editing Modal
Desktop Screenshot 2024-06-20 at 2 15 18 PM Screenshot 2024-06-20 at 2 15 45 PM
Mobile Screenshot 2024-06-20 at 2 14 28 PM Screenshot 2024-06-20 at 2 14 37 PM
UcDust commented 2 days ago

@Vensberg

When updating the availability labels, it's possible (hopefully not likely) that the update to CDL could fail.

If that happens, should we show a warning modal like we have a in a few other places? Would verbiage like this work for you?:

Updating expert availability labels could not be done through Aggie Experts right now. Please, try again later, or make changes directly in the UC Publication Management System.

Vensberg commented 2 days ago

That works, but can it redirect the user to to the editing interface of the Elements user profile in a new tab?

wrenaria commented 11 hours ago

@Vensberg Accessibility best practices is that links always open in the same window when possible to avoid loss of context. If you want links to open in a new tab, it needs to be explicitly stated that the link will open in a tab in order to avoid confusion. This is especially important for vision impaired users.

Generally if users want to use a new tab, they can make that decision manually (right-click, open in new tab or window).