1. Curator.java & CuratorResponse.java: Added field private boolean visible = true; to allow curators have a profile but not be visible in the Gateway.
2. CuratorService.java: In method "getCurators()" called by /{pid}/curator, return curators that have a profile and the profile is visible.
3. MenuAlignment.java: Enum created for menu alignment options.
4. Menu.java & MenuFull.java: Added field public MenuAlignment featuredAlignment = MenuAlignment.CENTER; to allow dynamic alignment of the Gateway custom menu.
5. MenuController.java: Added api method "alignMenu()" (/community/{pid}/menu/align), to change alignment of the custom menu.
6. MenuService.java: Added method "alignMenu()" | Set featuredAlignment field (default to "CENTER").
1. admintools.properties: Added property "admintool.cache.url".
2. BrowserCacheConfig.java: Added config for browser cache properties.
3. UoaAdminToolsApplication.java: In EnableConfigurationProperties added BrowserCacheConfig.
4. BrowserCacheController.java: Added class and method "purge()" (/cache/{pid}) for purging browser cache for a specific community.
1. pom.xml: Increased version.
2. LayoutDAO.java & MongoDBLayoutDAO.java: Updated return type of "findByPortalPid()" to be List<Layout>.
3. LayoutService.java: Updated all usages of "findByPortalPid()" | In "save()" method, if there is one existing Layout for this pid already, set id to update layout instead of saving a new one.
4. CommunityController.java: Added method "deleteLayoutForCommunity()" (DELETE /community/{pid}/layout).
5. ConnectController.java: Added methods for "connect" and "default" pids:
"getLayoutForConnect()" (GET /connect/{pid}/layout - no authorization), "updateLayoutForConnect()" (POST /connect/{pid}/layout), "deleteLayoutForConnect()" (DELETE /connect/{pid}/layout).
1. pom.xml: Updated version of admin-tools-library to 1.0.5 (used to be 1.0.4).
2. Added Menu.java, MenuFull.java, MenuDAO.java, MongoDBMenuDAO.java.
3. CommunityController.java: On method "deleteCommunities()", delete also dynamic Menus for these pids.
4. Renamed MenuItemController.java to MenuController.java & added or updated methods to get/save/delete/toggle Menu structure instead of MenuItems.
5. Renamed MenuItemService.java to MenuService.java & added or updated methods to get/save/delete Menu structure instead of MenuItems.
6. MenuItem.java & MenuItemFull.java: Added field "String target;" (values _self or _blank) & field "Boolean isFeatured = false;".
7. UoaAdminToolsApplicationTests.java: Added test for sending email.
8. Layout.java: Added field "Date date".
1. pom.xml:
a. Updated version of "uoa-admin-tools-library" from 1.0.1 to 1.0.2
b. Added <repositories> tag with http://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-releases url for released libraries.
2. GlobalVars.java: Added field "version" (version of project in pom).
3. AdminToolsCheckDeployController.java: Expose globalBars.version in /health_check/advanced.
4. admintools.properties: Added admintool.globalVars.version=@version@ (initialized by pom version).
1. pom.xml:
a. Added timestamp in properties.
b. In <build> added <resources> with filtering set to true.
2. GlobalVars.java: Added GlobalVars class for date of deploy & date of build.
3. UoaAdminToolsApplication.java:
a. Added @PropertySource("classpath:authorization.properties") and @PropertySource("classpath:admintoolslibrary.properties").
b. In @EnableConfigurationProperties added GlobalVars.class.
4. AdminToolsCheckDeployController.java: Added exposing date of deploy and date of build.
5. admintools.properties: Added property admintool.globalVars.buildDate=@timestamp@.
a. In function addPiwik(), add new communities (galaxy, gortriple, neanias-underwater, pending piwik: embrc).
b. New functions for footer divId & div helptexts (connect & communities): addFooterDivIdForConnect(), addFooterDivIdForCommunities(), addFooterHelpTextForConnect(), addFooterHelpTextForCommunities().
1. AdminToolsCheckDeployController.java:
a. In "hello()" method added @RequestMapping (except for existing ""), "/health_check".
b. Added method "checkEverything()" (/health_chech/advanced) only accessible by PORTAL ADMINS which checks connection with db and prints properties.
2. Layout.java: Commented all fields for layout configuration (e.g. mainColor, buttons,...) and added an Object layoutOptions which includes any required options.
1. CuratorResponse.java: Remove "email" field.
2. EmailController.java:
a.Replace methods "notifyNewManagers()" (/notifyForNewManagers/{pid}) and "notifyForNewSubscribers()" (/notifyForNewSuscribers/{pid})
with "notifyManagers()" (/notifyManagers/{pid}/{newRoleType}), where newRoleType is "manager" or "subscriber".
b. Method notifyManagers() finds manager emails by calling registry service - stop getting them from portals inside Email object.
1. pom.xml: Added dependency for spring security.
2. UoaAdminToolsApplication.java: Import AuthorizationConfiguration.class | Remove SecurityConfig.class from @EnableConfigurationProperties.
3. UoaAdminToolsConfiguration.java: Comment "addInterceptors()" method calling AuthorizationHandler with SecurityConfig.
4. SecurityConfig.java & AuthorizationHandler.java & AuthorizationUtils.java & CommunityInfo.java & UserInfo.java: Commented all contents of these files (files will be deleted in coming commit).
5. PortalSubscribersController.java: Comment imports from commeted files.
6. Notifications.java: Added field "aaiId" get getters and setters.
7. NotificationsController.java:
a. Method "getNotifications()" is replaced by "getNotificationsForUser()" (/community/{pid}/notifications) - returns notification settings only for user who made the request (uoa-authorization-li$
b. Path changed for method "getNotifications()": /community/{pid}/notifications/all
c. Remove "@RequestBody String email" parameter from method "deleteNotification()" - get email from user who made the request (uoa-authorization-library).
d. In method "saveNotification()" get aaiId and email from user who made the request (uoa-authorization-library).
e. Added checks and throw Exceptions in all methods.
f. Added @PreAuthorize
Portal Admins: "getNotifications()" (/community/{pid}/notifications/all)
Portal Admins - Curators - Managers: "getNotificationsForUser()" (/community/{pid}/notifications), "deleteNotification()" (/community/{pid}/notifications), "saveNotification()" (/communit$
8. ExploreController.java:
a. Added checks and throw Exceptions in all methods.
b. Added @PreAuthorize
Portal Admins: "updateExplore()" (/explore/update), "insertExplore()" (/explore/save), "deleteExplore()" (/explore/delete).
9. ConnectController.java:
a. Added checks and throw Exceptions in all methods.
b. Added @PreAuthorize
Portal Admins: "updateConnect()" (/connect/update), "insertConnect()" (/connect/save), "deleteConnect()" (/connect/delete).
c. Commented methods "getLayoutForConnect()" and "updateLayoutForConnect()" (/connect/{pid}/layout).
10. CommunityController.java:
a. Added checks and throw Exceptions in all methods.
b. Added @PreAuthorize
Portal Admins: "updateCommunity()" (/community/update), "insertCommunity()" (/community/save), "deleteCommunity()" (/community/delete).
Portal Admin - Curators - Managers: "updateLayoutForCommunity()" (/community/{pid}/layout).
11. CuratorController.java:
a. In "insertCurator() (/curator) set _id field with aaiId from user who made the request (uoa-authorization-library).
b. Added @PreAuthorize
Authenticated users: "getCuratorById()" (/curator/{id}), "insertCurator()" (/curator).
Portal Admins: "deleteCurators()" (/curator).