[SOLVED] Change FTP landing folder

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

[SOLVED] Change FTP landing folder

Jump to solution

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

1 Solution

Accepted Solutions
afaust
Master

Re: Change FTP landing folder

Jump 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.

View solution in original post

14 Replies
afaust
Master

Re: Change FTP landing folder

Jump 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.

cesarista
Customer

Re: Change FTP landing folder

Jump to solution

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.

tonystra
Member II

Re: Change FTP landing folder

Jump to solution

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.

tonystra
Member II

Re: Change FTP landing folder

Jump to solution

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/cmSmiley Frustratedites/cm:ftp-root/cm:documentLibrary

Am I right?

How the spring file should be defined?

Thanks for your help.

A.

afaust
Master

Re: Change FTP landing folder

Jump to solution

"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.

cesarista
Customer

Re: Change FTP landing folder

Jump to solution

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.

tonystra
Member II

Re: Change FTP landing folder

Jump to solution

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.

afaust
Master

Re: Change FTP landing folder

Jump to solution

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..

tonystra
Member II

Re: Change FTP landing folder

Jump to solution

Great! 

It works as expected!

Thankyou very much for your help and patience.

A.