Tuesday, September 25, 2018

Customize Webtop Menu

  • Create the .xml files on the config folder under custom (eg: Z:\tomcat\webapps\webtop\custom\config)
  • No restriction on the file name.

1. Remove a menu item (Help) from the File Menu of Webtop

<config>
<scope>
<menuconfig modifies="menubar_file_menu:\webcomponent\config\library\menubar\menubar_component.xml">
<remove path="menu[name=file_menu].menuitem[name=file_help]">
</remove>
</menuconfig>
</scope>
</config>

2. Insert a menu item (file_rename) on the File Menu below "Save As"


<config>
<scope>
<menuconfig modifies="menubar_file_menu:\webcomponent\config\library\menubar\menubar_component.xml">
<insertafter path="menu[name=file_menu].actionmenuitem[name=file_saveas]">
<actionmenuitem dynamic = "singleselect"
id = "file_rename" name = "file_rename"
value = "Rename" action = "rename" hotkeyid="HOTKEY_VIEW"
showifinvalid = "true"/>
</insertafter>
</menuconfig>
</scope>
</config>


Webtop - Tutorial 1

Refresh

http://localhost:8080/webtop/wdk/refresh.jsp

Component List

http://localhost:8080/webtop/webcomponent/componentList/componentinfo.jsp


Tuesday, September 18, 2018

Error: Could not find or load main class

package com.karthi;
public class HelloWorld {

public static void main(String[] args) {
// TODO Auto-generated method stub

System.out.println("Hello World");

}

}

/////

C:\Users\rakarthikeyan\Desktop\workspace\HelloWorld\bin\com\karthi>java HelloWorld
Error: Could not find or load main class HelloWorld

/// Fix - execute along with package name ie. use fully-qualified name ///

C:\Users\rakarthikeyan\Desktop\workspace\HelloWorld\bin>java com.karthi.HelloWorld

Hello World

Sunday, September 9, 2018

Get Single Attribute - DFC

package dctm1;

import java.util.Scanner;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfId;
import com.documentum.fc.common.IDfLoginInfo;

public class getSingleAttribute extends kavidoc {

public static void main(String[] args) throws DfException {
// TODO Auto-generated method stub

IDfClientX cx=new DfClientX();
IDfClient c=cx.getLocalClient();
IDfSessionManager sm=c.newSessionManager();
IDfLoginInfo login=cx.getLoginInfo();
login.setUser(uname);
login.setPassword(pwd);
sm.setIdentity(docbase, login);
IDfSession s=sm.getSession(docbase);
if(s!=null)
{
System.out.println("Session obtained succesfull");
System.out.println(s);

}
else
{
System.out.println("Login failed");
}
Scanner scan=new Scanner(System.in);
System.out.println("Enter the object id to get r_creaton_date attribute:");
String objid=scan.nextLine();
StringBuffer bf=new StringBuffer("");
IDfId idObj = s.getIdByQualification("dm_sysobject where r_object_id='" + objid + "'");
IDfSysObject sysObj = (IDfSysObject) s.getObject(idObj);
bf.append("r_creation_date");
bf.append(":");
bf.append(sysObj.getValue("r_creation_date").toString());
System.out.println("Output");
System.out.println(bf.toString());

}

}

//////


Session obtained succesfull
com.documentum.fc.client.DfSession@defa1a
Enter the object id to get r_creaton_date attribute:
0900113c80003125
Output
r_creation_date:9/9/2018 20:21:26

dfc - dump all attribute of object

package dctm1;

import java.util.Scanner;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.DfServiceException;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfId;
import com.documentum.fc.common.IDfLoginInfo;

public class dumpattribute extends kavidoc {

public static void main(String[] args) throws DfException {
// TODO Auto-generated method stub
IDfClientX cx=new DfClientX();
IDfClient c=cx.getLocalClient();
IDfSessionManager sm=c.newSessionManager();
IDfLoginInfo login=cx.getLoginInfo();
login.setUser(uname);
login.setPassword(pwd);
sm.setIdentity(docbase, login);
IDfSession s=sm.getSession(docbase);
if(s!=null)
{
System.out.println("Session obtained succesfull");
System.out.println(s);

}
else
{
System.out.println("Login failed");
}
Scanner scan=new Scanner(System.in);
System.out.println("Enter the object id to dump attribute:");
String objid=scan.nextLine();
StringBuffer bf=new StringBuffer("");
IDfId idObj = s.getIdByQualification("dm_sysobject where r_object_id='" + objid + "'");
IDfSysObject sysObj = (IDfSysObject) s.getObject(idObj);
bf.append(sysObj.dump());
System.out.println("Output");
System.out.println(bf.toString());
}

}


////

Session obtained succesfull
com.documentum.fc.client.DfSession@defa1a
Enter the object id to dump attribute:
0900113c80003125
Output
USER ATTRIBUTES

  object_name                : hello.pdf
  title                      : 
  subject                    : 
  authors                  []: <none>
  keywords                 []: <none>
  resolution_label           : 
  owner_name                 : karthi
  owner_permit               : 7
  group_name                 : docu
  group_permit               : 5
  world_permit               : 3
  log_entry                  : 
  acl_domain                 : karthi
  acl_name                   : dm_4500113c80000102
  language_code              : 

SYSTEM ATTRIBUTES

  r_object_id                : 0900113c80003125
  r_object_type              : dm_document
  r_creation_date            : 9/9/2018 20:21:26
  r_modify_date              : 9/9/2018 20:21:26
  r_modifier                 : karthi
  r_access_date              : nulldate
  r_composite_id           []: <none>
  r_composite_label        []: <none>
  r_component_label        []: <none>
  r_order_no               []: <none>
  r_link_cnt                 : 0
  r_link_high_cnt            : 0
  r_assembled_from_id        : 0000000000000000
  r_frzn_assembly_cnt        : 0
  r_has_frzn_assembly        : F
  r_is_virtual_doc           : 0
  r_page_cnt                 : 1
  r_content_size             : 1016643
  r_lock_owner               : 
  r_lock_date                : nulldate
  r_lock_machine             : 
  r_version_label         [0]: 1.0
                          [1]: CURRENT
  r_immutable_flag           : F
  r_frozen_flag              : F
  r_has_events               : F
  r_creator_name             : karthi
  r_is_public                : T
  r_policy_id                : 0000000000000000
  r_resume_state             : 0
  r_current_state            : 0
  r_alias_set_id             : 0000000000000000
  r_full_content_size        : 1016643
  r_aspect_name            []: <none>

APPLICATION ATTRIBUTES

  a_application_type         : 
  a_status                   : 
  a_is_hidden                : F
  a_retention_date           : nulldate
  a_archive                  : F
  a_compound_architecture    : 
  a_link_resolved            : F
  a_content_type             : pdf
  a_full_text                : T
  a_storage_type             : filestore_01
  a_special_app              : 
  a_effective_date         []: <none>
  a_expiration_date        []: <none>
  a_publish_formats        []: <none>
  a_effective_label        []: <none>
  a_effective_flag         []: <none>
  a_category                 : 
  a_is_template              : F
  a_controlling_app          : 
  a_extended_properties    []: <none>
  a_is_signed                : F
  a_last_review_date         : nulldate

INTERNAL ATTRIBUTES

  i_is_deleted               : F
  i_reference_cnt            : 1
  i_has_folder               : T
  i_folder_id             [0]: 0b00113c80003112
  i_contents_id              : 0600113c80002d14
  i_cabinet_id               : 0c00113c80002921
  i_antecedent_id            : 0000000000000000
  i_chronicle_id             : 0900113c80003125
  i_latest_flag              : T
  i_branch_cnt               : 0
  i_direct_dsc               : F
  i_is_reference             : F
  i_retain_until             : nulldate
  i_retainer_id            []: <none>
  i_is_replica               : F
  i_vstamp                   : 0

DFC - Upload a File

package dctm1;

import java.util.Scanner;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfLoginInfo;

public class createdoc extends kavidoc{

public static void main(String[] args) throws DfException {
// TODO Auto-generated method stub

IDfClientX cx=new DfClientX();
IDfClient c=cx.getLocalClient();
IDfSessionManager sm=c.newSessionManager();
IDfLoginInfo login=cx.getLoginInfo();
login.setUser(uname);
login.setPassword(pwd);
sm.setIdentity(docbase, login);
IDfSession s=sm.getSession(docbase);
if(s!=null)
{
System.out.println("Session obtained succesfull");
System.out.println(s);

}
else
{
System.out.println("Login failed");
}
Scanner scan=new Scanner(System.in);
System.out.println("Enter the file name(pdf):");
String fname=scan.nextLine();
System.out.println("Enter the root folder:");
String rfolder=scan.nextLine();

IDfSysObject newobj=(IDfSysObject) s.newObject("dm_document");
newobj.setObjectName(fname);
newobj.setContentType("pdf");
newobj.setFile("c:\\test\\star.pdf");
newobj.link(rfolder);
newobj.save();
System.out.println("File upload completed");

}

}

DFC - New Folder Creation

package dctm1;

import java.util.Scanner;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.DfClient;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfFolder;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfLoginInfo;

public class testsession extends kavidoc {

public static void main(String[] args) throws DfException {
// TODO Auto-generated method stub

IDfClientX cx=new DfClientX();
IDfClient c=cx.getLocalClient();
IDfSessionManager sm=c.newSessionManager();
IDfLoginInfo login=cx.getLoginInfo();
login.setUser(uname);
login.setPassword(pwd);
sm.setIdentity(docbase, login);
IDfSession s=sm.getSession(docbase);
if(s!=null)
{
System.out.println("Session obtained succesfull");
System.out.println(s);

}
else
{
System.out.println("Login failed");
}
Scanner scan=new Scanner(System.in);
System.out.println("Enter Folder Name:");
String fol=scan.nextLine();
System.out.println("Enter the Root Folder");
String rfol=scan.nextLine();


//Check if Folder exist

//Target Folder
String tfolder=rfol+"/"+fol;
IDfFolder target=s.getFolderByPath(rfol+"/"+fol);
if (target!=null)

System.out.println("Folder "+tfolder+" already exist");
}
else
{


IDfSysObject obj=(IDfFolder) s.newObject("dm_folder");
obj.setObjectName(fol);
obj.link(rfol);
obj.save();
System.out.println("Folder Created");

}

}

}


//////

Session obtained succesfull
com.documentum.fc.client.DfSession@f5da06
Enter Folder Name:
2018
Enter the Root Folder
/Ramesh/sales
Folder Created

////




Create New Cabinet - DFC

package dctm1;

import java.util.Scanner;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.DfClient;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfFolder;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfLoginInfo;

public class testsession extends kavidoc {

public static void main(String[] args) throws DfException {
// TODO Auto-generated method stub

IDfClientX cx=new DfClientX();
IDfClient c=cx.getLocalClient();
IDfSessionManager sm=c.newSessionManager();
IDfLoginInfo login=cx.getLoginInfo();
login.setUser(uname);
login.setPassword(pwd);
sm.setIdentity(docbase, login);
IDfSession s=sm.getSession(docbase);
if(s!=null)
{
System.out.println("Session obtained succesfull");
System.out.println(s);

}
else
{
System.out.println("Login failed");
}
Scanner scan=new Scanner(System.in);
System.out.println("Enter Cabinet Name:");
String cab=scan.nextLine();
//Check if Cabinet exist
IDfFolder fol=s.getFolderByPath("/"+cab);
if (fol!=null)
{
System.out.println("Cabinet Exist");
}
else
{
IDfSysObject obj=(IDfFolder) s.newObject("dm_cabinet");
obj.setObjectName(cab);
obj.save();
System.out.println("Cabinet Created");

}

}

}


/// Output ///
Session obtained succesfull
com.documentum.fc.client.DfSession@f5da06
Enter Cabinet Name:
Kavin
Cabinet Created
//








DFC Code - Obtain Docbase Session

package dctm1;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.DfClient;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfFolder;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfLoginInfo;

public class testsession extends kavidoc {

public static void main(String[] args) throws DfException {
// TODO Auto-generated method stub

IDfClientX cx=new DfClientX();
IDfClient c=cx.getLocalClient();
IDfSessionManager sm=c.newSessionManager();
IDfLoginInfo login=cx.getLoginInfo();
login.setUser(uname);
login.setPassword(pwd);
sm.setIdentity(docbase, login);
IDfSession s=sm.getSession(docbase);
if(s!=null)
{
System.out.println("Session obtained succesfull");
System.out.println(s);
sm.release(s);
}
else
{
System.out.println("Login failed");
}
}

}

DFC encrypt password

C:\Program Files\Documentum\Shared>java -cp dfc.jar com.documentum.fc.tools.Regi
stryPasswordUtils PodaPakki@1
tjpQYhBCA6f85aYcvhcIDA==

DFC Password Decrypt

package dctm1;

public class RecoverPW {

public static void main(String args[]) {

  try {
    if (args.length != 1) {
      System.err.println("usage: recoverPW password");
      System.exit(1);
    }

String password = args[0];

// try decrypting with BOF utils - shorter, base64 encoded passwords
      try {
      System.out.println(com.documentum.fc.tools.RegistryPasswordUtils.decrypt(password));
      } catch (Exception e) {
      }
      // try decrypting with API - longer, dm_encrypt_password passwords
      try {
      //System.out.println(com.documentum.dmcl.impl.DmclApi.getInstance().get("decrypttext,c,DM_ENCR_TEXT=" + password));
      } catch (Exception e) {
      }

    } catch(Exception e) {
      e.printStackTrace();
    }
  }
 }

ResourceBundle

package testJre; import java.util.ResourceBundle; public class testJre {  public static void main(String[] args) {   // TODO Auto-genera...