Dctm VFS Provider Sandbox

Welcome to the Dctm VFS Provider Sandbox homepage.

The Sandbox is the playground for the upcoming releases. It allows development and experimentation with new features without tampering with the current release. The functionalities in the sandbox are not yet stable and might change.

The sandbox functionality can be used by defining them in the dctmvfs-custom-init.bsh file.

Current items:

  • Configurable Attributes

    The attributes that are retrieved are made configurable. You can specify which attributes you want to have for each type. If nothing is specified for a given type, the default attributes are shown. Attributes are defined in groups. Groups can refer to other groups to have a kind of inheritance scheme. Binding of an object to a group is flexible. Normally the type of the object would be used, but other schemes are possible.

    Configuration example:

     
    AttrGroupMap groupMap = new AttrGroupMap();
    AttrGroup sysObjectGrp = new AttrGroup("dm_sysobject");
    sysObjectGrp.addAttribute(new AttrSpec("object_name", "string", 255));
    sysObjectGrp.addAttribute(new AttrSpec("title", "string", 400));
    sysObjectGrp.addAttribute(new AttrSpec("r_object_type", "string", 32));
    sysObjectGrp.addAttribute(new AttrSpec("r_version_label", "string", 32, "R"));
    
    groupMap.addGroup(sysObjectGrp, true);
    
    AttrGroup jobGrp = new AttrGroup("dm_job");
    jobGrp.addReference("dm_sysobject");
    jobGrp.addAttribute(new AttrSpec("a_current_status", "string", 255));
    jobGrp.addAttribute(new AttrSpec("a_last_completion", "time"));
    jobGrp.addAttribute(new AttrSpec("a_last_return_code", "integer"));
    
    groupMap.addGroup(jobGrp);
    
    AttrGroupBinder binder = new AttrGroupBinder() {
            public String bind(DctmFile dctmFile) throws DctmFileException {
                    return dctmFile.getType();
            }                       
    };
    
    dctmClient = new ConfDqlDctmClientImpl();
    sessionManager = new DctmSessionManager();
    dctmClient.setSessionManager(sessionManager);           
    dctmClient.setAttrGroupMap(groupMap);
    dctmClient.setAttrGroupBinder(binder);
    
  • Meta file view

    For each object in the docbase a meta file is shown. This meta file is an representation of the attributes of the content file. The exact representation should be configurable, but for now a compact XML representation is used. Together with the configurable attributes this means you can have access to the information of your choice; you can see the title, the content type, the version labels of documents and folders, the status of jobs, etc.

    Configuration example:

    dctmClient = new MetaClientImpl(dctmClient); 
    
  • Inverse meta file view

    If you would export both content files and meta files to another filesystem the Inverse meta file view is able to unify these again into a single document view. If you request the attributes of the file, the attributes stored in the meta file are returned. This gives an extra dimension of liveness to the off-line view.

    Configuration example:

    dctmClient = new InverseMetaClientImpl(dctmClient);