Wednesday, January 09, 2008

Folders

Folder is derived from index. The Root Branch Index is not a Folder, it remains an index.

The intent here is to create a bush structure, where a folder may be a child of one or more other folders. This is achieved through symbolic links. This is distinct from being under another folder or index: if B is under A and A is copied, then B is also copied. And if A is deleted, then B is also deleted. Let us say that folders B, C and D are under index A, B and C are well known (to A) and that D is a child of B and C. Now if B and C are both deleted, then so is D.

Now what we want to achieve here is an expansion of the idea of the well known table into a bush structure. A lot of what we need to achieve this is already included in CowDb. What remains to be resolved is how pathname will work.

We can keep getPathname as it is now. But then the pathname will contain unique names, as Folders will need to have unique (generated) names. This is probably good enough for us in the links and backlinks tables and helps us avoid level confusion. We then need to introduce a second level to pathname which uses the parent/child relationship of folders. The pathname resolution logic on Folder can of course be augmented to use this new relationship between folders, but getPathname should not be so enhanced.

The overall purpose of COODBMS is to provide means of organizing objects by way of lists, folders and calendar. Objects will be accessible by multiple means, as more than one (and more than one kind of) structure can hold a reference to an object.

0 Comments:

Post a Comment

<< Home