Nascondere parte del Menu

cancel
Showing results for 
Search instead for 
Did you mean: 
lt86
Member II

Nascondere parte del Menu

BuonDì a tutti
Perdonatemi, ma sto muovendo i primi passi con Alfresco e dopo aver cercato invano questo
argomento ho scelto di aprire questo nuovo topic…

Vorrei poter nascondere parte del menu presentato di default da Alfresco a tutti gli utenti (manager, contributori, ecc)
nascondere quindi agli utenti collaboratori, contributori e consumatori le icone/pulsanti: "Persone", "Repository" e "Segue"
posti in alto di ogni pagina di Alfresco…
E' possibile nasconderli solo a questi utenti e renderli visibili solo all'utente admin ed agli utenti classificati come "manager"?

Fatemi sapere….

Grazie
6 Replies
gulyken
Member II

Re: Nascondere parte del Menu

Ciao, io ho adottato questa soluzione:

In share-config-custom.xml ho aggiunto dentro gli <app-items> l'attributo "condition = userIsSiteManager"

<app-items>
            <!– defaults: icon="{id}.png" label="header.{id}.label" description="header.{id}.description"  –>
            <item type="link" id="my-dashboard" condition="userIsSiteManager">{userdashboardpage}</item>
            <item type="js" id="sites" condition="userIsSiteManager">Alfresco.module.Sites</item>
            <item type="link" id="people" condition="userIsSiteManager">/people-finder</item>
            <item type="link" id="repository" condition="conditionRepositoryRootNode">/repository</item>
           <item type="container" id="more" condition="userIsSiteManager">
           

Mentre nel in header.get.js ho aggiunto un pezzo alla alla fine della funzione getUserStatus()

/**
* User Status
*/
function getUserStatus()
{
   var userStatus = msg.get("status.default"),
      userStatusTime = "";
  
   if (user.properties["userStatus"] != null)
   {
      userStatus = user.properties["userStatus"];
   }
   if (user.properties["userStatusTime"] != null)
   {
      userStatusTime = user.properties["userStatusTime"];
   }
  
   model.userStatus = userStatus;
   model.userStatusTime = userStatusTime;
  
   /////////
   // Aggiunto per nascondere o meno i pulsanti dell'header
   // Call the repository to see if the user is site manager or not
   model.userIsSiteManager = false,

   json = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships/" + encodeURIComponent(user.name));
   if (json.status == 200)
   {
      var obj = eval('(' + json + ')');
      if (obj)
      {
         model.userIsSiteManager = obj.role == "SiteManager";
      }
   }
   //////////////
}

Per il pulsante "Repository" che ha già una condition, ho modificato il file header.inc.ftl

<#assign conditionRepositoryRootNode = (((config.scoped["RepositoryLibrary"]["root-node"].getValue())!"") != "") && userIsSiteManager>

Spero di esserti stato utile!

Guglielmo
lt86
Member II

Re: Nascondere parte del Menu

Perdonami, ma sono alle prime armi…
Ho Alfresco Community v4.0.0 (7) schema 5025 e nel file "share-config-custom.xml" che mi hai segnalato
(l'ho trovato nella directory: C:\Alfresco\tomcat\shared\classes\alfresco\web-extension\
non trovo la sezione "<app-items>" che mi indicavi… Ecco di seguito il contenuto del mio file "share-config-custom.xml"
dove devo aggiungere l'attributo?

<alfresco-config>
   <!– Repository Library config section –>
   <config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
      <!–
         Whether the link to the Repository Library appears in the header component or not.
      –>
      <visible>true</visible>
   </config>
   <config evaluator="string-compare" condition="Remote">
      <remote>
         <endpoint>
            <id>alfresco-noauth</id>
            <name>Alfresco - unauthenticated access</name>
            <description>Access to Alfresco Repository WebScripts that do not require authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
            <identity>none</identity>
         </endpoint>
         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
            <identity>user</identity>
         </endpoint>
         <endpoint>
            <id>alfresco-feed</id>
            <name>Alfresco Feed</name>
            <description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
            <connector-id>http</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
            <basic-auth>true</basic-auth>
            <identity>user</identity>
         </endpoint>
         <endpoint>
            <id>activiti-admin</id>
            <name>Activiti Admin UI - user access</name>
            <description>Access to Activiti Admin UI, that requires user authentication</description>
            <connector-id>activiti-admin-connector</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/activiti-admin</endpoint-url>
            <identity>user</identity>
         </endpoint>
      </remote>
   </config>
</alfresco-config>

Scusami ancora, ma sono davvero alle prime armi…
Grazie
lt86
Member II

Re: Nascondere parte del Menu

Vi prego potete dirmi dove trovare la sezione "<app-items>"?
Devo aggiungerla io al file segnalato?

Fatemi sapere perfavore……….
gulyken
Member II

Re: Nascondere parte del Menu

Ciao,
   copia la parte che ti manca da share-config.xml dovrebbe essere indicata come "global config section".

Non dimenticare il replace="true" nel tag config, così fai l'override di quella configurazione.
lt86
Member II

Re: Nascondere parte del Menu

Ciao,
   copia la parte che ti manca da share-config.xml dovrebbe essere indicata come "global config section".

Non dimenticare il replace="true" nel tag config, così fai l'override di quella configurazione.

Grandissimo!!!!!!!!!
Spettacolare proprio quello che volevo!
Grazie stramille!
andrea
Member II

Re: Nascondere parte del Menu

salve ragazzi,
ho provato anche io a nascondere parte del menu con le procedure indicate da guglielmo però appena accedo come amministratore non ho la visibilità del menu (che essendo amministratore dovrebbe esserci)…per farlo comparire devo entrare in uno dei siti di cui faccio parte e appena clicco su mydashboard, ….è normale o ho sbagliato qualche cosa? qualcuno può aiutarmi?

grazie mille

Andrea