ogre.dms.service
Interface AccessControlService

All Superinterfaces:
Remote

public interface AccessControlService
extends Remote

Access Control Service.

Version:
$Id: AccessControlService.java,v 1.1.1.1.2.21.2.27 2010/12/14 04:03:58 yaoming Exp $
Author:
Docpedia team

Method Summary
 boolean addExtCompany(ExtCompany extCompany, String extCompanyID)
          Add the external Company to the database.
 boolean addExtUser(DMSUser extUser, String extUserID)
          Add the external user to the database.
 DMSResult batchUpdateACL(String userID, String subject, String mode, Vector newACLs, Vector applySubjectList)
          While updating the ACL of the subject according to the mode, update the ACLs of the associated subjects (applySubjectList) also.
 DMSResult batchUpdatePDACL(String userID, String subject, String mode, Vector newACLs, Vector applySubjectList)
          While updating the ACL of the subject according to the mode, update the ACLs of the associated subjects (applySubjectList) also.
 DMSResult commitUpdateACL(String userID, String subject, Vector newACLs)
          Update the ACL of a subject with permission checking.
 String createExtCompanyID()
           
 String createExtUserID()
          Create a external user system id.
 boolean deleteAccessControlItemList(String targetID, Vector aclItemList)
          delete Default Document ACL.
 boolean deleteAccessControlListByPrincipal(String[] principals, String userID)
          Delete ACL by principal.
 boolean deleteAccessControlListByPrincipal(String principal, String userID)
          Delete ACL by principal.
 int deleteACLRecords(String userID, String beforeDate)
          Delete the ACL Records from the database.
 boolean deleteExtCompany(String extCompanyID)
          Delete the external Company.
 boolean deleteExtUser(String extUserID)
          Delete the external user.
 boolean deleteOutOfDateACL(String userID)
          Delete the out-of-date ACLs.
 DMSResult ForceBatchUpdateACL(String authSubject, String mode, Vector baccessList, Vector applySubjectList, String type)
          Deprecated. since V3.0. Use batchUpdateACL(String, String, String, Vector, Vector) instead.
 DMSResult forceUpdateACL(String userID, String subject, Vector newACLs)
          Update the ACL of a subject without permission checking.
 DMSResult forceUpdateACL(String subject, Vector newACLs)
          Update the ACL of a subject without permission checking.
 Vector getACL(String subject)
          Retrieve the ACLs of the subject.
 Vector getACLByPandP(String permission, String principal)
           
 Vector getACLbyPrincipal(String[] principal, List permissionTypes, boolean allRole)
          Get subject's permission by principal.
 Vector getACLbyPrincipal(String[] principal, List permissionTypes, boolean allRole, boolean includeGroup)
          Get subject's permission by principal.
 Vector getACLbyPrincipal(String[] principal, String exclude, boolean allRole)
          Deprecated. V2.2 Use getACLbyPrincipal(String[], List, boolean) instead, because this implementation is not correct.
 Vector getACLbyPrincipal(String[] principal, String exclude, boolean allRole, boolean includeGroup)
          Deprecated. V2.2 Use getACLbyPrincipal(String[], List, boolean, boolean) instead, because this implementation is not correct.
 List getACLRecords(String userID, String startTime, String endTime, String documentKey, String publishFolderID)
          Retrieve the records of the ACL setting.
 int getAVPermission(String userID, String vdKey)
          Get AutoVue permission
 String getAVServerIP()
          Retrieve the IP of AutoVue Server.
 String getAVServerPort()
          Retrieve the port of AutoVue Server.
 HashMap getDefaultACLMappingMap()
          Deprecated. V2.1 use getDefaultACLMappingMap(String) instead.
 Map getDefaultACLMappingMap(String encryptType)
          Get default ACL mapping applied for physical document according to different document security solution.
 Vector getDefaultVirtualDocumentACL(VirtualDocument vd)
          get Default Document ACL.
 Vector getDefaultVirtualDocumentACLByMemID(String memID, String dockey)
          get Default Document ACL.
 Vector getDefaultVirtualDocumentACLByMemID(String memID, String dockey, String realRoleID)
          get Default Document ACL base on memID/roleID without Member's Manager ACL.
 String getDocSecurityLevel(String docKey)
          Retrieve the document's security level.
 String getEncryptionType()
          Deprecated. V2.1 use getImplementedEncryptionType()
 ExtCompany getExtCompany(String extCompanyID)
          Retrieve the external Company by user's id.
 Vector getExtCompanyList()
          Retrieve the external user list.
 DMSUser getExtUser(String extUserID)
          Retrieve the external user by user's id.
 DMSUser getExtUserByLoginID(String loginID)
          Retrieve the external user by user's login id.
 Vector getExtUserIDListByExtCompanyID(String companyID)
           
 Vector getExtUserList()
          Retrieve the external user list.
 Vector getExtUserList(String sort)
          Retrieve the external user list.
 List getImplementedEncryptionType()
          Retrieve the implemented document security solution.
 int getNumOfOutOfDateACL()
          Retrieve the num of out-of-date ACLs.
 String getPermitTypeWhileViewingDoc(String userID, String docKey, String rootTaskID)
          Determine user's permission while viewing document in approving workflow.
 String getPermitTypeWhileViewingDoc(String userID, String docKey, String mainDocKey, String rootTaskID)
          Determine user's permission while viewing document(EForm) in approving workflow.
 Vector getPhysicalDocACL(String docKey)
           We do not recommend you to use this API.
 String[] getTrustViewACLMapping(String userID, String docKey)
          Retrieve ACL Mapping.
 String getTVDefaultOffineDate()
          Get defined offline date for TrustView Solution.
 String getTVServerIP()
          Get TrustView Server IP address.
 DistSiteInfo getUserMatchedDistSite(String ip, String host)
          Get distribution site info according to the user's request ip.
 Vector getVirtualDocumentACLManagerOfMemID(String memID, String dockey)
          get Member's Default Document ACL of Manager .
 DMSResult initCancelApprove(String userID, String documentKey)
          To test if the document is in approval workflow and can be canceled by the user.
 DMSResult initCheckIn(String userID, String documentKey, String keyType)
          To test if the user has the permission to check in the document.
 DMSResult initCheckOut(String userID, String documentKey)
          To test if the user has permission to check out the document alone.
 DMSResult initCheckOutWithMainDoc(String userID, String documentKey, String mainDocKey)
          To test if the user has permission to check out the lv4 document with main document.
 DMSResult initCopyDocument(String userID, String documentKey, String destFolderID)
          To test if the user has permission to copy the document to destination folder.
 DMSResult initCopyFolder(String userID, String sourceFolderID, String destFolderID)
          To test if the user has the permission to copy the folder to the destination folder.
 DMSResult initCreateReview(String userID, String documentKey)
          To test if the user has the permission to leave a comment to the document.
 DMSResult initCreateVirtualDocument(String userID, String folderID)
          To test if the user has the permission to new a document in the folder.
 DMSResult initDeleteDocument(String userID, String documentKey)
          To test if the user has the permission to delete the document.
 DMSResult initDeleteFolder(String userID, String folderID)
          To test if the user has the permission to delete the folder.
 DMSResult initFavorites(String userID, String targetKey, String favoriteType)
          Can the user remove the favorite setting.
 DMSResult initGetDocument(String userID, String docKey)
          To test if the user has the permission to view the document.
 DMSResult initGetFolder(String userID, String folderID)
          To test if the user has the permission to access the folder.
 DMSResult initGiveUpCheckOut(String userID, String documentKey, String keyType)
          To test if the user has the permission to give up the check-out document.
 DMSResult initMoveDocument(String userID, String documentKey, String destFolderID)
          To test if the user has the permission to move(paste) the document to the folder.
 DMSResult initMoveFolder(String userID, String sourceFolderID, String destFolderID)
          To test if the user has the permission to move the folder to the destination folder.
 DMSResult initNewFolder(String userID, String parentFolderID)
          To test if the user has the permission to new a folder in the current folder.
 DMSResult initNullifyDoc(String userID, String documentKey)
          To test if the user has the permission to obsolete the document.
 DMSResult initPublishDocument(String userID, String documentKey, String folderID)
          To test if the user has the permission to publish the document in the folder.
 DMSResult initUpdateACL(String userID, String subject)
          To test if the user has the permission to update the ACL of the given subject.
 DMSResult initUpdateACLInDocument(String userID, String documentKey)
          To test if the user has the permission to update the acl of the document.
 DMSResult initUpdateRelationDocument(String userID, String documentKey)
          To test if the user has the permission to update the relations of the document.
 DMSResult initUpdateVirtualDocumentInfo(String userID, String documentKey)
          To test if the user has the permission to update the document.
 DMSResult initUpdateVirtualDocumentInfo(String userID, String documentKey, boolean ignoreLock)
          To test if the user has the permission to update the document.
 DMSResult initUpdateVirtualFolderInfo(String userID, String folderID)
          To test if the user has the permission to edit the folder's information.
 DMSResult initUploadExternalFile(String userID, String folderID)
          Can external user upload files to the given folder.
 DMSResult initViewDocLog(String userID, String documentKey)
          To test if the user has the permission to view the logs of the document.
 DMSResult initViewVirtualDocumentExt(String userID, String documentKey)
          To test if the user has the permission to view VirtualDocument Ext (acl list, Subscribe list)
 boolean insertAccessControlItemList(String targetID, Vector aclItemList)
          We don't recommend public users to use this API.
 boolean isAlive()
           
 boolean isDccMember(String userID)
          To check wether the user is a DCC member or not.
 boolean isExtUserDataExist(String extUserID, String data)
          We do not recommend you to use this API.
 boolean isPermissionExt()
          is enable Permission Ext mode
 boolean isPermissionMapping()
          is enable permission Mapping mode
 boolean isTVSSO()
          TrustView SSO is enabled or not.
 DMSUser login(String loginID, String password)
          Verify and log the user into the DMS system.
 DMSUser login(String loginID, String password, InetAddress addr)
          Verify and log the user into the DMS system.
 DMSUser login(String loginID, String password, String ip)
          Verify and log the user into the DMS system.
 DMSUser login3rd(String loginID, String password)
           
 void logoutAEPPandDMS(String loginID)
          Remove user from online storage and logout from AEPP.
 DMSUser registerOnLineUser(DMSUser user, InetAddress addr)
          Store the online user information.
 DMSUser registerOnLineUser(DMSUser user, String ip, String hostname)
          Store the online user information.
 DMSResult removeACL(String userID, String subject, String mode, Vector removeACL, Vector applySubjectList, String action)
           
 boolean removeManagerRoleOfAuthor(VirtualDocument vd)
          is Remove Manager Role Of Author.
 Vector searchExtObject(String type, String searchValue)
          Used by system.
 int transferPrincipal(String byWhomMemID, String fromMemberID, String toMemberID)
          Transfer the permission's principal from fromMemberID to toMemberID.
 void unregisterOnLineUser(String loginID)
          Remove the user from online storage.
 DMSResult updateACLForFolder(String userID, String subject, String mode, Vector newACLs, Vector applyFolderList)
          When updating a folder's ACL, the changes could be applied to the folders at the mean time.
 void updateACLForFolder(Vector acilist)
          Update Folder's ACL.
 DMSResult updateACLTemplateOfDocInFolder(String userID, String folderID, Vector newACLs)
          Update the default ACL prepared to apply in the sub documents in the folder.
 DMSResult updateACLTemplateOfDocInFolder(String folderID, Vector newACLs)
          use this method to update the default ACL prepared to apply in the sub documents in the folder.
 void updateACLTemplateOfDocInFolder(Vector acilist)
           
 boolean updateExtCompany(ExtCompany extCompany)
          Update the external Company instance.
 boolean updateExtUser(DMSUser extUser)
          Update the external user instance.
 DMSResult updatePDACLForFolder(String userID, String subject, String mode, Vector newACLs, Vector applyFolderList)
          Update folder's 'ACL of Attachments' as the dafault setting.
 void updatePDACLForFolder(Vector acilist)
           
 DMSResult updatePDACLTemplateOfDocInFolder(String userID, String folderID, Vector newACLs)
          Update the default ACL prepared to apply in the sub documents in the folder.
 DMSResult updatePDACLTemplateOfDocInFolder(String folderID, Vector newACLs)
          Use this method to update the default ACL prepared to apply in the sub documents in the folder.
 

Method Detail

initCancelApprove

DMSResult initCancelApprove(String userID,
                            String documentKey)
                            throws RemoteException
To test if the document is in approval workflow and can be canceled by the user.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initCheckIn

DMSResult initCheckIn(String userID,
                      String documentKey,
                      String keyType)
                      throws RemoteException
To test if the user has the permission to check in the document.
 1. The target document must have been checked out by the user.
 2. The user must have "Modifier" role to the document.
 

Parameters:
userID -
documentKey -
keyType - Original, or CkOutCopy
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initCheckOut

DMSResult initCheckOut(String userID,
                       String documentKey)
                       throws RemoteException
To test if the user has permission to check out the document alone.
Also the user must have "Modifier" to the document

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initCheckOutWithMainDoc

DMSResult initCheckOutWithMainDoc(String userID,
                                  String documentKey,
                                  String mainDocKey)
                                  throws RemoteException
To test if the user has permission to check out the lv4 document with main document. Also the user must have "Modifier" to the document

Parameters:
userID -
documentKey -
mainDocKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initCopyDocument

DMSResult initCopyDocument(String userID,
                           String documentKey,
                           String destFolderID)
                           throws RemoteException
To test if the user has permission to copy the document to destination folder.
 1. The user has a "Manager" role to the document or "Owner" role on the parent folder of the document.
 2. And the user has a "Owner" role on target folder.
 

Parameters:
userID -
documentKey -
destFolderID -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initCreateReview

DMSResult initCreateReview(String userID,
                           String documentKey)
                           throws RemoteException
To test if the user has the permission to leave a comment to the document. If the user can view the document, then he can comment the document.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initUploadExternalFile

DMSResult initUploadExternalFile(String userID,
                                 String folderID)
                                 throws Exception
Can external user upload files to the given folder.

Parameters:
userID -
folderID -
Returns:
DMSResult
Throws:
Exception
Since:
V3.0

initCreateVirtualDocument

DMSResult initCreateVirtualDocument(String userID,
                                    String folderID)
                                    throws RemoteException
To test if the user has the permission to new a document in the folder. The folder must be the user's workspace.

Parameters:
userID -
folderID -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initDeleteDocument

DMSResult initDeleteDocument(String userID,
                             String documentKey)
                             throws RemoteException
To test if the user has the permission to delete the document.
 1. The user have manager on the document.
 2. or the user have owner on the parent folder of the document.
 

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initFavorites

DMSResult initFavorites(String userID,
                        String targetKey,
                        String favoriteType)
                        throws RemoteException
Can the user remove the favorite setting.

Parameters:
userID - the owner of the favorite setting.
targetKey - it could be document key or folder id depending on the favoriteType
favoriteType - TYPE_DOCUMENT or TYPE_FOLDER
Returns:
DMSResult
Throws:
RemoteException

initGetDocument

DMSResult initGetDocument(String userID,
                          String docKey)
                          throws RemoteException
To test if the user has the permission to view the document.

Parameters:
userID -
docKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initGetFolder

DMSResult initGetFolder(String userID,
                        String folderID)
                        throws RemoteException
To test if the user has the permission to access the folder.

Parameters:
userID -
folderID -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initGiveUpCheckOut

DMSResult initGiveUpCheckOut(String userID,
                             String documentKey,
                             String keyType)
                             throws RemoteException
To test if the user has the permission to give up the check-out document. The document must have been checked out by the user.

Parameters:
userID -
documentKey -
keyType - Original, or CkOutCopy
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initMoveDocument

DMSResult initMoveDocument(String userID,
                           String documentKey,
                           String destFolderID)
                           throws RemoteException
To test if the user has the permission to move(paste) the document to the folder.
 1. The user must have "Manager" on the target document or "Owner" on target parent folder of target document.
 2. The user must have "Owner" on target folder
 

Parameters:
userID -
documentKey -
destFolderID -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initNullifyDoc

DMSResult initNullifyDoc(String userID,
                         String documentKey)
                         throws RemoteException
To test if the user has the permission to obsolete the document.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initPublishDocument

DMSResult initPublishDocument(String userID,
                              String documentKey,
                              String folderID)
                              throws RemoteException
To test if the user has the permission to publish the document in the folder.
 1. type of the target folder must be Regular 
    or Enhanced
 2. the user must have "Writer" on the target folder
 

Parameters:
userID -
documentKey -
folderID -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initUpdateACLInDocument

DMSResult initUpdateACLInDocument(String userID,
                                  String documentKey)
                                  throws RemoteException
To test if the user has the permission to update the acl of the document.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initUpdateRelationDocument

DMSResult initUpdateRelationDocument(String userID,
                                     String documentKey)
                                     throws RemoteException
To test if the user has the permission to update the relations of the document.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initUpdateVirtualDocumentInfo

DMSResult initUpdateVirtualDocumentInfo(String userID,
                                        String documentKey)
                                        throws RemoteException
To test if the user has the permission to update the document.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initUpdateVirtualDocumentInfo

DMSResult initUpdateVirtualDocumentInfo(String userID,
                                        String documentKey,
                                        boolean ignoreLock)
                                        throws RemoteException
To test if the user has the permission to update the document.

Parameters:
userID -
documentKey -
ignoreLock - if it is true, the document can be updated without consider the Locked status.
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initViewDocLog

DMSResult initViewDocLog(String userID,
                         String documentKey)
                         throws RemoteException
To test if the user has the permission to view the logs of the document.

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initViewVirtualDocumentExt

DMSResult initViewVirtualDocumentExt(String userID,
                                     String documentKey)
                                     throws RemoteException
To test if the user has the permission to view VirtualDocument Ext (acl list, Subscribe list)

Parameters:
userID -
documentKey -
Returns:
DMSResult use DMSResult#getPermission() to check the result.
Throws:
RemoteException

initUpdateACL

DMSResult initUpdateACL(String userID,
                        String subject)
                        throws RemoteException
To test if the user has the permission to update the ACL of the given subject.

Parameters:
userID - user's member id.
subject - ex: DocKey_0000000001, Folder_0000000001, etc.
Throws:
RemoteException

initNewFolder

DMSResult initNewFolder(String userID,
                        String parentFolderID)
                        throws RemoteException
To test if the user has the permission to new a folder in the current folder.

Parameters:
userID -
parentFolderID - the current folder.
Throws:
RemoteException

initUpdateVirtualFolderInfo

DMSResult initUpdateVirtualFolderInfo(String userID,
                                      String folderID)
                                      throws RemoteException
To test if the user has the permission to edit the folder's information.

Parameters:
userID -
folderID -
Throws:
RemoteException

initDeleteFolder

DMSResult initDeleteFolder(String userID,
                           String folderID)
                           throws RemoteException
To test if the user has the permission to delete the folder.

Parameters:
userID -
folderID -
Throws:
RemoteException

initCopyFolder

DMSResult initCopyFolder(String userID,
                         String sourceFolderID,
                         String destFolderID)
                         throws RemoteException
To test if the user has the permission to copy the folder to the destination folder.
 1. the source folder, and its panrent folder, and the target folder must be Regular or Enhanced 
 2. the user must have owner on the source folder or its parent folder 
 3. the user must have owner on the target parent folder
 

Parameters:
userID -
sourceFolderID -
destFolderID -
Throws:
RemoteException

initMoveFolder

DMSResult initMoveFolder(String userID,
                         String sourceFolderID,
                         String destFolderID)
                         throws RemoteException
To test if the user has the permission to move the folder to the destination folder.
 1. the source folder, and its panrent folder, and the target folder must be Regular or Enhanced 
 2. the user must have owner on the source folder or its parent folder 
 3. the user must have owner on the target parent folder
 

Parameters:
userID -
sourceFolderID -
destFolderID -
Throws:
RemoteException

batchUpdateACL

DMSResult batchUpdateACL(String userID,
                         String subject,
                         String mode,
                         Vector newACLs,
                         Vector applySubjectList)
                         throws RemoteException
While updating the ACL of the subject according to the mode, update the ACLs of the associated subjects (applySubjectList) also.

Parameters:
userID - (member id) the user who does the update.
subject - Usually the subject will be like 'Folder_0000000001'.
mode - how to apply the ACL changes to the subjects
  • Append: the new ACL adding to the subject would be added to the applySubjectList.
  • Update: the new items would be added to and the deleted items would be removed from the applySubjectList.
  • Overwrite: all the applySubjectList would have the same ACL as the subject
newACLs - ACLs
applySubjectList - associated subjects
Returns:
DMSResult
Throws:
RemoteException

batchUpdatePDACL

DMSResult batchUpdatePDACL(String userID,
                           String subject,
                           String mode,
                           Vector newACLs,
                           Vector applySubjectList)
                           throws RemoteException
While updating the ACL of the subject according to the mode, update the ACLs of the associated subjects (applySubjectList) also.

Parameters:
userID - (member id) the user who does the update.
subject - ex: DocKey_0000000001, Folder_0000000001, etc.
mode - refer to batchUpdateACL(String, String, String, Vector, Vector)
newACLs - ACLs
applySubjectList - associated subjects
Returns:
DMSResult
Throws:
RemoteException

updatePDACLForFolder

DMSResult updatePDACLForFolder(String userID,
                               String subject,
                               String mode,
                               Vector newACLs,
                               Vector applyFolderList)
                               throws RemoteException
Update folder's 'ACL of Attachments' as the dafault setting.

Parameters:
userID - (member id) the user who does the update.
subject - folder id, such as 'Folder_0000000001'.
mode - refer to batchUpdateACL(String, String, String, Vector, Vector)
newACLs - ACLs
applyFolderList - associated subjects (folder id)
Returns:
DMSResult
Throws:
RemoteException

updateACLForFolder

DMSResult updateACLForFolder(String userID,
                             String subject,
                             String mode,
                             Vector newACLs,
                             Vector applyFolderList)
                             throws RemoteException
When updating a folder's ACL, the changes could be applied to the folders at the mean time.

Parameters:
userID - (member id) the user who does the update.
subject - folder id, such as 'Folder_0000000001'.
mode - refer to batchUpdateACL(String, String, String, Vector, Vector)
newACLs - new ACLs
applyFolderList - associated subjects (folder id)
Returns:
DMSResult
Throws:
RemoteException

commitUpdateACL

DMSResult commitUpdateACL(String userID,
                          String subject,
                          Vector newACLs)
                          throws RemoteException
Update the ACL of a subject with permission checking.

Parameters:
userID - (member id) the user who does the update.
subject - ex: DocKey_0000000001, Folder_0000000001, etc.
newACLs - new ACLs
Returns:
DMSResult
Throws:
RemoteException

forceUpdateACL

DMSResult forceUpdateACL(String subject,
                         Vector newACLs)
                         throws RemoteException
Update the ACL of a subject without permission checking.

Parameters:
subject - ex: DocKey_0000000001, Folder_0000000001, etc.
newACLs - new ACLs
Returns:
DMSResult
Throws:
RemoteException

forceUpdateACL

DMSResult forceUpdateACL(String userID,
                         String subject,
                         Vector newACLs)
                         throws RemoteException
Update the ACL of a subject without permission checking.

Parameters:
userID -
subject - ex: DocKey_0000000001, Folder_0000000001, etc.
newACLs - new ACLs
Returns:
DMSResult
Throws:
RemoteException
Since:
V3.0, ISODMS-1103

updatePDACLTemplateOfDocInFolder

DMSResult updatePDACLTemplateOfDocInFolder(String folderID,
                                           Vector newACLs)
                                           throws RemoteException
Use this method to update the default ACL prepared to apply in the sub documents in the folder. DO NOT USE THIS METHOD. Use updatePDACLTemplateOfDocInFolder(String, String, Vector) instead to record the user's action.

Throws:
RemoteException

updatePDACLTemplateOfDocInFolder

DMSResult updatePDACLTemplateOfDocInFolder(String userID,
                                           String folderID,
                                           Vector newACLs)
                                           throws RemoteException
Update the default ACL prepared to apply in the sub documents in the folder.

Parameters:
userID - (member id) the user who do the update.
folderID - folder id, such as 'Folder_0000000001'.
newACLs - new ACLs
Returns:
DMSResult
Throws:
RemoteException

updateACLTemplateOfDocInFolder

DMSResult updateACLTemplateOfDocInFolder(String folderID,
                                         Vector newACLs)
                                         throws RemoteException
use this method to update the default ACL prepared to apply in the sub documents in the folder. DO NOT USE THIS METHOD. Use updateACLTemplateOfDocInFolder(String, String, Vector) instead to record the user's action.

Throws:
RemoteException

updateACLTemplateOfDocInFolder

DMSResult updateACLTemplateOfDocInFolder(String userID,
                                         String folderID,
                                         Vector newACLs)
                                         throws RemoteException
Update the default ACL prepared to apply in the sub documents in the folder.

Parameters:
userID - (member id) the user who do the update.
folderID - folder id, such as 'Folder_0000000001'.
newACLs - new ACLs
Returns:
DMSResult
Throws:
RemoteException

getACLbyPrincipal

Vector getACLbyPrincipal(String[] principal,
                         String exclude,
                         boolean allRole)
                         throws RemoteException
Deprecated. V2.2 Use getACLbyPrincipal(String[], List, boolean) instead, because this implementation is not correct.

Get subject's permission by principal.

Parameters:
principal - member id/role id/dept id.
exclude - it could be 'document', 'folder', 'forum'.
allRole - include the member's role.
Returns:
Vector each element is AccessControlItem
Throws:
RemoteException

getACLbyPrincipal

Vector getACLbyPrincipal(String[] principal,
                         String exclude,
                         boolean allRole,
                         boolean includeGroup)
                         throws RemoteException
Deprecated. V2.2 Use getACLbyPrincipal(String[], List, boolean, boolean) instead, because this implementation is not correct.

Get subject's permission by principal.

Parameters:
principal - member id/role id/dept id.
exclude - it could be 'document', 'folder', 'forum'.
allRole - include the member's role.
Returns:
Vector each element is AccessControlItem
Throws:
RemoteException

getACLbyPrincipal

Vector getACLbyPrincipal(String[] principal,
                         List permissionTypes,
                         boolean allRole)
                         throws RemoteException
Get subject's permission by principal.

Parameters:
principal - member id/role id/dept id.
permissionTypes - it could be 'document', 'folder', 'forum' in String type.
allRole - include the member's role.
Returns:
Vector each element is AccessControlItem
Throws:
RemoteException

getACLbyPrincipal

Vector getACLbyPrincipal(String[] principal,
                         List permissionTypes,
                         boolean allRole,
                         boolean includeGroup)
                         throws RemoteException
Get subject's permission by principal.

Parameters:
principal - member id/role id/dept id.
permissionTypes - it could be 'document', 'folder', 'forum'.
allRole - include the member's role.
Returns:
Vector each element is AccessControlItem
Throws:
RemoteException

isAlive

boolean isAlive()
                throws RemoteException
Throws:
RemoteException

insertAccessControlItemList

boolean insertAccessControlItemList(String targetID,
                                    Vector aclItemList)
                                    throws RemoteException
We don't recommend public users to use this API.

Parameters:
targetID -
aclItemList -
Returns:
true if operation is done successfully.
Throws:
RemoteException

updateACLForFolder

void updateACLForFolder(Vector acilist)
                        throws RemoteException
Update Folder's ACL.

Parameters:
acilist - Vector each element is AccessControlItem.
Throws:
RemoteException

updateACLTemplateOfDocInFolder

void updateACLTemplateOfDocInFolder(Vector acilist)
                                    throws RemoteException
Throws:
RemoteException

updatePDACLForFolder

void updatePDACLForFolder(Vector acilist)
                          throws RemoteException
Throws:
RemoteException

ForceBatchUpdateACL

DMSResult ForceBatchUpdateACL(String authSubject,
                              String mode,
                              Vector baccessList,
                              Vector applySubjectList,
                              String type)
                              throws RemoteException
Deprecated. since V3.0. Use batchUpdateACL(String, String, String, Vector, Vector) instead.

Parameters:
authSubject -
mode -
baccessList -
applySubjectList -
type -
Returns:
Throws:
RemoteException

getTrustViewACLMapping

String[] getTrustViewACLMapping(String userID,
                                String docKey)
                                throws RemoteException
Retrieve ACL Mapping.

Parameters:
userID - String
docKey - String
Returns:
String[]
Throws:
RemoteException

isPermissionExt

boolean isPermissionExt()
                        throws RemoteException
is enable Permission Ext mode

Returns:
boolean
Throws:
RemoteException

isPermissionMapping

boolean isPermissionMapping()
                            throws RemoteException
is enable permission Mapping mode

Returns:
boolean
Throws:
RemoteException

getEncryptionType

String getEncryptionType()
                         throws RemoteException
Deprecated. V2.1 use getImplementedEncryptionType()

get getEncryptionType

Returns:
String
Throws:
RemoteException

getImplementedEncryptionType

List getImplementedEncryptionType()
                                  throws RemoteException
Retrieve the implemented document security solution.

Returns:
each element is one of the following: ENCRYPTION_TYPE_SOURCE, ENCRYPTION_TYPE_PDF, ENCRYPTION_TYPE_TRUSTVIEW, ENCRYPTION_TYPE_AUTOVUE
Throws:
RemoteException
Since:
V2.1

isTVSSO

boolean isTVSSO()
                throws RemoteException
TrustView SSO is enabled or not.

Returns:
boolean
Throws:
RemoteException

getTVServerIP

String getTVServerIP()
                     throws RemoteException
Get TrustView Server IP address.

Returns:
TrustView Server ip
Throws:
RemoteException

getTVDefaultOffineDate

String getTVDefaultOffineDate()
                              throws RemoteException
Get defined offline date for TrustView Solution.

Returns:
offline days default value is 30 days.
Throws:
RemoteException

getAVPermission

int getAVPermission(String userID,
                    String vdKey)
                    throws RemoteException
Get AutoVue permission

Parameters:
userID - String
vdKey - String
Returns:
int return 0 is no permission, 1->read , 1+2=3-> print, 1+2+4=7-> get Source
Throws:
RemoteException

getDefaultACLMappingMap

HashMap getDefaultACLMappingMap()
                                throws RemoteException
Deprecated. V2.1 use getDefaultACLMappingMap(String) instead.

Get Default ACL Mapping info.

Returns:
HashMap
Throws:
RemoteException

getDefaultACLMappingMap

Map getDefaultACLMappingMap(String encryptType)
                            throws RemoteException
Get default ACL mapping applied for physical document according to different document security solution.

Parameters:
encryptType - ENCRYPTION_TYPE_AUTOVUE ENCRYPTION_TYPE_TRUSTVIEW ENCRYPTION_TYPE_FLOWRING_PDF_SOLUTION ENCRYPTION_TYPE_PDF
Returns:
HashMap permission map
Throws:
RemoteException
Since:
V2.1

getAVServerIP

String getAVServerIP()
                     throws RemoteException
Retrieve the IP of AutoVue Server.

Returns:
ip
Throws:
RemoteException

getAVServerPort

String getAVServerPort()
                       throws RemoteException
Retrieve the port of AutoVue Server.

Returns:
port number
Throws:
RemoteException

getPhysicalDocACL

Vector getPhysicalDocACL(String docKey)
                         throws RemoteException
We do not recommend you to use this API. This is going to be deprecated.

Parameters:
docKey -
Returns:
Vector
Throws:
RemoteException

getACL

Vector getACL(String subject)
              throws RemoteException
Retrieve the ACLs of the subject.

Parameters:
subject -
Returns:
Vector each element is AccessControlItem
Throws:
RemoteException

getACLByPandP

Vector getACLByPandP(String permission,
                     String principal)
                     throws RemoteException
Parameters:
permission -
principal -
Returns:
Vector each element is AccessControlItem
Throws:
RemoteException

isDccMember

boolean isDccMember(String userID)
                    throws RemoteException
To check wether the user is a DCC member or not.

Parameters:
userID -
Returns:
true/false
Throws:
RemoteException

getDocSecurityLevel

String getDocSecurityLevel(String docKey)
                           throws RemoteException
Retrieve the document's security level.

Parameters:
docKey -
Returns:
security level info.board.Confidential, info.board.InternalUse, info.board.StrictlyConfidential, info.board.Unclassified.
Throws:
RemoteException

login

DMSUser login(String loginID,
              String password)
              throws RemoteException
Verify and log the user into the DMS system.

Parameters:
loginID -
password -
Returns:
DMSUser if authenticated, else null.
Throws:
RemoteException
Since:
V2.1

login

DMSUser login(String loginID,
              String password,
              InetAddress addr)
              throws RemoteException
Verify and log the user into the DMS system.

Parameters:
loginID -
password -
InetAddress -
Returns:
DMSUser if authenticated, else null.
Throws:
RemoteException
Since:
V2.2

login

DMSUser login(String loginID,
              String password,
              String ip)
              throws RemoteException
Verify and log the user into the DMS system.

Parameters:
loginID -
password -
ip -
Returns:
DMSUser if authenticated, else null.
Throws:
RemoteException
Since:
V2.2

login3rd

DMSUser login3rd(String loginID,
                 String password)
                 throws RemoteException
Parameters:
loginID -
password -
Returns:
Throws:
RemoteException
Since:
V2.2 HotFix_95

getUserMatchedDistSite

DistSiteInfo getUserMatchedDistSite(String ip,
                                    String host)
                                    throws RemoteException
Get distribution site info according to the user's request ip. (API for optional module - Distribution Storage Solution)

Parameters:
ip -
host -
Returns:
matched DistSiteInfo. null, if no matched.
Throws:
RemoteException
Since:
V2.2

registerOnLineUser

DMSUser registerOnLineUser(DMSUser user,
                           InetAddress addr)
                           throws RemoteException
Store the online user information.

Parameters:
user -
addr -
Returns:
DMSUser
Throws:
RemoteException

registerOnLineUser

DMSUser registerOnLineUser(DMSUser user,
                           String ip,
                           String hostname)
                           throws RemoteException
Store the online user information.

Parameters:
user -
ip -
hostname -
Returns:
DMSUser
Throws:
RemoteException

unregisterOnLineUser

void unregisterOnLineUser(String loginID)
                          throws RemoteException
Remove the user from online storage. Moved from AdminService since V2.2

Parameters:
loginID -
Throws:
RemoteException

logoutAEPPandDMS

void logoutAEPPandDMS(String loginID)
                      throws RemoteException
Remove user from online storage and logout from AEPP. Moved from AdminService since V3.0

Parameters:
loginID -
Throws:
RemoteException

deleteAccessControlListByPrincipal

boolean deleteAccessControlListByPrincipal(String principal,
                                           String userID)
                                           throws RemoteException
Delete ACL by principal.

Parameters:
principal - member id, role id, dept id, groupd id
userID - by who
Returns:
true if record has been deleted.
Throws:
RemoteException
Since:
V3.0

deleteAccessControlListByPrincipal

boolean deleteAccessControlListByPrincipal(String[] principals,
                                           String userID)
                                           throws RemoteException
Delete ACL by principal.

Parameters:
principal - member id, role id, dept id, groupd id
userID - by who
Returns:
true if record has been deleted.
Throws:
RemoteException
Since:
V3.0

deleteACLRecords

int deleteACLRecords(String userID,
                     String beforeDate)
                     throws RemoteException
Delete the ACL Records from the database.
 Please refer to $DMSServer/conf/config.properties#LogACLModificationRecord
 You can delete the data according to the 'AccessControlListRecords.ActionTime',
 if you think the table is too big.
 

Parameters:
userID -
beforeDate -
Returns:
deleted row count
Throws:
RemoteException

getACLRecords

List getACLRecords(String userID,
                   String startTime,
                   String endTime,
                   String documentKey,
                   String publishFolderID)
                   throws RemoteException
Retrieve the records of the ACL setting. For performance concerning, at least one of the condition must be entered.

Parameters:
userID - this value can be either user's login id or system member id.
startTime - format is yyyy/MM/dd ex: 2007/10/31, if the format is not correct this condition will be ignored.
endTime - format is yyyy/MM/dd ex: 2007/10/31, if the format is not correct this condition will be ignored.
documentKey - can be null or empty, if you don't want to specify the condition.
publishFolderID - can be null or empty, if you don't want to specify the condition.
Returns:
each element is a AccessControlItemRecords object.
Throws:
RemoteException
Since:
V3.0

getExtUserList

Vector getExtUserList()
                      throws RemoteException
Retrieve the external user list.

Returns:
Vector each element is DMSUser
Throws:
RemoteException

getExtUserList

Vector getExtUserList(String sort)
                      throws RemoteException
Retrieve the external user list.

Returns:
Vector each element is DMSUser
Throws:
RemoteException

createExtUserID

String createExtUserID()
                       throws RemoteException
Create a external user system id.

Returns:
external user id.
Throws:
RemoteException

addExtUser

boolean addExtUser(DMSUser extUser,
                   String extUserID)
                   throws RemoteException
Add the external user to the database.

Parameters:
extUser -
extUserID -
Returns:
Throws:
RemoteException

updateExtUser

boolean updateExtUser(DMSUser extUser)
                      throws RemoteException
Update the external user instance.

Parameters:
extUser -
Returns:
ture if update is ok.
Throws:
RemoteException

deleteExtUser

boolean deleteExtUser(String extUserID)
                      throws RemoteException
Delete the external user.

Parameters:
extUserID -
Returns:
ture if delete is ok.
Throws:
RemoteException

getExtUser

DMSUser getExtUser(String extUserID)
                   throws RemoteException
Retrieve the external user by user's id.

Parameters:
extUserID -
Returns:
DMSUser
Throws:
RemoteException

getExtUserByLoginID

DMSUser getExtUserByLoginID(String loginID)
                            throws RemoteException
Retrieve the external user by user's login id.

Parameters:
loginID -
Returns:
DMSUser
Throws:
RemoteException

isExtUserDataExist

boolean isExtUserDataExist(String extUserID,
                           String data)
                           throws RemoteException
We do not recommend you to use this API.

Parameters:
extUserID -
data -
Returns:
Throws:
RemoteException

searchExtObject

Vector searchExtObject(String type,
                       String searchValue)
                       throws RemoteException
Used by system.

Parameters:
type - could be DMSUnit.DB_EXTUSER_SEARCHTYPE or DMSUnit.DB_EXTGROUP_SEARCHTYPE
searchValue -
Returns:
Vector each element is external user id or external group id depending on the type.
Throws:
RemoteException

getExtCompanyList

Vector getExtCompanyList()
                         throws RemoteException
Retrieve the external user list.

Returns:
Vector each element is DMSUser
Throws:
RemoteException
Since:
V3.0

createExtCompanyID

String createExtCompanyID()
                          throws RemoteException
Returns:
Throws:
RemoteException
Since:
V3.0

addExtCompany

boolean addExtCompany(ExtCompany extCompany,
                      String extCompanyID)
                      throws RemoteException
Add the external Company to the database.

Parameters:
extCompany -
extCompanyID -
Returns:
Throws:
RemoteException
Since:
V3.0

updateExtCompany

boolean updateExtCompany(ExtCompany extCompany)
                         throws RemoteException
Update the external Company instance.

Parameters:
extCompany -
Returns:
ture if update is ok.
Throws:
RemoteException
Since:
V3.0

deleteExtCompany

boolean deleteExtCompany(String extCompanyID)
                         throws RemoteException
Delete the external Company.

Parameters:
extCompanyID -
Returns:
ture if delete is ok.
Throws:
RemoteException
Since:
V3.0

getExtCompany

ExtCompany getExtCompany(String extCompanyID)
                         throws RemoteException
Retrieve the external Company by user's id.

Parameters:
extCompanyID -
Returns:
ExtCompany
Throws:
RemoteException
Since:
V3.0

getExtUserIDListByExtCompanyID

Vector getExtUserIDListByExtCompanyID(String companyID)
                                      throws RemoteException
Parameters:
companyID -
Returns:
Throws:
RemoteException
Since:
V3.0

getNumOfOutOfDateACL

int getNumOfOutOfDateACL()
                         throws RemoteException
Retrieve the num of out-of-date ACLs.

Throws:
RemoteException
Since:
V3.0

deleteOutOfDateACL

boolean deleteOutOfDateACL(String userID)
                           throws RemoteException
Delete the out-of-date ACLs.

Parameters:
userID - to specify who is doing the delete action.
Throws:
RemoteException
Since:
V3.0

getPermitTypeWhileViewingDoc

String getPermitTypeWhileViewingDoc(String userID,
                                    String docKey,
                                    String rootTaskID)
                                    throws RemoteException
Determine user's permission while viewing document in approving workflow.

Parameters:
userID -
docKey -
rootTaskID -
Returns:
type: AUTHOR, NORMAL, or null
Throws:
RemoteException

getPermitTypeWhileViewingDoc

String getPermitTypeWhileViewingDoc(String userID,
                                    String docKey,
                                    String mainDocKey,
                                    String rootTaskID)
                                    throws RemoteException
Determine user's permission while viewing document(EForm) in approving workflow.

Parameters:
userID -
docKey -
mainDocKey -
rootTaskID -
Returns:
type: AUTHOR, NORMAL, or null
Throws:
RemoteException

getDefaultVirtualDocumentACL

Vector getDefaultVirtualDocumentACL(VirtualDocument vd)
                                    throws RemoteException
get Default Document ACL.

Parameters:
vd -
Throws:
RemoteException
Since:
V3.0

getDefaultVirtualDocumentACLByMemID

Vector getDefaultVirtualDocumentACLByMemID(String memID,
                                           String dockey)
                                           throws RemoteException
get Default Document ACL.

Parameters:
memID -
dockey -
Throws:
RemoteException
Since:
V3.0

getDefaultVirtualDocumentACLByMemID

Vector getDefaultVirtualDocumentACLByMemID(String memID,
                                           String dockey,
                                           String realRoleID)
                                           throws RemoteException
get Default Document ACL base on memID/roleID without Member's Manager ACL.

Parameters:
memID -
dockey -
realRoleID -
Throws:
RemoteException
Since:
V3.0 HotFix_28

getVirtualDocumentACLManagerOfMemID

Vector getVirtualDocumentACLManagerOfMemID(String memID,
                                           String dockey)
                                           throws RemoteException
get Member's Default Document ACL of Manager .

Parameters:
memID -
dockey -
Throws:
RemoteException
Since:
V3.0 HotFix_28

deleteAccessControlItemList

boolean deleteAccessControlItemList(String targetID,
                                    Vector aclItemList)
                                    throws RemoteException
delete Default Document ACL.

Parameters:
vd -
Throws:
RemoteException
Since:
V3.0

transferPrincipal

int transferPrincipal(String byWhomMemID,
                      String fromMemberID,
                      String toMemberID)
                      throws RemoteException
Transfer the permission's principal from fromMemberID to toMemberID.

Parameters:
byWhomMemID -
fromMemberID -
toMemberID -
Returns:
true if the transmission has been done.
Throws:
RemoteException

removeManagerRoleOfAuthor

boolean removeManagerRoleOfAuthor(VirtualDocument vd)
                                  throws RemoteException
is Remove Manager Role Of Author.

Parameters:
vd -
Throws:
RemoteException
Since:
V3.0

removeACL

DMSResult removeACL(String userID,
                    String subject,
                    String mode,
                    Vector removeACL,
                    Vector applySubjectList,
                    String action)
                    throws RemoteException
Throws:
RemoteException


Copyright(c) 2005-2012 by Flowring Technology Corp., 12 F., No 120, Sec 2, Gongdao 5th Rd., Hsin-Chu City 300, Taiwan(R.O.C.) All rights reserved.