Bagaimana deploy sharepoint workflow pada load balancing server

Hemm… masalah ini ditemui waktu deploy workflow yang sudah dibuat ke server production client. Gampang-gampang susah ternyata. Topologi servernya seperti berikut ini :

myState Ada 4 server yang berjalan, 3 server sebagai sharepoint server dan 1 lagi sebagai database server, berikut detailnya :

-> 1 Server , running form load balancer services, dan indexing services

-> 2 Server, running web server

So, awalnya sempat bingung, kemana workflow harus diupload ? Usut punya usut, ternyata 3 server web, punya 1 alamat yang sama di client, eg : http://myspserver. So, batch file yang di create cukup point ke nama server tersebut untuk activate workflow. tapi ternyata ada masalah lain, yaitu karena bisa saja request dari client dilayani oleh server yang lain ( yg running web server ), so dll file dari code harus di upload dan diregister ke masing-masing web server. Hmm.. cukup ribet ternyata.

Apakah sudah sukses ? Ternyata belum, masih ada yang belum jalan. Content type form yang di diupload ternyata statusnya masih uploading, dan tidak berubah meski udah ditungguin selama 1 malam. Hikhik. Setelah diusut, ternyata service yang execute untuk upload dan activate content type form belum dijalankan. Mungkin ini masalahnya. Sebab jika kita menggunakan 1 server all in one, service untuk update akan langsung di excute. Uh…. setelah ngejalanin servicesnya, semuanya siap untuk di coba. Alhamdulillah, selesai juga. Sekarang tinggal menunggu feedback dari user. Semoga semua lancar. Amin…

Sharepoint Series : How to Create Data Connection Library

Artikel kali ini akan menjelaskan langkah – langkah membuat data connection library di sharepoint server. Diharapkan, setelah membaca artikel ini, dapat mempermudah dalam proses development form InfoPath, terutama yang banyak menggunakan koneksi kedatabase. Ok, mari kita mulai… 😀

Step 1 :

Buatlah sebuah Library dari menu Site Action –> Create –> Data Connection Library. Isikan semua property yang dibutuhkan. [ Name and Description, Navigation -> pilih No, Version History -> Pilih No ]

Step 2 :

Buatlah sebuah Data Connection Definition dengan format XML, bisa menggunakan sample berikut :

   1: <?xml version="1.0" encoding="UTF-8"?>
   2: <?MicrosoftWindowsSharePointServices ContentTypeID="0x010100B4CBD48E029A4ad8B62CB0E41868F2B0"?>
   3: <udc:DataSource MajorVersion="2" MinorVersion="0" xmlns:udc="http://schemas.microsoft.com/office/infopath/2006/udc">
   4:     <udc:Name>MyDataDefinition</udc:Name>
   5:     <udc:Description>Format: UDC V2; Connection Type: Database; Purpose: ReadOnly;</udc:Description>
   6:     <udc:Type MajorVersion="2" MinorVersion="0" Type="Database">
   7:         <udc:SubType MajorVersion="0" MinorVersion="0" Type=""/>
   8:     </udc:Type>
   9:     <udc:ConnectionInfo Purpose="ReadOnly" AltDataSource="">
  10:         <udc:WsdlUrl/>
  11:         <udc:SelectCommand>
  12:             <udc:ListId/>
  13:             <udc:WebUrl/>
  14:             <udc:ConnectionString>
  15:                 Provider=SQLOLEDB.1;
  16:                 Initial Catalog=MyTestDB;Data Source=myserver;
  17:                 User ID=myuser;Password=mypassword;Persist Security Info=True;Use Procedure for Prepare=1;Auto Translate=True;
  18:                 Packet Size=4096;Workstation ID=mypc;Use Encryption for Data=False;Tag with column collation when possible=False</udc:ConnectionString>
  19:             <udc:ServiceUrl UseFormsServiceProxy="false"/>
  20:             <udc:SoapAction/>
  21:             <udc:Query>
  22:                 select * from mytable where id=null
  23:             </udc:Query>
  24:         </udc:SelectCommand>
  25:         <udc:UpdateCommand>
  26:             <udc:ServiceUrl UseFormsServiceProxy="false"/>
  27:             <udc:SoapAction/>
  28:             <udc:Submit/>
  29:             <udc:FileName>Specify a filename or formula</udc:FileName>
  30:             <udc:FolderName AllowOverwrite=""/>
  31:         </udc:UpdateCommand>
  32:         <!--udc:Authentication><udc:SSO AppId='' CredentialType='' /></udc:Authentication-->
  33:     </udc:ConnectionInfo>
  34: </udc:DataSource>

Save menjadi file dengan extention udcx. Bagian mana saja yang harus anda modifikasi ?

  • <udc:Name></udc:Name>, ini untuk mendefinisikan nama Connection Library kita. Buatlah berbeda dgn yang lainnya
  • <udc:ConnectionString></udc:ConnectionString>, ini bagian dimana kita mendeklarasikan kemana koneksi akan di lakukan. pastikan semua informasi yang dimasukkan benar ( username, password ) agar bisa konek dengan database yang diinginkan. Bagi yang biasa main-main dengan Connection String di .NET, bentuk ini adalah bentuk yang biasa.
  • <udc:Query></udc:Query>, pada bagian ini, dispesifikasikan data yang ingin di ambil. Ini adalah bentuk SQL statement biasa, yang lazim digunakan. Bagaimana jika kita ingin dinamik ? hehehe,, tunggu saja bagian berikutnya.

Step 3:

Langkah selanjutnya adalah upload file udcx yg telah kita buat tadi, ke library yang kita buat pada langkah 1.  Yang harus diperhatikan adalah, file yang kita upload tidak bisa langsung digunakan, karena statusnya masih pending. So, you must approved it first. Letakkan mouse pointer pada nama file yang baru saja di upload, klik edit -> pilih approve/reject. Akan muncul form approval, pilih approve, kemudian pilih ok. Done. Connection Library kita sudah siap untuk digunakan. Congratulation……

Ok, itu saja dulu. Pada bagian selanjutnya, akan dibahas bagaimana menggunakannya pada InfoPath Form. Selamat Belajar