Distinguish between static and temporary collections in the workspace
The workspace and its client need to distinguish between collections that are static (re-used often; containing folder should never be removed) and temporary (containing folder can be removed when the last remaining item is deleted).
Hi Sven, Yes, I misunderstood your original comment. I corrected my comment. I do like your suggestion. It has less overhead and still requires the WOH to do the right thing with its directories.
Hi Karen, how do you feel about the idea of make services use
1. putInStaticCollection (vs putInCollection)
1. registerStaticCollection (or registerStatic Directory)
2. putInCollection(<name of static collection>, ...)
The main reasoning of suggesting putInStaticCollection is that it would be relatively to create all folders for static collections in a subfolder of collections so that admins know that none of those folders will ever be deleted (vs. one collections folder mixing up temporary and static folders wildly)
EDIT: I removed my previous comment because I just re-read Sven's comment, and it is the same idea as the WOH registering a static directory but with the benefit of not having the overhead of a cache of directory names. It is still the WOH's responsibility to use the static collection location if it's parent directory should be preserved. So, much better than my previous comment.
An alternative implementation could look like:
1. Remove registerStaticCollection mechanism
2. Add putInStaticCollection method (similar as putInCollection) which will put the media package element into a subfolder 'static' of the folder 'collections'
3. Change function delete() to not delete parent folders in collections/static/