Hi,
I'm trying to change the default directory for FTP service.
My installation is Alfresco Community 5.2.0
By default, when a user gets connected to Alfresco FTP, he lands in directory Alfresco, but i want a specific subfolder (i.e. /Alfresco/Sites/ftp-root/documentLibrary).
I've followed some tips suggested on the forum, but nothing changes. In alfresco documentation is specified that:
"Using the subsystem extension classpath mechanism, site specific customization of these default values can be placed in a Spring bean file. Create a file called custom-file-servers-context.xml and place it in a folder with the path <extension>\subsystems\fileServers\default\default\custom-file-servers-context.xml (note that the default\default part of the path is intentional)."
I've created custom-file-servers-context.xml with the following content:
<config evaluator="string-compare" condition="FTP Server">
<rootDirectory>/Alfresco/Sites/ftp-root/documentLibrary</rootDirectory>
</config>
both in directory
/opt/alfresco/tomcat/shared/classes/alfresco/extension/fileServers/default/default/
and
/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/fileServers/default/default/
It doesn't work.
I'm not sure about the content of the file, because it is not documented anywhere what can be specified inside of it. I think that it must contain something like the content of
https://github.com/Alfresco/community-edition-old/blob/master/projects/repository/config/alfresco/su...
Any help isapreciated.
Thanks,
Antonio
Solved! Go to Solution.
The context XML file cannot contain the content you mentioned. It is a Spring file, not an Alfresco Config file (those with the config + evaluator + condition blocks).
It is more appropriate to configure the root path (for all protocols, not just FTP, because CIFS/SMB + FTP share the config) via a custom.properties file and including the "filesystem.rootPath" property, which should have an XPath to the root folder.
The context XML file cannot contain the content you mentioned. It is a Spring file, not an Alfresco Config file (those with the config + evaluator + condition blocks).
It is more appropriate to configure the root path (for all protocols, not just FTP, because CIFS/SMB + FTP share the config) via a custom.properties file and including the "filesystem.rootPath" property, which should have an XPath to the root folder.
For example, if your repository folder is /Inbox/FTP , in your alfresco-global.properties you should set something like:
protocols.rootPath=/app:company_home/cm:Inbox/cm:FTP
Regards.
--C.
Hi Axel,
thanks for the quick reply.
When you say "It is more appropriate to configure the root path via a custom.properties file and including the "filesystem.rootPath" property, which should have an XPath to the root folder." you mean that this properties file must be defined somewhere.
Where it should be defined? Do I still need to create the custom-file-servers-context.xml to define this custom properties?
Thanks,
Antonio.
Hi Cesar,
thanks to you too.
As asked to Axel, also in this case, this property must be defined in the spring file?
In my case, it is /Alfresco/Sites/ftp-root/documentLibrary
The property should be:
protocols.rootPath=/app:company_home//cm:Alfresco/cmites/cm:ftp-root/cm:documentLibrary
Am I right?
How the spring file should be defined?
Thanks for your help.
A.
"Where it should be defined?" => in a file, let's call it "custom.properties" within that subsystem (basically were you already put the context XML file).
The whole reason of the properties file is that you do not need the XML file for any configuration that can already be done by setting a simple property. So no, you will not need that file when you use the property.
As commented by Axel, you do not need the spring file (you can ignore it), and you just need to add the cited property in $TOMCAT/shared/classes/alfresco-global.properties (and restart Alfresco).
Other option is to include it in a properties file for the correspoding extended filesystem subsystem. If you prefer this way you missed subsystems folder under the path:
/opt/alfresco/tomcat/shared/classes/alfresco/extension/subsystems/fileServers/default/default/
Regards.
--C.
Hi guys,
thanks to all. I got it working with the following configuration:
file: /opt/alfresco/tomcat/shared/classes/alfresco/extension/subsystems/fileServers/default/default/custom.properties
content of the file: protocols.rootPath=/app:company_home/st:sites/cm:ftp-root/cm:documentLibrary
I've only one last question: in this way, the default root is still visible as "Alfresco"
So, basically, I've the user projected under the documentLibrary of the site ftp-root, but the user see this folder named as Alfresco.
Is possible to remove Alfresco at all? I tried with
protocols.rootPath=/st:sites/cm:ftp-root/cm:documentLibrary
but it doesn't work.
Any tips?
Thanks,
Antonio.
The name of the root is defined by the filesystem.name property. Add that with a different value to your custom properties file and you should be fine..
Great!
It works as expected!
Thankyou very much for your help and patience.
A.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.