Changes between Version 19 and Version 20 of GROUP_RESOURCE_R0


Ignore:
Timestamp:
04/04/09 13:46:41 (16 years ago)
Author:
meddle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TabularUnified GROUP_RESOURCE_R0

    v19 v20  
    9696A resource is represented by the Resource class and the ResourceSpace class. The Resource class is more like a representation of the content of the resource and the ResourceSpace is what manages it's Resource and it's sub-objects which state is trackable. 
    9797 * Resource : 
     98  * Can retrieve it's parent if it has such. 
    9899  * The Resource's entity id is it's unique identifier, it can not be changed and it is generated and set by the ResourceSpace upon creation. It is used for searching in the ResourceLocalCache or on a outer location. 
    99100  * The resource location is absolute location of the resource, it can be: 
     
    138139   * By it's class, if the Resource is top level. 
    139140   * By it's locating Resource (i.e. where the ResourceRef is held) and the class of the Resource that is searched. 
    140   * The ResourceRef can determine if it points to a Resource.  
     141  * The ResourceRef can determine if it points to a Resource. 
     142 * ResourceLocalCache : 
     143  * It keeps the Resources that are loaded in the application and provides functionality for finding them by their entity ids and locations, absolute or relative. 
     144  * It can search for Resources only in the cache but it will be able to search for Resources and on the File System and the Server in the next Revisions. 
     145  * It provides functionality for locating a parent of a Resource and even the nearest parent in the tree by given type. 
     146  * Is used to locate the Resources by the ResourceRefs, first by their entity ids, second by their absolute or relative paths, the paths are constructed like /parent1_name/parent2_name/resource_name, so the parents and the siblings can be retrieved easily. If a Resource is not found in the cache it can be found where it is stored and that cached. 
     147 
     148 All this four structures build the Resource trees and will be used to store resource content and to retrieve it. The attaching a resource to another is simply creating it or coping it to the parent resource. Renaming is not permitted so the parents and the siblings can be determined by their locations. Deleting(Detaching) and moving a resource can be done in the next revision with copying the resource in the new place, and destroying it. In such way we can have all the operation on a resource and can locate it anywhere. 
    141149 
    142150= Implementation =