Archive by Author

Tutorial membuat aplikasi berbasis plugin menggunakan VB.NET dan MEF

Baru bikin artikel yang membahas pembuatan aplikasi berbasis plugin menggunakan VB.NET dan MEF (Manage Extensibility Framework ). Baca lebih lanjut di http://waroengvb.net/membuat-aplikasi-berbasis-plug-in-menggunakan-manage-extensibility-framework-mef/

Upgrade prestashop

Detail cara upgrade sudah dijelaskan dengan detail di-wikinya. Tapi berikut proses yang aku gunakan untuk upgrade Prestashop ke versi yang lebih baru di hosting yang menggunakan CPanel.

Catatan : Prestashop sudah diinstall di root folder (\public_html\)

1. Backup terlebih dahulu database yang digunakan.

2. Jika Anda menggunakan bahasa selain bahasa Inggris, backup terlebih dahulu translationnya (dari menu Tools | Translations | Export a language).

3. Download Prestashop versi terbaru.

4. Extract filenya, kemudian compress lagi (dengan nama file, misalnya update.zip) tapi tanpa root folder (kalo urang jelas lihat perbandingan dibawah)

zip

5. Buat folder baru diserver, misalnya backup.

6. Login ke CPanel, pilih File Manager :

7. Pindahkan/move semua folder dan file prestashop ke folder backup.

8. Upload file update.zip tadi ke root dan extract.

9. Jika Anda sudah memodifikasi Modul yang ada, copy module tersebut dari folder backup ke root, demikian juga dengan folder img, mails dan theme (jika menggunakan custom theme).

10. Copy file settings.inc.php dari folder backup\config ke public_html\config.

config-backup

9. Buka http://domainanda.com/install dan ikuti petunjuknya (prosesnya lebih kurang sama dengan instalasi Prestashop pertama kali).

10. Jika proses instalasi berjalan lancar dan Anda berhasil login ke back office, perhatikan bagian footernya karena disana terdapat informasi versi Prestashop yang sedang digunakan. Jangan lupa untuk me-restore kembali translation diatas (jika menggunakan bahasa selain Inggris).

ver

C# – VB.NET (Offline) Code Converter

2009-08-21_042147

Here’s the offline version of the C#-VB.NET code converter. The code conversion engine and syntax formatting is powered by the awesome NRefactory of Sharpdevelop.

Feel free to download and or modify the source code.

Download Binary | Source code

The truth about typebased theme

ow, ternyata typebased, wordpress theme yang digunakan di blog ini adalah buatan indonesia, akhirnya pake produk dalam negeri juga hwhwhwhw.

Theme ini dipake karena simple tapi teteup elegan :) ,, doea jempol buat Armono Wibowo, the creator of this theme. Nice job!

Tutorial Subversion #2 – Konfigurasi

Sebagai studi kasus, katakanlah satu team developer sedang mengerjakan project Accounting, dengan susunan teamnya seperti gambar dibawah ini:

group

Catatan : Goku, sebagai team lead, dapat mengakses (baca dan tulis) semua project. Pikolo, baca semua project, tulis hanya ke modul A/R. Cell, baca semua project dan tulis hanya ke modul G/L.

Membuat user

Buka command prompt, masuk ke folder “C:\Program Files\CollabNet Subversion Server\httpd\bin” kemudian ketikkan perintah “htpasswd -cm C:\svn_repository\passwd goku” dan tekan tombol ENTER, Anda kemudian akan diminta untuk mengisi password dan file password akan dibuatkan juga difolder c:\svn_repository.

Selanjutnya, untuk menambah user lainnya cukup ketikan perintah “htpasswd -m C:\svn_repository\passwd namauser”.

Membuat Group

Buat sebuah file dengan nama “groups” (tanpa ekstension) di folder c:\svn_repository dan tambahkan baris berikut ini:

Lead: goku
ARDeveloper: pikolo
GLDeveloper: cell

Maksudnya, buat group Lead dengan membernya goku, Jika pada group terdiri dari beberapa user cukup gunakan spasi sebagai pemisahnya, semisal

Lead: Goku Gohan Bulma

Membuat repository

Repository maksudnya adalah folder/database untuk penyimpanan data nantinya. Tidak ada ketentuan untuk penamaan repository, Anda dapat menggunakan nama perusahaan, codename dari aplikasi dan sebagainya. Dalam satu repository, didalamnya nanti bisa terdapat satu atau beberapa project.

Untuk membuat repository baru, masuk ke command prompt, masuk ke folder c:\svn_repository kemudian ketikkan perintah “svnadmin create accounting” (accounting adalah nama repository yang akan digunakan)

Untuk mengecek apakah repository diatas telah dibuat dengan sukses, buka browser favorit Anda, dan ketikkan url berikut : http://localhost:8080/svn/accounting.

Jika terbuka dengan sukses, selamat!, Anda telah berhasil mengkonfigurasikan subversion server.

Selanjutnya, kita akan coba untuk mengupload project dan setup hak akses usernya.

Tutorial Subversion #1 – Instalasi Subversion (SVN) di Windows XP/Server

Bagi yang belum kenal, Subversion, atau dikenal juga dengan nama svn atau SVN, adalah suatu perangkat lunak sumber terbuka pengontrol versi yang dapat mengatur proses pengembangan perangkat lunak yang dilakukan oleh suatu kelompok pemrogram yang terpisah menjadi runut dan teratur (wikipedia).

Walaupun penggunaan SVN identik dengan penyimpanan dan versioning source code tapi sebetulnya bisa juga digunakan untuk dokumen atau file binary.

Bagi yang sudah familiar dengan program serupa, misalnya Source Safe, subversion memiliki cara kerja yang lebih kurang sama tapi dia memiliki keunggulan sendiri, diantaranya dapat diakses dengan cepat jika digunakan melalui internet. Tidak heran jika sudah banyak website yang menyediakan fasilitas/jasa untuk penyimpanan source code menggunakan Subversion ini, diantaranya sourceforge, google code, gitthub dan sebagainya.

Sebagai aplikasi yang biasa digunakan untuk penyimpanan source code, Subversion tentunya dapat dijalankan baik di lingkungan Windows ataupun Linux. Pada artikel ini, kita akan membatasi penggunannya pada sistem operasi Windows (Windows XP atau Windows Server).

Download Subversion

Subversion server dapat didownload di URL berikut ini: http://www.collab.net

Instalasi Subversion/SVN Server

Instalasi CollabNet Subversion Server tidaklah sulit, tetapi ada beberapa point yang harus diperhatikan:

1. Sebagai servernya Anda dapat menggunakan SVNSERVE ataupun Apache. Pada tutorial ini, hiraukan dulu SVNSERVE (jangan beri tanda centang) dan pilih Apache.

step-1

2. Set the nama host dan port, folder tempat menyimpan data, dan prefix yang akan digunakan. Jika port 80 sudah digunakan oleh IIS, Anda dapat menggunakan port lain, misalnya port 8080.

step-2

Jika proses instalasi sukses, service untuk menjalankan Subversion dapat ditemukan di daftar service milik Windows..

step-3

Tetapi ketika dijalankan pertama kali akan muncul eror seperti berikut ini “Windows could not start the Collabnet Subversion Apache on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor ..”

Kalau ditengok di Event Log, pesan yang muncul adalah sebagai berikut:

SVN eror

Itu tidak lain karena mod_dav_svn tidak menemukan file runtime yang dia perlukan. Solusinya, copy semua file DLL yang ada di folder C:\Program Files\CollabNet Subversion Server ke folder C:\Program Files\CollabNet Subversion Server\httpd\bin dan
C:\Program Files\CollabNet Subversion Server\httpd\modules.

3. Jalankan kembali servicenya, kali ini harusnya dapat berjalan dengan sukses.

4.   Cek jika subversion telah aktif dengan mengetikan URL berikut ini di browser favorit Anda: http://localhost:8080 atau http://localhost:8080/svn .

step-4

Dibagian selanjutnya kita akan coba mengkonfigurasikan SVN server ini.

Membuat Accelerator untuk Internet Explorer 8 – Code Converter

cstovb

BTW, post ini merupakan studi kasus dari artikel yang telah dibuat sebelumnya di geeks.

Tentang Accelerator

Accelerator, yang pada Internet Explorer 8 beta disebut dengan Activities, adalah suatu konsep baru yang memungkinkan user untuk berinteraksi dengan web service atau aplikasi dari kebiasan browsing Anda (di internet). Maksudnya, katakanlah Anda kesulitan dengan bahasa Inggris, dan ketika browsing sebuah halaman web dan menemukan kalimat yang tidak Anda kenal (mungkin) seringkali Anda meng-copy kalimat tersebut kemudian membuka website atau program lain untuk menterjemahkan, paste kalimat tadi dan bum! Anda mendapatkan kalimat yang sudah diterjemahkan.

Proses diatas sebetulnya sederhana tapi sebetulnya membutuhkan beberapa tahapan:

  1. Copy kalimat ke clipboard
  2. Buka Website/Program lain untuk menterjemahkan.
  3. Paste kalimat tadi.
  4. Eksekusi untuk mendapatkan apa yang Anda inginkan.

Nah, dengan Acceleratornya IE8, tahapan diatas jadi lebih mudah lagi, cukup (1) sorot kalimat yang akan ditranslate (2) Klik kanan atau klik icon biru untuk menampilkan daftar Accelerator yang tersedia di PC Anda, dan (3) Pilih/klik pada menu Accelerator untuk translate.

Jika Accelerator mendukung mode Preview, sebetulnya ketika menyorot Accelerator untuk Translate hasilnya dapat Anda lihat langsung tanpa harus browser membuka tab baru.

Walaupun bisa menampilkan jendela preview, ternyata fitur preview ini masih mempunyai kekurangan,

Fitur preview ini sangatlah bagus, tapi menurut dokumentasinya, fitur ini masih mempunyai kekurangan, diantaranya ukuran yang terbatas (sekitar 320×240 pixel), diluar itu konten akan kepotong, juga tidak disarankan untuk menampilkan scrollbar pada jendela preview ini.

Tentang Code Converter

Untuk mempelajari teknologi baru seperti Accelerator ini tidaklah seru kalo tidak dengan membuat satu produk yang bermanfaat. Dan salah satu yang menjadi kandidat adalah code converter. Mengapa ? jika Anda sebagai VB developer mungkin bisa jadi tahu kalau artikel-artikel di internet kebanyakan kodenya dibuat pake C#. Kalo sampai beberapa baris mungkin masi ok lah, masi bisa dicerna tapi kalo sudah puluhan baris dan kompleks si… gile dah.

Nah disinilah Accelerator-nya si IE ini bisa bermanfaat. Jadinya kalo nemu kode C# tinggal sorot aja, pilih menu “Convert C# to VB” maka kode VB-nya akan tampil di window preview. Untuk lebih detailnya, Anda dapat juga meng-klik menu “Convert C# to VB” dan kode VB-nya akan ditampilkan di halaman tersendiri.

Untuk membuat code converter tidaklah sulit karena sebetulnya sudah ada engine untuk itu, yaitu NRefactory* buatan SharpDevelop, bahkan beberapa online converter yang populer seperti milik telerik, dsb. sebetulnya dibuat dengan memanfaatkan engine yang sama.

* NRefactory (assembly-nya punya nama ICSharpCode.NRefactory.dll) dapat Anda temukan jika Anda sudah memasang SharpDevelop di PC Anda.

Contoh kode untuk konversi dari C# ke VB menggunakan NRefactory:

Imports ICSharpCode.NRefactory

Imports ICSharpCode.NRefactory.Ast

Imports ICSharpCode.NRefactory.Parser

Imports ICSharpCode.NRefactory.PrettyPrinter

Imports ICSharpCode.NRefactory.Visitors

''' <summary>

''' Konversi dari C# ke VB

''' </summary>

''' <param name="input">Blok kode</param>

''' <param name="errorMsg">Pesan error</param>

''' <returns>String</returns>

''' <remarks></remarks>

Private Function ConvertCSharpToVB(ByVal input As String, ByRef errorMsg As String) As String

    Dim parser As SnippetParser = New SnippetParser(SupportedLanguage.CSharp)

    Dim node As INode

    Try

        node = parser.Parse(input)

    Catch ex As Exception

        errorMsg = parser.Errors.ErrorOutput

        Return ""

    End Try

    If (parser.Errors.Count > 0) Then

        errorMsg = parser.Errors.ErrorOutput

        Return ""

    End If

    PreprocessingDirective.CSharpToVB(parser.Specials)

    node.AcceptVisitor(New CSharpConstructsConvertVisitor(), Nothing)

    node.AcceptVisitor(New ToVBNetConvertVisitor(), Nothing)

    Dim output As VBNetOutputVisitor = New VBNetOutputVisitor()

    Using (SpecialNodesInserter.Install(parser.Specials, output))

        node.AcceptVisitor(output, Nothing)

    End Using

    Return output.Text

End Function

Membuat Accelerator

Untuk Accelerator ini dibuat website yang berfungsi sebagai penyedia jasa konversi kode diatas. Website ini dibuat menggunakan ASP.NET MVC tapi sebetulnya pake WebForm bisa juga,

“Inti” dari konversi kode ini sebetulnya ada di pada 2 form berikut :

Form Preview

   1: <form action="http://localhost:1800/convert/preview">

   2: <input type="text" name="f" value="cstovb" />

   3: <input type="text" name="c" />

   4: </form>

Form Convert

   1: <form action="http://localhost:1800/convert">

   2: <input type="text" name="f" value="cstovb" />

   3: <input type="text" name="c" />

   4: </form>

Jika Anda perhatikan form diatas menggunakan 2 parameter, yaitu f/format dan c/code untuk kode yang akan dikonversi. Jika kode diatas kita buat kedalam format OpenService yang digunakan oleh Accelerator maka akan menjadi file xml dengan isi sebagai berikut (file ini kemudian diberi nama cstovb-accelerator.xml):

<?xml version="1.0" encoding="UTF-8" ?>

<openServiceDescription xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">

  <homepageUrl>http://localhost:1800</homepageUrl>

  <display>

    <name>Convert C# to VB</name>

    <icon>http://localhost:1800/favicon.ico</icon>

  </display>

  <activity category="C# Converter">

    <activityAction context="selection">

      <preview method="post" action="http://localhost:1800/convert/preview">

        <parameter name="f" value="cstovb" ></parameter>

        <parameter name="c" value="{selection}" ></parameter>

      </preview>

      <execute method="post" action="http://localhost:1800/convert">

        <parameter name="f" value="cstovb" ></parameter>

        <parameter name="c" value="{selection}" ></parameter>

      </execute>

    </activityAction>

  </activity>

</openServiceDescription>

Catatan : URL yang digunakan diatas adalah URL di pc lokal. {selection} adalah string yang dikirimkan oleh accelerator.

Agar pengunjung dapat menambahkan Accelerator yang kita buat ini, dibuat link untuk instalasinya sebagai berikut:

   1:

   2: <button id="cstovb" onclick="javascript:window.external.addservice('cstovb-accelerator.xml')">Install C# to VB Converter - Accelerator</button>

   3:

Setelah dijalankan, aplikasi ini akan tampil seperti gambar diatas.

GoogleMap License to share

About SubGurim Google Map control

GoogleMaps.Subgurim.NET is the most advanced Google Maps control for ASP.NET 2.0. With the full power of the official GoogleMaps API, yet without the need of a single line of javascript code: only ASP.NET!

Just drag the control in Visual Studio, and with a few lines of code you will be able program powerful Google Maps applications!!

Well, I’ve been rewarded 100 license of Subgurim’s GoogleMap control for translating the website to Indonesian and I’m about to share 20 of them for FREE ! (FYI, each license is worth 10 EURO).

The rules

  1. You can use the license for personal or even commercial purposes.
  2. One email address can only request one license for a single domain.
  3. Please leave a comment with valid email, URL and a short description of your website (the license will be sent by email later).
  4. Valid for the first 20 requester.

note. The license will be created in the subgurims’s website so it’s valid and legal.

Meng-UNDO tab yang tertutup di browser

OperaAda hal menarik dengan Opera 10 : ketika sedang membaca satu artikel gag sengaja si tab tersebut ketutup, reflek – kalo pemakai windows – tentunya menekan tombol CTRL+Z untuk membatalkan, bah,,,, taunya si tab balik lagi,, cool. Setelah diusut ini ternyata udah fitur si Opera :) … BTW, browser lain yang ada fitur ini adalah FireFox hanya untuk shortcutnya berbeda, yaitu CTRL+SHIFT+T atau CTRL+F12.

Konversi dataset ke JSON

Setelah muter2 ketemu juga akhirnya. Biar gampangnya, serialisasi ke JSON menggunakan library JSON.NET, di websitenya ada beberapa versi tergantung versi .net framework yang digunakan. BTW, ini kodenya :

   1: Imports Newtonsoft.Json

   2: Private Function GetCustomer() As String

   3:     Dim retVal As String = ""

   4:     Dim ds As DataSet = DAL.Customer.GetCustomers

   5:

   6:     If ds IsNot Nothing AndAlso ds.Tables(0).Rows.Count > 0 Then

   7:         Dim custList As New List(Of Hashtable)()

   8:         For i As Integer = 0 To ds.Tables(0).Rows.Count - 1

   9:             Dim ht As New Hashtable()

  10:             Dim row As DataRow = TryCast(ds.Tables(0).Rows(i), DataRow)

  11:             ht("IDCustomer") = Convert.ToString(row("IDCustomer"))

  12:             ht("CustomerName") = Convert.ToString(row("CustomerName"))

  13:             custList.Add(ht)

  14:         Next

  15:         retVal = JavaScriptConvert.SerializeObject(custList)

  16:     End If

  17:

  18:     Return retVal

  19: End Function

Output yang dihasilkan adalah sebagai berikut (setelah dirapikan):

   1: [

   2: {"IDCustomer":"1","CustomerName":"Unyil"},

   3: {"IDCustomer":"2","CustomerName":"Cuplis"},

   4: {"IDCustomer":"3","CustomerName":"Ableh"}

   5: ]