01-31-2023 05:02 AM
Hi guys,
I have followed the following guide https://angelborroy.wordpress.com/2017/12/28/how-to-create-a-site-for-alfresco-using-java-api/
In doing so i got an empty dashboard after setting some user permissions.
private void createDefaultDashboard(SiteInfo siteInfo) {
behaviourFilter.disableBehaviour(ContentModel.TYPE_CONTENT);
NodeService nodeService = serviceRegistry.getNodeService();
NodeService nodeService = serviceRegistry.getNodeService();
FileFolderService fileFolderService = serviceRegistry.getFileFolderService();
ContentService contentService = serviceRegistry.getContentService();
FileInfo surfConfig = fileFolderService.create(siteInfo.getNodeRef(), "surf-config", ContentModel.TYPE_FOLDER);
Map<QName, Serializable> properties = new HashMap<QName, Serializable>();
properties.put(ContentModel.PROP_CASCADE_HIDDEN, Boolean.TRUE);
properties.put(ContentModel.PROP_CASCADE_INDEX_CONTROL, Boolean.TRUE);
nodeService.addAspect(surfConfig.getNodeRef(), ContentModel.ASPECT_HIDDEN, properties);
// Hint from Bertrand Forest
properties = new HashMap<QName, Serializable>();
properties.put(ContentModel.PROP_IS_INDEXED, Boolean.FALSE);
properties.put(ContentModel.PROP_IS_CONTENT_INDEXED, Boolean.FALSE);
nodeService.addAspect(surfConfig.getNodeRef(), ContentModel.ASPECT_INDEX_CONTROL, properties);
FileInfo pages = fileFolderService.create(surfConfig.getNodeRef(), "pages", ContentModel.TYPE_FOLDER);
FileInfo site = fileFolderService.create(pages.getNodeRef(), "site", ContentModel.TYPE_FOLDER);
FileInfo siteName = fileFolderService.create(site.getNodeRef(), siteInfo.getShortName(), ContentModel.TYPE_FOLDER);
Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
props.put(ContentModel.PROP_NAME, "dashboard.xml");
NodeRef node = nodeService.createNode(
siteName.getNodeRef(),
ContentModel.ASSOC_CONTAINS,
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "dashboard.xml"),
ContentModel.TYPE_CONTENT,
props).getChildRef();
ContentWriter writer = contentService.getWriter(node, ContentModel.PROP_CONTENT, true);
writer.setMimetype(MimetypeMap.MIMETYPE_XML);
writer.setEncoding("UTF-8");
// TODO Create dashboard.xml file by using an external file resource instead of a hand-coded String
writer.putContent("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<page>\n" +
" <title>Collaboration Site Dashboard</title>\n" +
" <title-id>page.siteDashboard.title</title-id>\n" +
" <description>Collaboration site's dashboard page</description>\n" +
" <description-id>page.siteDashboard.description</description-id>\n" +
" <authentication>user</authentication>\n" +
" <template-instance>dashboard-2-columns-wide-left</template-instance>\n" +
" <properties>\n" +
" <sitePages>[{\"pageId\":\"dashboard\"},{\"pageId\": \"documentlibrary\"}]</sitePages>\n" +
" <theme/><dashboardSitePage>true</dashboardSitePage></properties>\n" +
" <page-type-id>generic</page-type-id></page>");
}Now i want to add Dashlets to the created site-dashboard.Explore our Alfresco products with the links below. Use labels to filter content by product module.