Sunday, December 15, 2013

BPM HumanTask - Reuse TaskFlow Form

Pada blog kali ini saya membagikan tips bagaimana me-reuse ui task form yang sama di bpm. Pertama - tama pastikan payload antara human task sama.

  1. Buka human task , pilih tab source
  2. Copy targetNamespace. 
  3. Lalu buka UI project, yang ada di dalam application source, buka hwtaskflow.xml

    <hwTaskFlow>
    <WorkflowName>HumanTask1</WorkflowName>
    <TaskDefinitionNamespace>http://xmlns.oracle.com/sample/HumanTask1</TaskDefinitionNamespace>
    <TaskFlowId>HumanTask1_TaskFlow</TaskFlowId>
    <TaskFlowFileName>WEB-INF/taskFlows/HumanTask1_TaskFlow.xml</TaskFlowFileName>
    </hwTaskFlow>
    
  4. Ganti <WorkflowName> dan <TaskDefinitionNamespace> value dengan humantask2 WorkflowName dan Namespace. 

    <hwTaskFlow>
    <WorkflowName>HumanTask1</WorkflowName>
    <TaskDefinitionNamespace>http://xmlns.oracle.com/sample/HumanTask1</TaskDefinitionNamespace>
    <TaskFlowId>HumanTask1_TaskFlow</TaskFlowId>
    <TaskFlowFileName>WEB-INF/taskFlows/HumanTask1_TaskFlow.xml</TaskFlowFileName>
    </hwTaskFlow>
    <hwTaskFlow>
    <WorkflowName>HumanTask2</WorkflowName>
    <TaskDefinitionNamespace>http://xmlns.oracle.com/sample/HumanTask2</TaskDefinitionNamespace>
    <TaskFlowId>HumanTask1_TaskFlow</TaskFlowId>
    <TaskFlowFileName>WEB-INF/taskFlows/HumanTask1_TaskFlow.xml</TaskFlowFileName>
    </hwTaskFlow>



Sekian blog dari saya. TerimaKasih........

Customize bahasa di webcenter spaces

Blog kali ini saya akan membahas bagaimana menambah/customize bahasa di webcenter spaces.

Sebelom memulai :
Overview :

Langkah 1 buka sample project dengan jdeveloper,buka project LanguageAdditions . Dapat dilihat gambar di bawah terdapat java resource bundle class yang bernama WebCenterResourceBundle_ca. Dengan kelas tersebut kalian bisa menambahkan bahasa baru "ca" tersebut merupakan id untuk sebuah bahasa (Catalan). Jika kalian ingin mengubah bahasa inggris tinggal mengganti "ca" menjadi "en".

Langkah 2 buka file supported-language dan tambahkan jika kalian menggunakan bahasa baru yg tidak di dukung webcenter spaces


Langkah 3 buka file config.properties. 

Langkah 4 klik clean-stage, lalu klik deploy-shared-lib

Langkah 5 untuk membuat bahasa barua tersedia di spaces application, tambah "Catalan" <language> tag untuk supported-languages.xml
  • buka Weblogic Scripting Tool (WLST) di WC_ORACLE_HOME/common/bin
  • gunakan command WLST exportMetadata untuk download supported-languages.xml dari MDS.   ExportMetadata(application='webcenter',server='WC_Spaces',toLocation='/tmp/myMDSfiles',docs='/oracle/webcenter/webcenterapp/metadata/supported-languages.xml') 
  • Lalu edit file dan tambahkan : <language name=" Catalan" id="ca" used="true" activeicon="nlse_a.gif" inactiveicon="nlse.gif" translated="true"/>
     
  • Dan langkah terakhir gunakan WLST command importMetadata.
     importMetadata(application='webcenter', server='WC_Spaces', fromLocation='/tmp/myMDSfiles',docs='/oracle/webcenter/webcenterapp/metadata/supported- languages.xml')


Langkah 6  - editing shared library list (weblogic.xml). Untuk lebih detail klik link ini.


Langkah Terkahir login ke Spaces Application ke menu administration -> ganti default language 


Klik disini untuk language pack spaces
Sekian blog singkat saya :D 







RESTful Service with Spring Roo

Sebelum, kami membahas cara membuat aplikasi CRUD (Create, Read, Update and Delete) sederhana berdasarkan Class Diagram berikut :









Dari aplikasi tersebut, kami akan menambahkan RESTful Service dengan JSON format sebagai nilai pengembaliannya.

Caranya begitu mudah, yaitu :

  1. Lakukan langkah 1 hingga 15 pada blog sebelumnya.
  2. Ketik json all pada bagian Roo Shell.
  3. Ketik web mvc json all pada bagian Roo Shell.
  4. Jalankan dengan maven parameter -e clean tomcat:run
Untuk testing bisa menggunakan Poster (add-on pada firefox atau google chrome browser). Untuk lebih detail, bisa kita lihat demonya disini.

Sekali lagi kita disajikan kemudahan pembuatan RESTful Service dengan menggunakan Spring Roo.

Enjoy.

Rapid Application Development with Spring Roo

Di dalam proses pembuatan software, sering kali kita mendengar RAD. RAD adalah Rapid Application Development, metodology pengembangan perangkat lunak yang menggunakan template prototyping. Dengan adanya template prototyping yang di buat oleh framework, akan mempercepat (Rapid) proses development. Dari itu semua, yang terpenting adalah mudah untuk di modifikasi yang disesuaikan dengan kebutuhan developer.

Banyak sekali framework RAD yang ada di pasaran. Salah satunya adalah Spring Roo. Spring Roo adalah salah satu web framework yang di buat dengan bahasa pemrograman java. Spring Roo dinaungi oleh Spring.

Kenapa harus Spring Roo, karena :
  1. Mempercepat produktifitas.
  2. Standart Java API.
  3. Mudah digunakankan.

Untuk lebih mengenal Spring Roo, mari kita membuat aplikasi sederhana berdasarkan Class Diagram berikut :









Dari Class Employee ini kita membuat CRUD Operation menggunakan Spring Roo.

Sebelumnya pastikan kita sudah menginstall Spring Roo. Jika belum terinstall lakukan langkah berikut :

  1. Download Spring Tool Suite (STS) disini
  2. Jalankan STS-nya
  3. Pilih Help - Marketplace
  4. Tulis Roo pada di bagian Find
  5. Klik Install untuk menambahkan add-on Spring Roo
  6. Klik confirm
  7. Pilih I accept untuk melanjutkan proses instalasi.
  8. Klik Finish dan tunggu hingga proses instalasi selesai









Selanjutkan kita akan membuat aplikasi dengan Spring Roo. Ikuti langkah-nya sebagai berikut :
  1. Buka STS aplikasi.
  2. Klik File - New
  3. Pada bagian Wizards, tulis roo lalu tekan Enter
  4. Project Name: Employee
  5. Top level package name: com.demo
  6. Klik tombol Next lalu klik tombol Finish
  7. Ketik jpa setup --database MYSQL --provider HIBERNATE pada bagian Roo Shell
  8. Untuk setting database, bisa kita lakukan di database.properties yang terletak di Employee/src/main/resources/META-INF/spring
  9. Ketik entity jpa --class ~.domain.Employee --testAutomatically pada bagian Roo Shell
  10. Ketik field string --fieldName firstName --notNull --sizeMax 20 pada bagian Roo Shell
  11. Ketik field string --fieldName lastName --notNull --sizeMax 20 pada bagian Roo Shell
  12. Ketik field string --fieldName email --notNull pada bagian Roo Shell
  13. Ketik field date --fieldName joinDate --type java.util.Date --dateFormat SHORT pada bagian Roo Shell
  14. Ketik web mvc setup pada bagian Roo Shell
  15. Ketik web mvc all --package ~.controller pada bagian Roo Shell
  16. Jalankan dengan maven dengan parameter -e clean tomcat:run
Layar Utama

Menambah Data Employee

Daftar dari semua data Employee

Lihat, begitu mudahnya kita membuat aplikasi CRUD (Cread, Read, Update and Delete) dengan menggunakan Spring Roo. Cukup dengan membuat :

  1. Domain/Model
  2. Controller

Sisanya di tangani oleh Spring Roo.

Itulah sekilas info tentang Spring Roo dan untuk blog kami selanjutkan masih dengan Spring Roo yang berkaitan dengan pembuatan RESTfull Service dari aplikasi diatas. 

Enjoy

ADF table multiple selection tanpa business component

Ada kalanya saat menggunakan ADF, kita mem-bind suatu table tidak melalui business component, misalnya data tersebut tidak berasal dari database, bisa jadi hasil dari suatu kalkulasi di engine tertentu dan resultnya berupa list, atau bisa juga data didapat dari invokasi service (soap/rest).

Melalui artikel ini saya ingin berbagi trik yang saya lakukan untuk melakukan multiple selection di adf table yang bindingnya tidak melalui business component, tetapi di-binding ke Object List yang ada di backing bean atau managed bean.

Kita tambahkan property boolean pada Object yang digunakan:
 public class AnObject{  
   private int id;  
   private String code;  
   private String description;  
   private boolean selected; // <- add this boolean property  
   //setter getter  
 }  

dan kita tambahkan checkbox di kolom table:
 <af:commandButton text="Print Selected" action="#{TestPageBacking.printSelected}"/>  
 <af:table var="row" rowBandingInterval="0"  
      value="#{TestPageBacking.listObject}"  
      styleClass="AFStretchWidth"  
      columnStretching="last">  
   <!-- add this checkbox column -->  
   <af:column sortable="false" headerText="" width="20">  
     <af:selectBooleanCheckbox value="#{row.selected}"/>  
   </af:column>  
   <af:column sortable="false" headerText="id" width="200">  
     <af:outputText value="#{row.id}"/>  
   </af:column>  
   <af:column sortable="false" headerText="code">  
     <af:outputText value="#{row.code}"/>  
   </af:column>  
   <af:column sortable="false" headerText="description">  
     <af:outputText value="#{row.description}"/>  
   </af:column>  
 </af:table>  

di backing bean (TestPageBacking), di method printSelected dibuat checker utk object yang selected:
 private List<AnObject> listObject;  
 public void printSelected(){  
  System.out.println("selected objects:");  
  for(int i=0; i<listObject.size();i++){  
   if(listObject.get(i).isSelected()){  
    AnObject ao = listObject.get(i);  
    System.out.println("- "+ao.getId()+", "+ao.getCode()+", "+ao.getDescription());  
   }  
  }  
 }  
 //setter getter listObject   

contoh tampilannya:

bila di-klik button Print Selected, maka akan terlihat di log:
 selected objects:  
 - 1, satu, object pertama  
 - 3, tiga, object ketiga  

Semoga berguna.