UGC 5

Sophora UGC Update Notes

Instructions for updating from the previous Sophora version.

UGC Service

VersionTimingChanges
5.0.0This must be done before UGC is started for the first time in version 5.Several deprecated API endpoints that used the externalId or the username as parameters have been removed.
The new API endpoints require the sophoraId instead of the externalId and are marked by a trailing /bySophoraId. These endpoints have been existing prior to Sophora 5 so that adjustments can be done before the update.
Instead of username, it is now required to use the externalUserId.
Please note: If the ugc submitter and the ugc taglib are used, it is absolutely necessary to use these modules in version 5 due to this adjustment.
5.0.0After the update to UGC 5.0.0There are slight changes in the URL paths of the UGC Webapp due to an update of libraries used by the UGC Webapp frontend. The fragment separator #! is not needed anymore. Therefore paths like https://<hostname>:<port>/#!/comments change to https://<hostname>:<port>/comments.
5.0.0After the update to UGC 5.0.0You need to change the URL field in the UGC related tab documents. Otherwise some tabs of UGC specific documents won't be displayed correctly. In the URL field, replace every occurence of ${sophora:externalId} with ${sophora:id}. Additionally, you need to remove the #! from the URL. For example:
localhost:9080/#!/comments/${sophora:externalId}?nav=false
should be changed to
localhost:9080/comments/${sophora:id}?nav=false

If you don't want to change every tab document manually, you can reimport the tab documents that are included in the ugc-5.*.*-sophora.zip as part of the release and are located in the folder 06_tabdocuments.
5.0.0After the update to UGC 5.0.0The prior deprecated configuration property group double-opt-in.transport has been removed. Please use email.transport instead. Consult the UGC Webapp documentation page for details on the configuration.
Removed API endpointsNew API endpoints
/comments/{externalId}/simple/comments/{sophoraId}/simple/bySophoraId
/comments/{externalId}/pinned/comments/{sophoraId}/pinned/bySophoraId
/comments/{externalId}/all/comments/{sophoraId}/all/bySophoraId
/commentTemplates/delete/{externalId}/commentTemplates/deleteBySophoraId/{sophoraId}
/quizzes/{externalId}/updatecalculation/quizzes/{sophoraId}/updatecalculation/bySophoraId
/votings/{externalId}/votingitems/votings/{sophoraId}/votingitems/bySophoraId
/votings/{externalId}/report/votings/{sophoraId}/report/bySophoraId
/votings/{externalId}/report/xls/votings/{sophoraId}/report/bySophoraId/xls
/votings/{externalId}/resetreport/votings/{sophoraId}/resetreport/bySophoraId
/legacyratings/{externalId}/legacyratings/bySophoraId/{sophoraId}
/ratings/findDocument/{id}/ratings/findDocument/bySophoraId/{sophoraId}
for /imageUploads and /comments:
/byUsername/{username}/byExternalUserId/{externalUserId}
/{externalId}/reclassify/{sophoraId}/reclassify/bySophoraId
/approveByFilter/approveByFilter/bySophoraId
/denyByFilter/denyByFilter/bySophoraId
/deleteByFilter/deleteByFilter/bySophoraId
/deletePermanentlyByUsers/{username}/deletePermanentlyByUserId
/deletePermanentlyByUsers/deletePermanentlyByUserIds
/checkCategory/{externalId}/checkCategory/bySophoraId{sophoraId}
for /quizzes and /votings:
/{externalId}/bySophoraId/{sophoraId}
/{externalId}/participants/{sophoraId}/participants/bySophoraId
/{externalId}/participants/paged/{sophoraId}/participants/bySophoraId/paged
/{externalId}/participants/isAvailable/{sophoraId}/participants/bySophoraId/isAvailable
/{externalId}/participants/xls/{sophoraId}/participants/bySophoraId/xls
/{externalId}/columnheaders/{sophoraId}/columnheaders/bySophoraId
/{externalId}/random/{number}/{sophoraId}/random/bySophoraId/{number}
/{externalId}/reset/{sophoraId}/reset/bySophoraId
for /comments, /imageUploads and /ratings:
/{externalId}/random/{number}/{sophoraId}/random/bySophoraId/{number}

Last modified on 1/19/21

The content of this page is licensed under the CC BY 4.0 License. Code samples are licensed under the MIT License.

Icon