-
Notifications
You must be signed in to change notification settings - Fork 19
Proposed API
The shell should provide full access to the PHPCR implementation.
repository:login : Repository::login() =>
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: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
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: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
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: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>