Background
PersonDetailComponent at /content/detail/person/:id is shipped (#99 closed) and renders the four authored/reviewed pathways/reactions sections correctly — those REST endpoints already return 200 on dev/beta (content-service add-content-page-endpoints branch, staged in tomcat here).
The missing piece is the ORCID-authenticated "Claim Your Work" flow that the old Joomla person page surfaced. This is contributor-facing functionality that must come across before we can fully retire the Joomla page.
Backend status (already done, in ~/git/content-service branch add-content-page-endpoints)
- New
org.reactome.server.orcid.* package (32 files: controllers, dao, domain, exception, util) — verbatim port from ~/git/data-content.
OrcidInterceptorConfig registers /orcid/** path interceptor.
HostnameUtil.matchesHostname(...) replaces the old WebUtils dependency.
- Two view-rendering endpoints converted to JSON (content-service has no JSP support):
OrcidController.autoFillContactForm → ShareYourOrcidPayload
OrcidAuthorizationFlow.callback → CallbackResult
- OAuth callback path moved from
/content/orcid/callback → /ContentService/orcid/callback.
service.properties now reads orcid.{client.id,client.secret,auth.baseurl,api.baseurl,server} and captcha.site.key from the Reactome-Server maven profile.
Frontend work (this issue)
Add a "Claim Your Work" button group to PersonDetailComponent:
- On mount, call
GET /ContentService/orcid/authenticated to check sign-in state.
- If not signed in, render a "Sign in with ORCID" button that redirects to
/ContentService/orcid/login (server-side redirect to orcid.org).
- Once authenticated, render four claim buttons (or one "Claim All"):
POST /ContentService/orcid/claim/pa — pathways authored
POST /ContentService/orcid/claim/pr — pathways reviewed
POST /ContentService/orcid/claim/ra — reactions authored
POST /ContentService/orcid/claim/rr — reactions reviewed
POST /ContentService/orcid/claim/all — all four
- Body:
{ personId: <stId or dbId> }
- Surface the returned
ClaimingSummary (total / executed / errors) to the user.
Pre-deploy prerequisites
- Build + redeploy content-service WAR (
mvn clean package -P Reactome-Server -DskipTests) on the host serving this site.
- Register the new redirect_uri
/ContentService/orcid/callback in the ORCID dev console — without this, the login round-trip will fail.
- Note
OrcidServerInterceptor 404s /orcid/** unless the local hostname matches ${orcid.server} (currently reactome.org). To exercise on dev/beta, override that property or strip the hostname check temporarily.
Background
PersonDetailComponentat/content/detail/person/:idis shipped (#99 closed) and renders the four authored/reviewed pathways/reactions sections correctly — those REST endpoints already return 200 on dev/beta (content-serviceadd-content-page-endpointsbranch, staged in tomcat here).The missing piece is the ORCID-authenticated "Claim Your Work" flow that the old Joomla person page surfaced. This is contributor-facing functionality that must come across before we can fully retire the Joomla page.
Backend status (already done, in
~/git/content-servicebranchadd-content-page-endpoints)org.reactome.server.orcid.*package (32 files: controllers, dao, domain, exception, util) — verbatim port from~/git/data-content.OrcidInterceptorConfigregisters/orcid/**path interceptor.HostnameUtil.matchesHostname(...)replaces the oldWebUtilsdependency.OrcidController.autoFillContactForm→ShareYourOrcidPayloadOrcidAuthorizationFlow.callback→CallbackResult/content/orcid/callback→/ContentService/orcid/callback.service.propertiesnow readsorcid.{client.id,client.secret,auth.baseurl,api.baseurl,server}andcaptcha.site.keyfrom theReactome-Servermaven profile.Frontend work (this issue)
Add a "Claim Your Work" button group to
PersonDetailComponent:GET /ContentService/orcid/authenticatedto check sign-in state./ContentService/orcid/login(server-side redirect to orcid.org).POST /ContentService/orcid/claim/pa— pathways authoredPOST /ContentService/orcid/claim/pr— pathways reviewedPOST /ContentService/orcid/claim/ra— reactions authoredPOST /ContentService/orcid/claim/rr— reactions reviewedPOST /ContentService/orcid/claim/all— all four{ personId: <stId or dbId> }ClaimingSummary(total / executed / errors) to the user.Pre-deploy prerequisites
mvn clean package -P Reactome-Server -DskipTests) on the host serving this site./ContentService/orcid/callbackin the ORCID dev console — without this, the login round-trip will fail.OrcidServerInterceptor404s/orcid/**unless the local hostname matches${orcid.server}(currentlyreactome.org). To exercise on dev/beta, override that property or strip the hostname check temporarily.