cancel
Showing results for 
Search instead for 
Did you mean: 

Hiding the 'Data Dictionary' space and sub-spaces.

theorbix
Confirmed Champ
Confirmed Champ
Hi,

Is there a way to hide the "Data Dictionary" space from the Company Home display?

If I have understood properly the concept, the subspaces contained under "Data Dictionary" contain a series of items that an Alfresco administrator can extend, adapt and customize.

But normal end users may be confused by seeing this entry in a list of "folders" that usually is more related to a business view of the corporate content: "Marketing materials, Human resources, IT Department docs, Products… and what the heck is this 'Data Dictionary' folder?" - I'm using the words of my secretary.

I assume that these are "system" spaces that can't be deleted or moved, but is there a way to hide them? Is it enough to change the security of the 'Data Dictionary' space and make it visible only to the Administrator user?
10 REPLIES 10

ale_carraro
Champ in-the-making
Champ in-the-making
Yes, just go to action 'Manage Space Users', remove EVERYONE, invite Administrator and remove the Inherit Parent Space Permissions check

the step of inviting Administrator is optional because Administrator can see everything (I suppose), but if you want to show the directory to someone else you have to invite him.

theorbix
Confirmed Champ
Confirmed Champ
Thanks…. will follow the steps you suggested.

Dario

xerox
Champ in-the-making
Champ in-the-making
We've made some custom views, stored in de data dictionary, So we can't put inheritance off for the datadictionary, because then the custom views don't work anymore.

So Is there an other way to make the DataDictionary invisible?

Friendly regards,
Nick

ale_carraro
Champ in-the-making
Champ in-the-making
Not sure if it works, but maybe you can try: put the Data Dictionary as explained, and invite users of the custom view explicitly.
The hope is that while common users can't see data dictionary, they still can access the resource

xerox
Champ in-the-making
Champ in-the-making
No, not working, so the data dictionary needs to stay visibleSmiley Sad

Another problem.
We made a space template and in those spaces we've already give groups certain rights, so when an users makes a space based on that template,the security rights are set correct immediately. But this means those groups have also rights in the spacetemplate itself. this shouldn't be.(problem 2.a)
Another thing, When a users makes that space with that template,the security settings of the template only goes with when that user has the coordinator role in the spaces of the spacetemplate(problem 2.b)

In my opinion users shouldn't see the datadictionary, I think this should be a special space or located in another space store or something like that. So that other users don't have rights in this space,but can use e.g. such a spacetemplate as my example in this post.

Someone with the same opinion,different opinion? or
Are there other reasons for this behaviour?

lascaux
Champ on-the-rise
Champ on-the-rise
Hi,

I already made the following configuration :
- make all spaces in Data Dictionary not to inherit from parent's permission
- invite everyone as consumer in Data Dictionary child spaces
- remove the permission of the data dictionary space

Users were still able to use templates and scripts without viewing the data dictionary space.

alexandra
Champ on-the-rise
Champ on-the-rise
I tried the recommendations in the previous post and it seem to work so regular user no  longer see the Data Dictionary folder.

However, I get this error when I go to my Company Home page where I have a custom script to show the recent docs in the repository.

javax.faces.FacesException: Transaction rolled back because it has been marked as rollback-only
caused by:
org.apache.jasper.JasperException: Transaction rolled back because it has been marked as rollback-only
caused by:
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only

Hide Details

javax.faces.FacesException: Transaction rolled back because it has been marked as rollback-only
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:613)
Caused by: org.apache.jasper.JasperException: Transaction rolled back because it has been marked as rollback-only
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
… 21 more

—————————————————————–

The script looks like this:


<#ftl strip_whitespace=true />
<#setting locale="en_US"/>
<#setting datetime_format="dd MMM yy, HH:mm">

<#if space?exists && space.hasPermission("Read")>

  <#assign spacePath = space.displayPath + "/" + space.name />
  <#assign fullSpacePath = space.displayPath + "/" + space.name + "/" />

  <#assign dateRangeBackMilliseconds = -1000*60*60*24*30 />
  <#assign endDate=date?string("yyyy\\-MM\\-dd") + "T00:00:00"/>
  <#assign startDate=incrementDate(date,dateRangeBackMilliseconds)?string("yyyy\\-MM\\-dd") + "T00:00:00"/>
  <#assign recentContentMaxCount = 20 />




  <#– recent content –>
  <h2 style="margin-bottom:0.2em;">Recently Created/Modified Content</h2>
  <script>var AlfNodeInfoMgr = new Alfresco.PanelManager("NodeInfoBean.sendNodeInfo", "noderef");</script>
  <table class="recordSet">
    <thead>
    <tr>
      <th style="padding:2px;text-align:left" class="recordSetHeader"><b>Content Item</b></th>
      <th style="padding:2px;text-align:left" class="recordSetHeader"><b>Location</b><#– <span style="font-weight:normal;">(${fullSpacePath})</span>–></th>
      <th style="padding:2px;text-align:left" class="recordSetHeader"><b>Date / Author</b></th>
    </tr>
    </thead>
    <tbody>
    <#list space.childrenByLuceneSearch["PATH:\"${space.qnamePath}//*\" AND TYPE:\"cm:content\" AND @cm\\:modified:[${startDate} TO ${endDate}] AND NOT @cm\\:title:\"*._*\""]?sort_by(['properties','cm:modified'])?reverse as child>
      <#if child_index = recentContentMaxCount><#break></#if>
      <#assign rowstyle="recordSetRow" />
      <#if (child_index % 2 = 1)>
      <#assign rowstyle="recordSetRowAlt" />
      <#else>
      <#assign rowstyle="recordSetRow" />
      </#if>
      <#if child.type != "{http://www.alfresco.org/model/forum/1.0}post">
        <#– content other than forum posts –>
        <tr class="${rowstyle}">
          <td style="padding:2px;text-align:left;padding-right:10px;"><a href="/alfresco${child.url}" target="_blank"><img src="/alfresco${child.icon16}" border=0></a> <a href="/alfresco${child.url}" target="_blank">${child.properties.name}</a>
            <span onclick="AlfNodeInfoMgr.toggle('${child.nodeRef}',this);"><img id="browse:col1-img" src="/alfresco/images/icons/popup.gif" height="16" width="16" class="popupImage" /></span></td>
          <td style="padding:2px;text-align:left;padding-right:10px;">
            ${child.displayPath}
            <#–
            <#if child.displayPath=spacePath>
              <a href="/alfresco${child.parent.url}">.</a>
            <#else>
              <a href="/alfresco${child.parent.url}">${child.displayPath?replace(fullSpacePath,"")}</a>
            </#if>
            –>
          </td>
          <td style="padding:2px;text-align:left"><nobr>${child.properties["cm:modified"]?datetime}</nobr>
             / ${child.properties["cm:modifier"]}
          </td>
        </tr>
      <#else>
        <#– forum posts –>
        <tr class="${rowstyle}">
          <td style="padding:2px;text-align:left;padding-right:10px;"><a href="/alfresco${child.parent.url}"><img src="/alfresco${child.parent.icon16}" border=0></a> <a href="/alfresco${child.parent.url}">post to &lsquo;${child.parent.properties.name}&rsquo;</a>
          <span onclick="AlfNodeInfoMgr.toggle('${child.nodeRef}',this);"><img id="browse:col1-img" src="/alfresco/images/icons/popup.gif" height="16" width="16" class="popupImage" /></span></td>
          <td style="padding:2px;text-align:left;padding-right:10px;">
            ${child.displayPath}
            <#–
            <a href="/alfresco${child.parent.parent.url}">${child.parent.displayPath?replace(fullSpacePath,"")}</a>
            –>
          </td>
          <td style="padding:2px;text-align:left"><nobr>${child.properties["cm:modified"]?datetime}</nobr>
             / ${child.properties["cm:modifier"]}
          </td>
        </tr>
      </#if>

    </#list>
  </tbody>
  </table>


</#if>


—————————————————————–


Would really appreciate any suggestions since both hiding Data Dictionary and having the custom script is important to increase the usability for our users….

rosemaryl
Champ in-the-making
Champ in-the-making
I was able to do this effectively as well, but while the Data Dictionary folder is no longer visible, if you do a search on the word "Scripts" you will be able to see some of the Data Dictionary child spaces.  Has anyone found a way to hide these elements from search results as well?  Thanks.

Hi,

I already made the following configuration :
- make all spaces in Data Dictionary not to inherit from parent's permission
- invite everyone as consumer in Data Dictionary child spaces
- remove the permission of the data dictionary space

Users were still able to use templates and scripts without viewing the data dictionary space.

theorbix
Confirmed Champ
Confirmed Champ
I was able to do this effectively as well, but while the Data Dictionary folder is no longer visible, if you do a search on the word "Scripts" you will be able to see some of the Data Dictionary child spaces.  Has anyone found a way to hide these elements from search results as well?  Thanks.

Rosemaryl, I agree with you: this is an annoying behaviour. In my opinion, the content of the Data Dictionary folder should be considered a sort of "system folder", and should not be listed as a result of a search.

Unfortunately, I've no idea about how to do this… is there a way to configure Lucene asking not to index a set of spaces and subspaces? Does anybody know? And is this the right approach, or there is the risk of side effects?

By the way, I do believe that the default settings of the Alfresco repository should be modified, so once the repository is created, the ACLs on the Data Dictionary space should be *automatically* configured to "hide" this system space to normal users…
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.