Thanks everybody, Your comments definitely helped me. I am creating an entirely new content item called a "Folder" (guess what that is!) that can be added to the repository. Each type of content (ImageGallery, ImageContent, etc) must be associated to a parent folder. Folders are nestable. This structure will allow the content to be stored by folder names instead of type.
I have a few applications that allow users to upload images, and I generate thumbnails and allow the images to be associated to different domain objects (profiles, products, etc)... Besides images, there's content like textile and html, etc. All can be associated to different domain objects. I have this functionality in a java library that uses jackrabbit for storage. I don't like to reinvent wheels, so please let me know if this has already been done so I can still cut my loses! Phillip ----- Original Message ----- From: "David Nuescheler" <[EMAIL PROTECTED]> To: [email protected] Sent: Tuesday, April 17, 2007 8:31:42 AM (GMT-0500) America/New_York Subject: Re: Node structure design question Hi Phillip, I think Marcel's response covers your request. In my experience it has very rarely proven to been good advice to organize content in trees on a "by-type" basis. I think this is a very common mistake that we all make intuitively from working with RDBMS for years. Instead of something like... /html/project1.html /html/project2.html /binary/project1.pdf /images/project2.jpg ... i would recommend something like ... /project1/index.html /project1/mypdf.pdf /project2/index.html /project2/myphoto.jpg This looks arbitrary at first, but I think it is one of the most important aspects of a meaningful "Content Architecture" to leverage the hierarchical aspects properly. A number of the "Content Services" like Versioning, Locking and most importantly Access Control use the hierarchy for inheritance. In my experience it is good advice to think along the lines of access control when structuring your content. Lack of a better description: "Stuff that belongs together from an access control perspective should probably be stored 'together' in the content repository." regards, david
