Story #14343

Updated by Tom Morris almost 3 years ago

Write a wiki page documenting on showing how to implement public favorite projects listings using the existing APIs after first verifying that this will actually work.

The proposed implementation includes using 'star' class links with @owner_uuid@ being the 'all users' group's UUID (@{prefix}-j7d0g-fffffffffffffff@). This will be managed by admin users (and only admins), but should be queryable by any user.

Provide examples using the @arv@ tool or and also @curl@ for creating/listing favorites which can be used as templates for the Javascript programmers implementing Workbench 2.

As a starting point, here are the calls that they are using for the existing per-user favorites which can be updated to show how they'd work for the system-wide favorites:

Create - POST to with body of

href: "/links/c97qk-o0j2j-qbcemd2n5ze7ac8", kind: "arvados#link", etag: "a1x2k55z2q6ssqacdkw9v2m64",…}
created_at: "2018-12-06T19:10:18.927990983Z"
etag: "a1x2k55z2q6ssqacdkw9v2m64"
head_kind: "arvados#group"
head_uuid: "c97qk-j7d0g-3tw2wchv9k86rnh"
href: "/links/c97qk-o0j2j-qbcemd2n5ze7ac8"
kind: "arvados#link"
link_class: "star"
modified_at: "2018-12-06T19:10:18.928343000Z"
modified_by_client_uuid: "c97qk-ozdt8-2bnm5ya20rzs78u"
modified_by_user_uuid: "c97qk-tpzed-4gq939sjwtbvwd7"
name: "Top"
owner_uuid: "c97qk-tpzed-4gq939sjwtbvwd7"
properties: {}
tail_kind: "arvados#user"
tail_uuid: "c97qk-tpzed-4gq939sjwtbvwd7"
uuid: "c97qk-o0j2j-qbcemd2n5ze7ac8"

Listing - GET of[[%22head_uuid%22,%22is_a%22,[%22arvados%23group%22,%22arvados%23containerRequest%22,%22arvados%23collection%22]],[%22tail_uuid%22,%22%3D%22,%22c97qk-tpzed-4gq939sjwtbvwd7%22],[%22link_class%22,%22%3D%22,%22star%22]]&order=name+asc