Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivHelpContentDAO.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivHelpContentDAO.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivHelpContentDAO.java	(revision 50613)
@@ -0,0 +1,19 @@
+package eu.dnetlib.uoaadmintools.dao;
+
+import eu.dnetlib.uoaadmintools.entities.DivHelpContent;
+
+import java.util.List;
+
+public interface DivHelpContentDAO {
+    List<DivHelpContent> findAll();
+
+    List<DivHelpContent> findByDivId(String divId);
+
+    DivHelpContent findById(String Id);
+
+    DivHelpContent save(DivHelpContent divHelpContent);
+
+    void deleteAll();
+
+    void delete(String id);
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivHelpContentDAO.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivHelpContentDAO.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivHelpContentDAO.java	(revision 50613)
@@ -0,0 +1,20 @@
+package eu.dnetlib.uoaadmintools.dao;
+
+import eu.dnetlib.uoaadmintools.entities.DivHelpContent;
+import org.springframework.data.mongodb.repository.MongoRepository;
+
+import java.util.List;
+
+public interface MongoDBDivHelpContentDAO extends DivHelpContentDAO, MongoRepository<DivHelpContent, String> {
+    List<DivHelpContent> findAll();
+
+    List<DivHelpContent> findByDivId(String divId);
+
+    DivHelpContent findById(String Id);
+
+    DivHelpContent save(DivHelpContent divHelpContent);
+
+    void deleteAll();
+
+    void delete(String id);
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivIdDAO.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivIdDAO.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/DivIdDAO.java	(revision 50613)
@@ -0,0 +1,20 @@
+package eu.dnetlib.uoaadmintools.dao;
+
+import eu.dnetlib.uoaadmintools.entities.DivId;
+
+import java.util.List;
+
+public interface DivIdDAO {
+    List<DivId> findAll();
+
+    List<DivId> findByCommunity(String community);
+    List<DivId> findByCommunityAndPage(String community, String page);
+
+    DivId findById(String Id);
+
+    DivId save(DivId divId);
+
+    void deleteAll();
+
+    void delete(String id);
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivIdDAO.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivIdDAO.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/dao/MongoDBDivIdDAO.java	(revision 50613)
@@ -0,0 +1,21 @@
+package eu.dnetlib.uoaadmintools.dao;
+
+import eu.dnetlib.uoaadmintools.entities.DivId;
+import org.springframework.data.mongodb.repository.MongoRepository;
+
+import java.util.List;
+
+public interface MongoDBDivIdDAO extends DivIdDAO, MongoRepository<DivId, String> {
+    List<DivId> findAll();
+
+    List<DivId> findByCommunity(String community);
+    List<DivId> findByCommunityAndPage(String community, String page);
+
+    DivId findById(String Id);
+
+    DivId save(DivId divId);
+
+    void deleteAll();
+
+    void delete(String id);
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivId.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivId.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivId.java	(revision 50613)
@@ -0,0 +1,49 @@
+package eu.dnetlib.uoaadmintools.entities;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.springframework.data.annotation.Id;
+
+public class DivId {
+    @Id
+    @JsonProperty("_id")
+    private String id;
+
+    private String name;
+    private String page;
+    private String community;
+
+    public DivId() {
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPage() {
+        return page;
+    }
+
+    public void setPage(String page) {
+        this.page = page;
+    }
+
+    public String getCommunity() {
+        return community;
+    }
+
+    public void setCommunity(String community) {
+        this.community = community;
+    }
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivHelpContentResponse.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivHelpContentResponse.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivHelpContentResponse.java	(revision 50613)
@@ -0,0 +1,52 @@
+package eu.dnetlib.uoaadmintools.entities;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.springframework.data.annotation.Id;
+
+public class DivHelpContentResponse {
+    @Id
+    @JsonProperty("_id")
+    private String id;
+
+    private DivIdResponse divId;
+    private String content;
+    private boolean isActive = true;
+
+    public DivHelpContentResponse(DivHelpContent divHelpContent) {
+        this.id = divHelpContent.getId();
+        this.content = divHelpContent.getContent();
+        this.isActive = divHelpContent.getIsActive();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public DivIdResponse getDivId() {
+        return divId;
+    }
+
+    public void setDivId(DivIdResponse divId) {
+        this.divId = divId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public boolean getIsActive() {
+        return isActive;
+    }
+
+    public void setIsActive(boolean isActive) {
+        this.isActive = isActive;
+    }
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivIdResponse.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivIdResponse.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivIdResponse.java	(revision 50613)
@@ -0,0 +1,51 @@
+package eu.dnetlib.uoaadmintools.entities;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.springframework.data.annotation.Id;
+
+public class DivIdResponse {
+    @Id
+    @JsonProperty("_id")
+    private String id;
+
+    private String name;
+    private Page page;
+    private Community community;
+
+    public DivIdResponse(DivId divId) {
+        this.id = divId.getId();
+        this.name = divId.getName();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Page getPage() {
+        return page;
+    }
+
+    public void setPage(Page page) {
+        this.page = page;
+    }
+
+    public Community getCommunity() {
+        return community;
+    }
+
+    public void setCommunity(Community community) {
+        this.community = community;
+    }
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivHelpContent.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivHelpContent.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/entities/DivHelpContent.java	(revision 50613)
@@ -0,0 +1,49 @@
+package eu.dnetlib.uoaadmintools.entities;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.springframework.data.annotation.Id;
+
+public class DivHelpContent {
+    @Id
+    @JsonProperty("_id")
+    private String id;
+
+    private String divId;
+    private String content;
+    private boolean isActive = true;
+
+    public DivHelpContent() {
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDivId() {
+        return divId;
+    }
+
+    public void setDivId(String divId) {
+        this.divId = divId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public boolean getIsActive() {
+        return isActive;
+    }
+
+    public void setIsActive(boolean isActive) {
+        this.isActive = isActive;
+    }
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivIdController.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivIdController.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivIdController.java	(revision 50613)
@@ -0,0 +1,143 @@
+package eu.dnetlib.uoaadmintools.controllers;
+
+import com.sun.org.apache.xpath.internal.operations.Div;
+import eu.dnetlib.uoaadmintools.dao.CommunityDAO;
+import eu.dnetlib.uoaadmintools.dao.DivIdDAO;
+import eu.dnetlib.uoaadmintools.dao.PageDAO;
+import eu.dnetlib.uoaadmintools.entities.DivId;
+import eu.dnetlib.uoaadmintools.entities.DivIdResponse;
+import eu.dnetlib.uoaadmintools.entities.Page;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+@CrossOrigin(origins = "*")
+public class DivIdController {
+    private final Logger log = Logger.getLogger(this.getClass());
+
+    @Autowired
+    private DivIdDAO divIdDAO;
+
+    @Autowired
+    private CommunityDAO communityDAO;
+
+    @Autowired
+    private PageDAO pageDAO;
+
+    DivIdController() {}
+
+    @RequestMapping(value = "/div", method = RequestMethod.GET)
+    public List<DivId> getDivIds(@RequestParam(required = false) String community,
+                                    @RequestParam(required = false) String page) {
+        List<DivId> divIds = null;
+        if(community != null && page != null) {
+            String communityId = communityDAO.findByPid(community).getId();
+            divIds = divIdDAO.findByCommunityAndPage(communityId, page);
+        } else if(community != null) {
+            String communityId = communityDAO.findByPid(community).getId();
+            divIds = divIdDAO.findByCommunity(communityId);
+        } else {
+            divIds = divIdDAO.findAll();
+        }
+        return divIds;
+    }
+
+    @RequestMapping(value = "/divFull", method = RequestMethod.GET)
+    public List<DivIdResponse> getDivIdsFull(@RequestParam(required = false) String community,
+                                             @RequestParam(required = false) String page) {
+
+        List<DivId> divIds = this.getDivIds(community, page);
+
+        List<DivIdResponse> divIdResponses = new ArrayList<>();
+        for(DivId divId : divIds) {
+            DivIdResponse divIdResponse = new DivIdResponse(divId);
+            divIdResponse.setCommunity(communityDAO.findById(divId.getCommunity()));
+            divIdResponse.setPage(pageDAO.findById(divId.getPage()));
+
+            divIdResponses.add(divIdResponse);
+        }
+
+        return divIdResponses;
+    }
+
+    @RequestMapping(value = "/div/{id}", method = RequestMethod.GET)
+    public DivId getDivId(@PathVariable(value = "id") String id) {
+        return divIdDAO.findById(id);
+    }
+
+    @RequestMapping(value = "/divFull/{id}", method = RequestMethod.GET)
+    public DivIdResponse getDivIdFull(@PathVariable(value = "id") String id) {
+        DivId divId = divIdDAO.findById(id);
+        DivIdResponse divIdResponse = new DivIdResponse(divId);
+        divIdResponse.setCommunity(communityDAO.findById(divId.getCommunity()));
+        divIdResponse.setPage(pageDAO.findById(divId.getPage()));
+        return divIdResponse;
+    }
+
+    @RequestMapping(value = "/div", method = RequestMethod.DELETE)
+    public void deleteAllDivIds() {
+        divIdDAO.deleteAll();
+    }
+
+    @RequestMapping(value = "/div/save", method = RequestMethod.POST)
+    public DivIdResponse insertDivId(@RequestBody DivId divId) {
+        String community_id = communityDAO.findByPid(divId.getCommunity()).getId();
+        divId.setCommunity(community_id);
+        divIdDAO.save(divId);
+        return this.getDivIdFull(divId.getId());
+    }
+
+    @RequestMapping(value = "/div/update", method = RequestMethod.POST)
+    public DivIdResponse updateDivId(@RequestBody DivIdResponse divIdResponse) {
+        DivId divId = divIdDAO.findById(divIdResponse.getId());
+        divId.setName(divIdResponse.getName());
+        divId.setPage(divIdResponse.getPage().getId());
+        divIdDAO.save(divId);
+        return divIdResponse;
+    }
+
+    @RequestMapping(value = "/div/delete", method = RequestMethod.POST)
+    public Boolean deleteDivIds(@RequestBody List<String> divIds) throws Exception {
+        for (String id: divIds) {
+            divIdDAO.delete(id);
+        }
+        return true;
+    }
+
+    @RequestMapping(value = "/div/{id}", method = RequestMethod.DELETE)
+    public void deleteDivId(@PathVariable(value = "id") String id) {
+        divIdDAO.delete(id);
+    }
+
+    @RequestMapping(value = "/div/pages", method = RequestMethod.GET)
+    public Map<String, Set<String>> getDivIdsPages(@RequestParam(required = false) String community) {
+        List<DivId> divIds = null;
+        Map<String, Set<String>> hasCommunityPageDivIds = new HashMap<>();
+        if(community != null) {
+            String communityId = communityDAO.findByPid(community).getId();
+            divIds = divIdDAO.findByCommunity(communityId);
+        } else {
+            divIds = divIdDAO.findAll();
+        }
+
+        for(DivId divId : divIds) {
+            String communityPid;
+            if(community == null) {
+                communityPid = communityDAO.findById(divId.getCommunity()).getPid();
+            } else {
+                communityPid = community;
+            }
+
+            if(hasCommunityPageDivIds.containsKey(communityPid)) {
+                hasCommunityPageDivIds.get(communityPid).add(divId.getPage());
+            } else {
+                hasCommunityPageDivIds.put(communityPid, new HashSet<>());
+                hasCommunityPageDivIds.get(communityPid).add(divId.getPage());
+            }
+        }
+        return hasCommunityPageDivIds;
+    }
+}
Index: modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivHelpContentController.java
===================================================================
--- modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivHelpContentController.java	(nonexistent)
+++ modules/uoa-admin-tools/src/main/java/eu/dnetlib/uoaadmintools/controllers/DivHelpContentController.java	(revision 50613)
@@ -0,0 +1,99 @@
+package eu.dnetlib.uoaadmintools.controllers;
+
+import eu.dnetlib.uoaadmintools.dao.CommunityDAO;
+import eu.dnetlib.uoaadmintools.dao.DivHelpContentDAO;
+import eu.dnetlib.uoaadmintools.dao.DivIdDAO;
+import eu.dnetlib.uoaadmintools.dao.PageDAO;
+import eu.dnetlib.uoaadmintools.entities.*;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@CrossOrigin(origins = "*")
+public class DivHelpContentController {
+    private final Logger log = Logger.getLogger(this.getClass());
+
+    @Autowired
+    DivIdController divIdController;
+
+    @Autowired
+    private DivHelpContentDAO divHelpContentDAO;
+
+    @Autowired
+    private DivIdDAO divIdDAO;
+
+    @Autowired
+    private PageDAO pageDAO;
+
+    @Autowired
+    private CommunityDAO communityDAO;
+
+    @RequestMapping(value = "/divhelpcontent", method = RequestMethod.GET)
+    public List<DivHelpContentResponse> getDivHelpContents(@RequestParam(required = false) String community,
+                                                           @RequestParam(required = false) String page,
+                                                           @RequestParam(required = false) String active) {
+        List<DivHelpContentResponse> divHelpContentResponses = new ArrayList<>();
+        List<DivIdResponse> divIdResponses = null;
+
+        if(community != null) {
+            divIdResponses = divIdController.getDivIdsFull(community, null);
+        } else {
+            divIdResponses = divIdController.getDivIdsFull(null, null);
+        }
+
+        for(DivIdResponse divIdResponse : divIdResponses) {
+            if(page == null || divIdResponse.getPage().getRoute().equals(page)) {
+                List<DivHelpContent> divHelpContents = divHelpContentDAO.findByDivId(divIdResponse.getId());
+
+                for (DivHelpContent divHelpContent : divHelpContents) {
+                    if(active == null || Boolean.parseBoolean(active) == divHelpContent.getIsActive()) {
+                        DivHelpContentResponse divHelpContentResponse = new DivHelpContentResponse(divHelpContent);
+                        divHelpContentResponse.setDivId(divIdResponse);
+                        divHelpContentResponses.add(divHelpContentResponse);
+                    }
+                }
+            }
+        }
+
+        return divHelpContentResponses;
+    }
+
+    @RequestMapping(value = "/divhelpcontent/{id}", method = RequestMethod.GET)
+    public DivHelpContent getDivHelpContent(@PathVariable(value = "id") String id) {
+        return divHelpContentDAO.findById(id);
+    }
+
+    @RequestMapping(value = "/divhelpcontent", method = RequestMethod.POST)
+    public DivHelpContent insertOrUpdateDivHelpContent(@RequestBody DivHelpContent divHelpContent) {
+        return divHelpContentDAO.save(divHelpContent);
+    }
+
+    @RequestMapping(value = "/divhelpcontent/{id}", method = RequestMethod.DELETE)
+    public void deleteDivHelpContent(@PathVariable(value = "id") String id) {
+        divHelpContentDAO.delete(id);
+    }
+
+    @RequestMapping(value = "/divhelpcontent/delete", method = RequestMethod.POST)
+    public Boolean deleteDivHelpContents(@RequestBody List<String> divHelpContents) throws Exception {
+        for (String id: divHelpContents) {
+            divHelpContentDAO.delete(id);
+        }
+        return true;
+    }
+
+    @RequestMapping(value = "/divhelpcontent/toggle", method = RequestMethod.POST)
+    public List<String> toggleDivHelpContent(@RequestBody List<String> divHelpContents, @RequestParam String status) throws Exception {
+        for (String id: divHelpContents) {
+            log.debug("Id of divHelpContent: "+id);
+            DivHelpContent divHelpContent = divHelpContentDAO.findById(id);
+            divHelpContent.setIsActive(Boolean.parseBoolean(status));
+            divHelpContentDAO.save(divHelpContent);
+        }
+        return divHelpContents;
+    }
+
+}
