cancel
Showing results for 
Search instead for 
Did you mean: 

How do I disable download option for Consumer

benabdessamed
Champ in-the-making
Champ in-the-making

Hello,

Can some one helpe me to disable the download option for Consumer ?

1 ACCEPTED ANSWER

jpotts
World-Class Innovator
World-Class Innovator

Here is what you need to disable both download buttons for everyone:

 

If you want to disable it just for a Consumer you can use an evaluator to check group membership.

View answer in original post

8 REPLIES 8

justinliyh
Champ in-the-making
Champ in-the-making

hi, have you resolved this problem? I have same problem too.

muralidharand
Star Contributor
Star Contributor

Can you please look at the github project link ?

GitHub - muralidharand/alfresco-disable-enable-download-action 

Interesting project, but it seems it does not remove the options to download from the preview component, neither from the search result.

Jakuon
Champ in-the-making
Champ in-the-making

I did my research about alfresco and made a simple documentation. Have a look at the code below:

Find the section for disabling downloads.

#################################################
Alfresco -Installation using docker
#################################################

sudo apt update


sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

sudo apt-get install docker-ce docker-ce-cli containerd.io

sudo docker -v

#################################################
Result: Docker version 20.10.0, build 7287ab3
#################################################

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

sudo docker-compose -v

#################################################
Result: docker-compose version 1.27.4, build 40524192
#################################################

sudo apt install nodejs

sudo apt install npm

sudo npm install -g yo

sudo npm install --global generator-alfresco-docker-installer

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

source ~/.nvm/nvm.sh

nvm install 14

nvm use 14

npm install -g generator-alfresco-docker-installer

yo alfresco-docker-installer

? Which ACS version do you want to use? 7.4
? How may GB RAM are available for Alfresco (8 is minimum required)? 12
? Do you want to use HTTPs for Web Proxy? No
? What is the name of your server? write the name of your server.
? What HTTP port do you want to use (all the services are using the same port)? 80
? Do you want to use FTP (port 2121)? No
? Do you want to use MariaDB instead of PostgreSQL? No
? Are you using different languages (this is the most common scenario)? Yes
? Do you want to create an internal SMTP server? No
? Do you want to create an internal LDAP server? No
? Select the addons to be installed:
? Are you using a Windows host to run Docker? No
? Do you want to use a start script? No


#################################################
Run the command below to start Alfresco app
#################################################

sudo docker-compose up


#################################################
URLs
#################################################

UI (User Interface) : http://sever IP address or Domain name/
Legacy UI (Users and management): http://sever IP address or Domain name/share
Repository (REST API) : http://sever IP address or Domain name/alfresco


#################################################
Legacy UI(users and management) Customization
#################################################

#################################################
How to disable Rightclick
#################################################


Step 1) Stop the alfresco server

Step 2) Edit web-preview.get.html.ftl file found in the directory below

/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/preview

to contain a javascript code that disable rightclick;

<script>
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
// You can add any additional code here if needed
});
</script>

The file should finaly look as shown below;

<@markup id="html">
<@uniqueIdDiv>
<#if node??>
<#assign el=args.htmlid?html>
<div id="${el}-body" class="web-preview">
<div id="${el}-previewer-div" class="previewer">
<div class="message"></div>
</div>
</div>

<script>
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
});
</script>
</#if>
</@>
</@markup>

Step 3) Save and restart the servver

#####################################################
How to Disable the top right corner Download button
#####################################################

Step 1) Stop alfresco server

Step 2) Create an XML file called hide-download-pdf.xml under

/tomcat/shared/classes/alfresco/web-extension/site-data/extension:


<extension>
<modules>
<module>
<id>Hide Download Buttons</id>
<auto-deploy>true</auto-deploy>
<customizations>
<customization>
<targetPackageRoot>org.alfresco</targetPackageRoot>
<sourcePackageRoot>com.someco</sourcePackageRoot>
</customization>
</customizations>
</module>
</modules>

</extension>


Step 3) Create a file node-header.get.js with the following under

/tomcat/shared/classes/alfresco/web-extension/site-webscripts/com/someco/components/node-details

<import resource="classpath:/alfresco/templates/org/alfresco/import/alfresco-util.js">
var nodeDetails = AlfrescoUtil.getNodeDetails(model.nodeRef, model.site, null, model.libraryRoot);
var count = nodeDetails.item.node.properties["cm:autoVersion"];

if (count != undefined)
{
model.showDownload = "false";
}


Step 4) Restart alfresco server.

Go to a file in Alfresco -> Click Manage Aspects from the details options -> add cm:versionable aspect -> Hit Apply changes. You will see that the Download button will disappear


######################################################################
How to Disable the download button at the center, on top of the file
######################################################################


Step 1) Stop the Alfresco server

Step 2) Edit the pdfjs.get.js file under

/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/modules/preview


by commenting the section for download as shown:

{
type: "separator",
useWrapper: true,
wrapperClassName: "maximizebuttonSep"
},
// {
// id: "download",
// type: "button",
// icon: "components/documentlibrary/actions/document-download-16.png",
// label: msg.get("button.download"),
// title: msg.get("button.download")
// },
{
id: "link",
type: "button",
icon: "components/images/link-16.png",
title: msg.get("button.link"),
useWrapper: true,
wrapperClassName: "linkbutton"
},


Step 3) Save and restart the servver.


###############################################################################################
How to Disable Folder Download, Document Download, View document in browser and Edit offline.
###############################################################################################

Step 1) Stop the Alfresco server

Step 2) Edit the share-documentlibrary-config.xml file under


/tomcat/webapps/share/WEB-INF/classes/alfresco


by commenting the section(s):

##############################################################################################
(a) responsible for folder download as shown:
##############################################################################################


<!-- Download folder -->
<!--
<action id="folder-download" type="javascript" label="actions.folder.download" icon="document-download">
<param name="function">onActionFolderDownload</param>
</action>
-->


###############################################################################################
(b) responsible for document download as shown:
###############################################################################################

<!-- Download document -->
<!--
<action id="document-download" type="link" label="actions.document.download">
<param name="href">{downloadUrl}</param>
<param name="target">_blank</param>
<evaluator>evaluator.doclib.action.downloadBrowser</evaluator>
<evaluator>evaluator.doclib.action.hasContent</evaluator>
</action>
-->

###############################################################################################
(c) responsible for View document in browser found under <actionGroup id="document-details">

as shown:
###############################################################################################

<!--
<action index="110" id="document-view-content" subgroup="10" appendEvaluators="true">
<evaluator>evaluator.doclib.action.DocumentEnableInSmartFolder</evaluator>
</action>
-->



#################################################################################################
(d) responsible for Edit offline found under <actionGroup id="document-details">

as shown:
#################################################################################################

<!-- Edit offline -->
<!--
<action id="document-edit-offline" type="javascript" label="actions.document.edit-offline">
<param name="function">onActionEditOffline</param>
<permissions>
<permission allow="true">Write</permission>
</permissions>
<evaluator>evaluator.doclib.action.offlineEdit</evaluator>
<evaluator>evaluator.doclib.action.hasContent</evaluator>
<evaluator negate="true">evaluator.doclib.action.notEditable</evaluator>
</action>
-->


<!--
<action index="360" id="document-edit-offline" subgroup="30" appendEvaluators="true">
<evaluator>evaluator.doclib.action.DocumentEnableInSmartFolder</evaluator>
</action>
-->

Step 3) Save and restart the servver

####################################################################################################
How to hide the Download icon at the Version History section
####################################################################################################

Stop the Alfresco server

Open the document-versions.css file under the path below;

/usr/local/tomcat/webapps/share/components/document-details


Locate the section with the following code;

.document-versions .actions a.download
{
background-image: url(images/document-download-16.png);
}


now delete the entire line of code that starts with background-image so that it finally looks like this;

.document-versions .actions a.download
{

}


Save and restart the servver

#################################################################################
UI Customization
#################################################################################

#################################################################################
Disable rightclick on the UI
#################################################################################

Stop the Alfresco server


Open the html file in the path below;

usr/share/nginx/html/index.html

Insert this javaScript code;

<script>
document.addEventListener('contextmenu', function (event) {
event.preventDefault();
});
</script>

Save and restart the server


########################################################################################################
To disable the offline editting, print and download buttons, open the main.js file in the path below;

/usr/share/nginx/html/main.js
########################################################################################################


########################################################################################################
Disable offline editing
########################################################################################################

Stop the Alfresco server

########################################################################################################
Inside the main.js file, look for a section that contains the following path comment;

/toggle-edit-offline.components.ts

and comment the line that contains the DownloadNodesAction as shown below;
########################################################################################################

toggleLock(node) {
var _this2 = this;

return (0,_home_runner_work_alfresco_content_app_alfresco_content_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
const id = node.entry.nodeId || node.entry.id;

if ((0,_alfresco_aca_shared__WEBPACK_IMPORTED_MODULE_2__.isLocked)(_this2.selection)) {
try {
const response = yield _this2.unlockNode(id);

_this2.update(response?.entry);

_this2.store.dispatch(new _alfresco_aca_shared_store__WEBPACK_IMPORTED_MODULE_1__.EditOfflineAction(_this2.selection));
} catch {
_this2.onUnlockError();
}
} else {
try {
const response = yield _this2.lockNode(id);

_this2.update(response?.entry);

// _this2.store.dispatch(new _alfresco_aca_shared_store__WEBPACK_IMPORTED_MODULE_1__.DownloadNodesAction([_this2.selection]));


_this2.store.dispatch(new _alfresco_aca_shared_store__WEBPACK_IMPORTED_MODULE_1__.EditOfflineAction(_this2.selection));
} catch {
_this2.onLockError();
}
}
})();
}


Save and restart the server

############################################################################################
Disable the print button
############################################################################################

Stop the Alfresco server

############################################################################################
Inside the main.js file, look for a section that contains the following path comment;

/node.effects.ts

and comment the following section as shown below;
############################################################################################

printFile(node) {

/* if (node && node.entry) {
// shared and favorite
const id = node.entry.nodeId || node.entry.guid || node.entry.id;
const mimeType = node.entry.content.mimeType;
if (id) {
this.renditionViewer.printFileGeneric(id, mimeType);
}
}
*/

console.log('Printing is disabled.');
}
}

Save and restart the server


##################################################################################################
Disable/Hide the Download button
##################################################################################################

Stop the Alfresco server

##################################################################################################
Inside the main.js file, look for a section that contains the following path comment;

/app.rules.ts

and comment the following section as shown below;
##################################################################################################

function canDownloadSelection(context) {

/* if (!context.selection.isEmpty && _navigation_rules__WEBPACK_IMPORTED_MODULE_0__.isNotTrashcan(context)) {
return context.selection.nodes.every((node) => node.entry && (node.entry.isFile || node.entry.isFolder || !!node.entry.nodeId));
}
*/

return false;
}

Save and restart the server


THE END

Helpfull Answer... Thanks For Sharing

Hi Muralidharan Deenathayalan

Thanx for your help, but i am new in alfresco, how i can do this?

Thanx.

jpotts
World-Class Innovator
World-Class Innovator

Here is what you need to disable both download buttons for everyone:

 

If you want to disable it just for a Consumer you can use an evaluator to check group membership.

luis67
Champ in-the-making
Champ in-the-making

To disable download for consumers, implement user permissions in the app or platform settings. Restrict access to download features for consumer accounts through user roles or access controls in the admin panel. GB Whatsapp Download