Skip to content
dantleech edited this page Feb 9, 2014 · 7 revisions

API Map

The shell should provide full access to the PHPCR implementation.

repository:login : Repository::login() =>

Session

session:export:document-view                  : Session::exportDocumentView 
session:export:system-view                    : Session::exportSystemView 
session:import parent_abs_path uri --uid_behavior=[create_new,collision_remove_existing,collision_replace_existing,collision_throw]      
                                              : Session::exportSystemView 
session:info                                  : Session::{getAAtribute,getAttributeNames,getRepository,getUserID,getWorkspace}
session:node:show                             : Session::{getNode,getNodeByIdentifier,getProperties,getProperty}
session:node:move src_abs_path dest_abs_path  : Session::{getNode,getNodeByIdentifier,getProperties,getProperty}
session:item:show                             : Session::getItem
session:namespace:list                        : Session::{getNamespacePrefixes,getNamespaceURI,getNamespacePrefix}
session:namespace:set prefix uri              : Session::setNamespacePrefixes
session:logout                                : Session::logout
session:refresh                               : Session::refreshA
session:item:remove                           : Session::removeItem
session:save                                  : Session::save
session:impersonate username [attributes]     : Session::impersonate

Retention

retention:hold:list  abs_path               : RetentionManager::getHolds
retention:hold:add   abs_path name --deep   : RetentionManager::addHold
retention:hold:remove  abs_path name        : RetentionManager::removeHold
retention:policy:get abs_path               : RetentionManager::getRetentionPolicy

Access Control

acm:privilege:list abs_path                        : AccessControlManager::getSupportedPrivleges
acm:policy:list abs_path --effective --applicable  : AccessControlManager::{getApplicablePolicies,getEffectivePolicies,getPolicies}
acm:privilege:list abs_path --supported            :
acm:session:privilege:list                         : AccessControlManager::getPrivleges

Workspace

workspace:node:copy src_abs_path dest_abs_path src_workspace : Workspace::copy workspace:node:clone-from src_workspace src_abs_path dest_abs_path --remove-existing : Workspace::copy workspace:create name : Workspace::create workspace:delete name : Workspace::delete workspace:list : Workspace::getAccessibleWorkspaceNames workspace:info : Workspace::getName workspace:query QUERY --lang= : QueryManager::{createQuery,QueryManager::getSupportedQueryLanguages}


Node Type
---------

Note the create and edit commands will open an external EDITOR as defined by the environment

node-type:show node_type_name : NodeTypeManager::getNodeType node-type:list --primary --mixin : NodeTypeManager::{getAllNodeType,getPrimaryNodeTypes,getMixinNodeTypes} node-type:create node_type_name : NodeTypeManager::{registerNodeTypesCnd} node-type:edit node_type_name : NodeTypeManager::{registerNodeTypesCnd} node-type:load cnd_path --allow-update : NodeTypeManager::{registerNodeTypesCnd} node-type:unregister node_type_name : NodeTypeManager::unregisterNodeType


Version
-------

Can we reference versions by a hash? == VersionHistoryInterface::getVersionableIdentifier

version:checkin abs_path : VersionManager::checkin version:checkout abs_path : VersionManager::checkout version:checkpoint abs_path : VersionManager::checkpoint

version:history abs_path : VersionManager::versionHistory version:show abs_path --id= --label= : VersionManager::getVersion,VersionInterface::getFrozenNode,VersionHistoryInterface::getAllLinearFrozenNodes version:remove version:remove-label

Node

All node operations take place in CWD

node:create [name] --before=<node_name>  : Node::{addNode,addNodeAutoNamed}
node:reorder dest_child_rel_path         : Node::orderBefore
node:rename new_name                     : Node::rename
node:set name value type                 : Node::setProperty
node:info                                : Node::{getIdentifier,getPath,getIndex,getPrimaryNodeType,getMixinNodeTypes,isCheckedOut}
node:definition                          : Node::{getDefinition}
node:references <name> --weak            : Node::{getReferences,getWeakReferences}
node:list --children --properties        : Node::{getNodes,getProperties,getNodeNames}                   
node:type:set-primary                    : Node::setPrimaryType
node:type:mixin-add <mixin_name>         : Node::addMixin
node:type:mixin-remove <mixin_name>      : Node::removeMixin
node:workspace:corresponding workspace_name        : Node::getCorrespondingNodePath
node:workspace:update workspace_name               : Node::update
node:shared:show                              : Node::getSharedSet
node:shared:remove                            : Node::removeSharedSet
node:lifecycle:follow-transition <transition> : Node::followLifecycleTransition
node:lifecycle:list                           : Node::getAllowedLifecycleTransitions

Lock

lock:add-token <name>              : LockManager::addLockToken
lock:remove-token <name>           : LockManager::removeToken
lock:get <abs_path>                : LockManager:get
lock:info <abs_path>               : LockManager:holdsLock,isLocked
lock:lock <abs_path> --deep --session-scoped --timeout-hint=<seconds> --owner-info=<string>
lock:unlock <abs_path>
Clone this wiki locally