<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Help needed wth script : perm. denied for users but admin ok in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/help-needed-wth-script-perm-denied-for-users-but-admin-ok/m-p/127326#M89565</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to make a dynamic notification script : it sends an email on content creartion to users who have read access on the document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code (important part is the notify_user function at the end) :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;// notify_users.js (version new)&lt;BR /&gt;// cree par Aurelien Chivot le 05/10/2007 pour OVERZIS&lt;BR /&gt;//&lt;BR /&gt;// script de notification. pour customiser le message, voir dans la fonction send_msg ci-dessous&lt;BR /&gt;// ce script envoie un mail a tous les ayants droits d'un document, sauf celui qui a declenche l'alerte&lt;BR /&gt;// note : la recherche de permissions fonctionne avec les permissions heritees&lt;BR /&gt;// mais pas avec les groupes, pour cela il faut modifier la fonction notify_users&lt;BR /&gt;&lt;BR /&gt;function send_msg(emailto) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var mailfrom = "XXXX@XXXX.XXX";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var serverurl = "&lt;A href="http://XXX.XXX.XXX.XXX:8080/alfresco" rel="nofollow noopener noreferrer"&gt;http://XXX.XXX.XXX.XXX:8080/alfresco&lt;/A&gt;";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var parentname = document.parent.properties.name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var docname = document.properties.name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var doctype = "" + document.type;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doctype = doctype.split("}")[1];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var mailsubject = "";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var mailtext = "";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var usrname = person.properties.firstName;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (person.properties.lastName)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usrname += " " + person.properties.lastName;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch (doctype) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "content":&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailsubject = "[Alfresco] Nouveau fichier dans " + parentname + " : " + docname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext = "Le nouveau fichier " + docname + " a ete ajoute dans " + document.displayPath + " par " + usrname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext += "\n\nLe fichier est accessible en cliquant ou copiant le lien ci-dessous :\n" + serverurl + document.url;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext += "\n\nVisualiser l'espace contenant en cliquant ou copiant le lien ci-dessous :\n" + serverurl + document.parent.url;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "folder":&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailsubject = "[Alfresco] Nouvel espace dans " + parentname + " : " + docname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext = "Le nouvel espace " + docname + " a ete ajoute dans " + document.displayPath + " par " + usrname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext += "\n\nL'espace est accessible en cliquant ou copiant le lien ci-dessous :\n" + serverurl + document.url;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "topic":&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailsubject = "[Alfresco] Nouvelle discussion dans " + parentname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext = "La nouvelle discussion a ete commence dans " + document.displayPath + " par " + usrname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext += "\n\nLa discussion est accessible en cliquant ou copiant le lien ci-dessous :\n" + serverurl + document.url;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "post":&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailsubject = "[Alfresco] Nouveau message dans la discussion " + parentname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext = "Le nouveau message a ete ajoute dans la discussion " + document.displayPath + " par " + usrname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext += "\n\nVoir ce message en cliquant ou copiant le lien ci-dessous :\n" + serverurl + document.url;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mailtext += "\n\nLe fil de discussion est accessible en cliquant ou copiant le lien ci-dessous :\n" + serverurl + document.parent.url;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (mailsubject != "") &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var mail = actions.create("mail");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;mail.parameters.to = emailto;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mail.parameters.from = mailfrom;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mail.parameters.subject = mailsubject;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mail.parameters.text = "Mail de notification automatique.\n\n";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mail.parameters.text += mailtext;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return mail.execute(document);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;function&amp;nbsp; notify_users(node) {&lt;BR /&gt;&amp;nbsp; var permissions = node.permissions;&lt;BR /&gt;&amp;nbsp; for each (perm in permissions)&lt;BR /&gt;&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var txtusr = perm.split(";")[1];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var usr = people.getPerson(txtusr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (usr &amp;amp;&amp;amp; (usr.properties.email != person.properties.email)) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; send_msg(usr.properties.email);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; if (node.inheritsPermissions())&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return notify_users(node.parent);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; return true;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;notify_users(document);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok, this script works like a charm with administrator. Does not work for a user with restricted access (access ony to a subtree, and the Data dictionnary - for the script)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The script calls itslef recursively if there are inherited rights. I suppose the scripts run with users credentials, for wich reason it fails (trying to read permissions on prohibited folders)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone knows how to handle this? This script is copyleft, so feel fre-e to modify it to work and let me know &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks !&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 Nov 2007 16:09:40 GMT</pubDate>
    <dc:creator>aurelien2</dc:creator>
    <dc:date>2007-11-12T16:09:40Z</dc:date>
    <item>
      <title>Help needed wth script : perm. denied for users but admin ok</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/help-needed-wth-script-perm-denied-for-users-but-admin-ok/m-p/127326#M89565</link>
      <description>Hello,I am trying to make a dynamic notification script : it sends an email on content creartion to users who have read access on the document.Here is the code (important part is the notify_user function at the end) :// notify_users.js (version new)// cree par Aurelien Chivot le 05/10/2007 pour OVER</description>
      <pubDate>Mon, 12 Nov 2007 16:09:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/help-needed-wth-script-perm-denied-for-users-but-admin-ok/m-p/127326#M89565</guid>
      <dc:creator>aurelien2</dc:creator>
      <dc:date>2007-11-12T16:09:40Z</dc:date>
    </item>
    <item>
      <title>Re: Help needed wth script : perm. denied for users but admin ok</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/help-needed-wth-script-perm-denied-for-users-but-admin-ok/m-p/127327#M89566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Unfortunately the ability to ReadPermissions is itself a Permission that is not part of the basic Consumer role (i.e. the basic ReadOnly permission that most users will have unless they own the node or have been exlicitly invited with a greater permission role).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If it is essential to your setup then you could modify the permissions XML config file to give the basic Consumer role the ReadPermissions permission…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 Nov 2007 22:46:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/help-needed-wth-script-perm-denied-for-users-but-admin-ok/m-p/127327#M89566</guid>
      <dc:creator>kevinr</dc:creator>
      <dc:date>2007-11-25T22:46:46Z</dc:date>
    </item>
  </channel>
</rss>

