| Summary: | [server] better structure for serverworkspace files | ||
|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | Denis Roy <denis.roy> |
| Component: | Client | Assignee: | John Arthorne <john.arthorne> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | nathan, wayne.beaton |
| Version: | 0.2 | ||
| Target Milestone: | 0.2 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
|
Description
Denis Roy
To give some background, the default layout was initially kept "unaware" of users to allow for sharing scenarios. For example if 100,000 users all want to use Dojo it would be nice if they could share the same copy. This not only reduces disk usage, but allows us to optimize search indexing and other kinds of server-side analysis. Think for example of Google Docs where each document can have any number of authors if desired. We haven't exposed any UI to allow sharing of projects yet, but that's the reason the relationship between files and users isn't "baked in" to the design. Having said that, our disk layout isn't set in stone and we should be able to come up with ways to offer that kind of customization. We actually support storing projects at arbitrary paths in the server file system if the server configuration allows it. However for what you're looking for, we would need some configurable policy settings on the server that dictate the layout of projects. The right configuration for 1,000,000 users is likely different from a "self-hosting" install where I'm running the server on my local machine. Also just to set expectations, the current server implementation is not designed to scale to many thousands of users. There are some metadata files on the server that are shared across users today, which would need to migrate to some kind of database to get deep scalability. We could certainly split projects into a tree so there are a fixed number of projects per directory, but this isn't the only place we don't currently scale. Done. There is now a configuration setting called "orion.file.layout" to alter the default project layout. Supported values so far: "flat" - Same as today. All projects in one directory. This is suitable for a single-user installation of the server "userTree" - Projects organized into a tree according to the user that created the project. The tree is of the form: <first two letters of user id>/<user id>/<project id> For more details see: http://wiki.eclipse.org/Orion/Server_admin_guide#Configuring_project_layout Changes pushed to git.eclipse.org. |