Pada kesempatan kali ini saya ingin menulis tentang API Oracle Webcenter Content.
Webcenter Content dimanfaatkan untuk penyimpanan dokumen secara elektornik. Dokumen perlu dijaga agar dapat diakses/dicari dengan mudah jika suatu saat nanti diperlukan. Webcenter Content juga dapat digunakan untuk mengatur masa hidup dokumen mulai dari pembuatan, pencarian, konversi, hinga pemusnahan dokumen apabila diperlukan.
Istilah penyimpanan dokumen dalam Webcenter Content adalah Check-in. Profile dokumen dapat dibuat sesuai dengan jenis dokumen untuk lebih memudahkan dalam pengarsipan. Ada banyak cara untuk melakukan check-in dokumen diantaranya adalah:
- Check-in langsung di Document Profile Webcenter Content
- Check-in di Webcenter Portal, apabila Webcenter Portal dan Content sudah ter-integrasi.
- Check-in dokumen via API dengan menggunakan Java.
Persiapan
- Saya menggunakan Webcenter Content versi 12.2.1.1.0
- lib oracle.ucm.ridc.jar
- Buat suatu class java dengan nama UcmClient.java
- Buat satu method khusus untuk define connection ke Webcenter Content
- Buat method checkInDocumen()
- Buat object main untuk melakukan execute method checkInDocument
public static final String idcConnectionUrl = "idc://localhost:4444"; public static final String sysadmin = "weblogic"; public static final int socketTimeout = 30000; public static final int connectionSize = 20; private IntradocClient idcClient; private IdcClientManager manager; private IdcContext userContext; public static void main(String[] args) throws IdcClientException, IOException { // TODO Auto-generated method stub UcmClient main = new UcmClient(); main.checkInDocument(); } public UcmClient() throws IdcClientException { // create the manager manager = new IdcClientManager(); // build a client that will communicate using the intradoc protocol idcClient = (IntradocClient) manager.createClient(idcConnectionUrl); // get the config object and set properties idcClient.getConfig().setSocketTimeout(socketTimeout); // 30 seconds idcClient.getConfig().setConnectionSize(connectionSize); // 20 // create a trusted user context userContext = new IdcContext(sysadmin); }
public void checkInDocument() throws IdcClientException, IOException { // create request DataBinder binder = idcClient.createBinder(); binder.putLocal("IdcService", "CHECKIN_UNIVERSAL"); // get the binder binder.putLocal("dDocTitle", "Test Checkin Document"); binder.putLocal("dDocName", "Test Checkin Document Using Java"); binder.putLocal("dDocType", "Document"); binder.putLocal("dSecurityGroup", "public"); // add a file binder.addFile("primaryFile", new TransferFile(new File("/Test.docx"))); // check in the file ServiceResponse response = idcClient.sendRequest(userContext, binder); DataBinder binderResult = response.getResponseAsBinder(); CollectionresultSetNames = binderResult.getResultSetNames(); for (String name : resultSetNames) { System.out.println(name); } }
public static void main(String[] args) throws IdcClientException, IOException { // TODO Auto-generated method stub UcmClient main = new UcmClient(); main.checkInDocument(); }
Berikut adalah source code lengkapnya.
import java.io.File; import java.io.IOException; import java.util.Collection; import oracle.stellent.ridc.IdcClientException; import oracle.stellent.ridc.IdcClientManager; import oracle.stellent.ridc.IdcContext; import oracle.stellent.ridc.model.DataBinder; import oracle.stellent.ridc.model.DataObject; import oracle.stellent.ridc.model.DataResultSet; import oracle.stellent.ridc.model.DataResultSet.Field; import oracle.stellent.ridc.model.TransferFile; import oracle.stellent.ridc.model.impl.DataObjectImpl; import oracle.stellent.ridc.model.impl.DataResultSetImpl; import oracle.stellent.ridc.protocol.ServiceException; import oracle.stellent.ridc.protocol.ServiceResponse; import oracle.stellent.ridc.protocol.intradoc.IntradocClient; public class UcmClient { public static final String idcConnectionUrl = "idc://localhost:4444"; public static final String sysadmin = "weblogic"; public static final int socketTimeout = 30000; public static final int connectionSize = 20; private IntradocClient idcClient; private IdcClientManager manager; private IdcContext userContext; public static void main(String[] args) throws IdcClientException, IOException { // TODO Auto-generated method stub UcmClient main = new UcmClient(); main.checkInDocument(); } public UcmClient() throws IdcClientException { // create the manager manager = new IdcClientManager(); // build a client that will communicate using the intradoc protocol idcClient = (IntradocClient) manager.createClient(idcConnectionUrl); // get the config object and set properties idcClient.getConfig().setSocketTimeout(socketTimeout); // 30 seconds idcClient.getConfig().setConnectionSize(connectionSize); // 20 // create a trusted user context userContext = new IdcContext(sysadmin); } public void checkInDocument() throws IdcClientException, IOException { // create request DataBinder binder = idcClient.createBinder(); binder.putLocal("IdcService", "CHECKIN_UNIVERSAL"); // get the binder binder.putLocal("dDocTitle", "Test Checkin Document"); binder.putLocal("dDocName", "Test Checkin Document Using Java"); binder.putLocal("dDocType", "Document"); binder.putLocal("dSecurityGroup", "public"); // add a file binder.addFile("primaryFile", new TransferFile(new File("/Test.docx"))); // check in the file ServiceResponse response = idcClient.sendRequest(userContext, binder); DataBinder binderResult = response.getResponseAsBinder(); CollectionresultSetNames = binderResult.getResultSetNames(); for (String name : resultSetNames) { System.out.println(name); } } }
Ada banyak API yang dapat kita gunakan selain untuk kebutuhan Check-in dokumen, kita juga dapat melakukan create user, delete user hingga pembuatan account. Untuk contoh java create user-nya ada di part2 ya..
Referensi
https://docs.oracle.com/cd/E23943_01/doc.1111/e10807/c21_idc.htm#CSSDK325
Hi,
ReplyDeleteYou are using RIDC to connect content server. IdcCommand Utility is different where you write a configuration file and run commands using this utility.