The FileSystem Connector currently uses the configured workspace name as the path to the directory at the root of the workspace. For example, the workspace named "./defaultWorkspace" in the configuration is converted to a canonical path ("/usr/home/brianc/defaultWorkspace") which becomes the workspace name. This leaks information about the workspace location into the JCR layer and would seem to make code a little less portable (e.g., what if "./defaultWorkspace" points to "/var/someapp/defaultWorkspace" in production?).
I would like to extend the FS connector to have the concept of an optionally configurable workspaceRootPath. If that path is present, then all workspace root directories are calculated by appending the workspace name to the workspaceRootPath. If the workspaceRootPath is not present, the workspace name will be calcuated as before.
The only place where I would like to break backwards compatibility is in the canonicalization of the returned workspace names. Would anyone mind if I got rid of that? This would allow users to reference "defaultWorkspace" without using a workspaceRootPath regardless of what directory the application was launched from.
The new configuration property sounds good.
Also, I don't think changing the canonicalization of the workspace names is a bad change. It'd be far better to not leak the actual location, and it would also make for more readable (and shorter!) workspace names.