I'm no longer affiliate with BataviaSoft

This is my update that i'm no longer affiliate or related with BataviaSoft. I would like to thank you to BataviaSoft management for joining me in since three years ago. Now, I will running my own business based on my own flag.

Hope this will clarify that I will change my email not to use bataviasoft.com or bataviasoft.nl domain anymore and also all BataviaSoft attributes in any form. Any question or infomation or contact related to BataviaSoft can directly addressed to their website.

I will start with a new journey to create some product that running on top of DotNetNuke Web Application Framework.

You can contact me at dnnaccelerator@gmail.com

 

 

May God almighty give a lot of success to PT. BataviaSoft in all their way.

Share this post: | | | |
Posted by agung | with no comments
Filed under:

Belajar dari kalimat: WHAT YOU SAY ONLY!

Benar, saya mendapat hikmah ini ketika membaca ulang percakapan salah seorang teman di milis yang mengatakan 'WHAT YOU SAY ONLY!'. Dan kita bisa mengambil hikmah dari kalimat tersebut.

Sebelumnya, mungkin saya akan sedikit cerita mengenai beberapa kisah orang yang sukses berkat 'WHAT YOU SAY ONLY!'.

  1. Jim Carey. Ya, siapa yang tidak tahu dengan tokoh utama film si topeng hijau alias The Mask ini. Tapi tahukah Anda bahwa sebelum sukses, Jim punya kebiasaan unik. Yakni setiap pagi dia memainkan suara dan bentuk wajahnya di depan cermin untuk meniru karakter, suara, pola, tingkah laku tidak hanya manusia tapi juga hewan. Setelah selesai, dia mengambil secarik kertas dan sebuah alat tulis. Apa yang dia lakukan dengan alat tulis dan kertas tersebut? Yakni dia menulis sebuah cek! Ya dia menulis sebuah cek senilai 1 juta dolar, dan kemudian dimasukkan ke dalam sakunya sambil tersenyum. Ketika orang lain tahu tindakannya, dia dicemooh dan orang-orang mengatakan "Jim, kau sudah gila! 1 juta dolar? WTH! That's WHAT YOU SAY ONLY Jim!". Dan kemudian seiring perjalanan waktu, dia benar-benar mengantongi cek 1 juta dolarnya.
  2. Billi Lim, seorang pengusaha yang jatuh bangun berkali-kali. Pernah dililit hutang dan kemudian bangkrut, kemudian bangkit lagi. Menulis buku mengenai hikmah kegagalan dan ditolak berkali-kali oleh penerbit sambil di cemooh "Hey Bill, you are not Dale Carnegie. Do you want your book to be best seller? That's WHAT YOU SAY ONLY Bill!". Dan kemudian, bukunya benar-benar menjadi best seller yang sudah diterjemahkan lebih dari 9 bahasa di seluruh dunia.
  3. Kolonel Harland Sanders. Mungkin semua dari kita hampir pernah merasakan lezatnya ayam goreng Kentucky. Tetapi tidak semua dari kita tahu bagaimana 'ayam goreng' tersebut berjuang hingga menjadi seperti sekarang ini. Ketika dulu Mr. Sanders berkeliling menjajakan resep ayam gorengnya dari rumah makan satu ke yang lain, dari restoran satu ke yang lain, dia ditolak lebih dari 1000 kali sembari di remehkan 'Hey Sanders, this is your best recipe? That's WHAT YOU SAY ONLY!". Dan akhirnya sebuah restoran kecil di Kentucky menerimanya. KFC sekarang omzetnya sudah jutaan dolar. Bayangkan kalau dia menyerah, maka kita tidak bisa menikmati lezatnya ayam goreng Kentucky. Tercatat ia gagal sebanyak 1433 kali mencoba. Impian meraih sukses tidak harus di masa kecil. Impian bisa juga di saat usia senja.
  4. F.W. Woolworth, dulunya hanya seorang penjaga toko saja. Lalu karena bosnya ingin semua barang dagannya habis dari gudang, maka dia meminta Woolworth menjualnya dengan harga yang sama yakni 10 sen. Dan ternyata barang langsung ludes habis. Ide ini menjadi inspirasi Woolworth untuk membuka toko sendiri dan menjual barang seharga 5 sen dan 10 sen. Tapi ternyata diterima dengan dingin oleh bosnya sambil berkata "Tidak banyak barang yang bisa dijual dengan harga 5 atau 10 sen. Man, that's WHAT YOU SAY ONLY!". Dan akhirnya Woolworth memiliki jaringan usaha diseluruh Amerika. Beberapa waktu kemudian, bosnya mengakui dengan pahit "Sepanjang yang saya ketahui, setiap kata yang membuat Woolworth patah semangat, saya justru mengalami kerugian jutaan dolar.".
  5. Muhammad Yunus. Jika Anda belum tahu beliau, maka saya akan informasikan dengan singkat bahwa beliau adalah peraih hadiah nobel perdamaian 2006 yang mendirikan Bank Grameen yang kini memiliki 2.226 cabang di 71.371 desa dan mampu menyalurkan kredit puluhan juta dollar AS per bulan kepada 6,6 juta warga miskin di Bangladesh. Ia berkata, "Saya mulai membenci diri saya sendiri karena bersikap arogan dan menganggap diri saya bisa menjawab persoalan kemiskinan. Kami profesor universitas semuanya pintar, tetapi kami sama sekali tidak tahu mengenai kemiskinan di sekitar kami. Sejak itu saya putuskan kaum papa harus menjadi guru saya," tambahnya. Dari perasaan bersalah itu, laki-laki kelahiran Chittagong tahun 1940 itu mulai mengembangkan konsep pemberdayaan kaum papa. Filosofi yang dia bangun adalah bagaimana membantu kaum miskin agar bisa mengangkat derajat mereka sendiri. Dia tidak ingin memberi ikan, melainkan memberi pancing kepada kaum papa untuk mencari ikan sendiri. Di awal dia melakukan semua itu, dia mendapat tekanan dan cemoohan dari teman-temannya dengan mengatakan yang intinya "Yunus, you are crazy! Your idea is hard to implement! That's WHAT YOU SAY ONLY!". Dan akhirnya dia meraih Nobel Perdamaian 2006 menyisihkan orang-orang terkenal lainnya.
  6. Walt Disney. Siapa yang tak kenal cerita kartun Disney. Tapi sedikit yang tahu bagaimana perjuangannya hingga bisa seperti sekarang ini. Pernah dari supir ambulans, bermimpi jadi artis (kemudian gagal), mulai belajar bikin kartun karena terinspirasi cara pembuatan kartun pada sebuah buku. Pernah bangkrut lebih dari sekali. Dan bermimpi ingin menjadi kartunis terkenal dunia. Teman-temannya mengejeknya sambil berkata "Hey Walt, that's WHAT YOU SAY ONLY!". Dan akhirnya sejarah mencatat Walt Disney adalah industri kartun terbesar sepanjang sejarah. Ucapannya yang terkenal adalah "If you can dream it, you can do it".
  7. Sam Walton, pendiri Wall-Mart. Terlahir di zaman serba sulit dan berasal dari keluarga miskin. Meski demikian, tekanan mengubahnya jadi orang yang tangguh dan mandiri hingga akhirnya dicatat menjadi sejarah. Ungkapannya yang terkenal adalah JIKA KITA MENCINTAI APA YANG KITA KERJAKAN MAKA DENGAN SENDIRINYA KITA AKAN BERBUAT YANG TERBAIK UNTUK MENGERJAKANNYA. HAL INI AKAN MENULAR DENGAN CEPAT PADA ORANG-ORANG SEKITAR KITA. Ia membagi resepnya untuk kita.
  8. Dan banyak lagi orang-orang yang bisa menjari inspirasi baik lokal maupun internasional seperti : Soekarno, Abdullah Gymnastiar, Surya Paloh, Fadel Muhammad, Abdul Latif, Puspo Wardoyo, Ciputra, Mooryati Sudibyo, Yahoo, Google, Microsoft, Intel, Mitsubishi, dan lain sebagainya yang tidak saya sebut secara lengkap yang dimulai dari 'Hey, that's what you say only!'. Tapi akhirnya dicatat dalam sejarah.

Semua orang yang ada di lingkungan mereka-mereka yang saya sebutkan pada umumnya sama, berkata "WHAT YOU SAY ONLY". Karena memang benar bahwa Jim hanya berkata pada dirinya sendiri. Karena memang benar bahwa Billi Lim hanya berkata pada dirinya sendiri. Karena memang benar bahwa Kolonel Sanders hanya berkata pada dirinya sendiri. Karena benar bahwa Sam Walton berkata pada dirinya sendiri.

Menurut Gede Prama, "Keberhasilan itu berawal dari keyakinan. Dan kita bisa mengubah banyak sekali hal lewat keyakinan. Sayangnya, keyakinan orang sering terbelenggu oleh pikiran-pikiran rasionalnya serta pengalaman-pengalaman ekstrim di masa lalu. Mereka yang gagal menumbuhkan keyakinan positif, sekalipun dia sangat berpotensi, biasanya justru gagal dalam kehidupan". Lebih lanjut dikatakan, "Saya mengenal banyak orang yang secara potensial biasa-biasa saja. Tapi karena didukung oleh yang namanya raksasa keyakinan, dia berhasil. Yang banyak terjadi adalah orang yang potensinya rendah tapi keyakinannya tinggi, dia berhasil. Sebaliknya ada orang yang potensinya tinggi tapi keyakinannya rendah, ya ndak berhasil". Pencetus teori "Tahi Sapi" ini berturut tentang teorinya bahwa "cara pandang positif yang bisa membangkitkan sebuah kebesaran hati apabila seseorang mendapat penghinaan atau perlakuan buruk dari orang lain".

Menurut Phillip Humbert, ada 7 hal yang melekat pada orang sukses yakni sebagai berikut :

  1. Tingkat pemahaman mereka. Hal pertama yang mengagumkan dari orang-orang sukses adalah tingkat pemahaman mereka atas diri mereka sendiri. Mereka tahu nilai-nilai dan tujuan-tujuan mereka. Mereka pun merasa nyaman dengan pilihan yang telah mereka buat dalam hidup ini. Jika mereka melakukan kesalahan mereka menyesalinya, namun mereka mampu berdamai dengan masa lalu. Mereka juga penuh gairah, percaya diri, dan optimis dalam memandang masa depan. Tidak mudah mengedepankan emosi dan tidak arogan dalam berbicara.
  2. Tujuan yang jelas. Orang-orang yang sukses memiliki tujuan yang tertulis, mulai dari apa yang harus mereka lakukan dalam 30 hari hingga program 10 tahun.
    Misalnya, para atlet yang sukses memiliki target untuk mencapai skor tertentu. Sedangkan pemimpin bisnis menuliskan target penjualan mereka. Mereka semua juga memiliki tujuan pribadi dan keluara yang dinyatakan secara detil sebagaimana tujuan profesional mereka. Saran yang kita semua pernah dengar bahwa: Tulislah tujuan Anda, benar-benar bekerja dan bermanfaat.
  3. Hubungan yang kuat. Mereka semua memahami jaringan hubungan teman dan kolega mereka. Mereka memberikan penghargaannya pada pelatih atau rekan yang pernah mengajari mereka segala sesuatu. Mereka juga membukakan pintu kesempatan yang diperlukan. Mereka sangat berterima kasih dan menghargai bahwa kesuksesan adalah buah dari jalinan kemitraan dengan banyak orang yang berbeda selama bertahun-tahun.
  4. Idealisme yang mengagumkan. Hal yang cukup menonjol dari orang-orang sukses adalah idealisme mereka. Mereka semua ingin melakukan suatu perubahan, mengisi hidup ini dengan penuh tujuan dan makna, atau meraih sebuah mimpi. Mereka dimotivasi dengan gairah untuk menciptakan dunia yang lebih baik, menyumbangkan sesuatu dan menolong orang lain.
  5. Pragmatisme yang luar biasa. Seimbang dengan idealisme mereka, orang-orang yang luar biasa sukses ini ternyata juga amat praktis. Mereka berfokus pada pemecahan masalah, dan menggunakan tehnologi, informasi dan ketrampilan untuk meraih tujuan-tujuan yang terpenting. Mereka tidak tertarik pada teori-teori atau mempertahankan pilihan masa lalu dan tradisi-tradisi tua. Mereka menginginkan cara-cara yang praktis untuk menolong mereka sendiri dalam meraih tujuan.
  6. Rasa ingin tahu yang dalam. Mereka mengobservasi budaya, membaca surat kabar, membaca tentang industri mereka. Mereka pun berusaha mempelajari semua hal yang ada di sekitar mereka. Mereka membaca tentang politik dan agama. Mereka ingin tahu tentang bursa saham dan belajar memasak. Saya terkejut bahwa sebagian besar dari mereka bukanlah ahli di bidang-bidang yang tersebut tetapi mereka amat terdidik, cerdas dan penuh rasa ingin tahu.
  7. Disiplin pribadi. Mereka tidak mau membuang-buang waktu dan membohongi diri mereka sendiri. Mereka tidak membesar-besarkan atau mengecil-ngecilkan suatu masalah. Mereka tidak menggeneralisir. Orang-orang ini amat tepat saat mereka berbicara mengenai usia, hubungan, usaha atau impian-impian mereka. Angka dan tanggal, dollar dan sen, detil amat penting bagi mereka. Mereka mudah untuk diajak bicara dan jelas dalam berkomunikasi.

Menurut Rhenald Kasali, "lahirnya pengusaha-pengusaha besar selalu dimulai bukan dengan kekuatan uang, tapi akal dan nama baik; bukan akal-akalan. Hampir setiap minggu saya mengundang pengusaha sejati dalam sebuah talkshow di radio M97 di Jakarta. Anda tahu apa kesimpulannya? Benar: 99% mengatakan modal awalnya bukan uang. Mereka jadi besar karena akal. Itulah awal penting bagi seorang entrepreneur. Akal pertamanya diarahkan untuk membangun reputasinya, brand-nya."

 

Dan banyak lagi kisah-kisah inspiratif yang dapat kita petik pelajaran yang umumnya berawal dari kalimat cemoohan "WHAT YOU SAY ONLY!".

Saya berani berkata bahawa kegagalan, cemoohan, dianggap rendah, dianggap remeh, sebenarnya menghasilkan tokoh-tokoh istimewa yang tahan uji. Ketika satu pintu tertutup, pintu lain terbuka. Tetapi kita seringkali terlalu lama memandang dengan kecewa pintu yang tertutup itu sehingga kita tidak melihat pintu yang terbuka bagi kita.

Share this post: | | | |
Posted by agung | 3 comment(s)

Sam Walton, Membagi Resep Sukses Untuk Kita

Menilik buku Sam Walton berjudul "The Wall-Mart Story", ia membuka rahasia kesuksesannya yakni:

  1. Rule 1: Berkomitmenlah pada bisnis Anda. Pegang prinsip ini melebihi orang lain. Jika kita mencintai apa yang kita kerjakan maka dengan sendirinya kita akan berbuat yang terbaik untuk mengerjakannya. Hal ini akan menular dengan cepat pada orang-orang sekitar kita.
  2. Rule 2: Bagilah keuntungan kepada semua staf serta perlakukan mereka sebagai partner. Jika Anda mampu melakukan hal ini, maka bersama Anda, mereka akan menunjukan performa yang jauh melebihi harapan Anda. Tawarkan saham perusahaan pada mereka, jika perlu dengan harga diskon, dan hadiahi mereka dengan saham sebagai bekal pensiun. “Hal ini adalah hal terbaik yang pernah kami lakukan,” ujar Sam Walton suatu ketika.
  3. Rule 3: Motivasi partner usaha Anda. Selalu buat cara yang baru dan lebih menarik untuk memotivasi para staf maupun rekanan. Tentukan target yang lebih tinggi, tumbuhkan kompetisi yang sehat, rotasikan staf secara berkala agar mereka tetap merasa tertantang, dan buat skor untuk penilaian prestasi. Agar semakin menarik, Anda harus lebih kreatif saat membuat langkah baru untuk memotivasi sehingga mereka sukar memprediksi apa yang akan Anda lakukan selanjutnya.
  4. Rule 4: Komunikasikan apa saja yang bisa Anda lakukan pada para rekan bisnis. Semakin mereka tahu apa yang bisa Anda lakukan maka mereka makin paham. Makin mereka paham maka meraka akan lebih peduli. Dan jika rasa peduli itu sudah ada maka tidak ada satu hal pun yang bisa menghentikan mereka. Jika Anda diliputi rasa tidak percaya, maka mereka akan tahu bahwa Anda menganggap mereka sebagai partner dan bisa saja malah lari ke kompetitor Anda.
  5. Rule 5: Hargailah apa yang telah dilakukan oleh staf Anda. Loyalitas mungkin bisa didapat dari gaji tinggi atau tawaran saham. Tapi sebagai manusia, kita akan gembira bila ada yang secara tulus mengatakan bahwa apa yang telah kita lakukan adalah sesuatu yang benar-benar berharga. Intinya adalah penghargaan atas apa yang telah kita lakukan, apalagi jika hal itu adalah sesuatu yang patut dibanggakan. Apresiasi positif ini sama sekali tidak makan biaya tapi tak ternilai harganya.
  6. Rule 6: Rayakan kesuksesan. Jika terjadi kesalahan atau kegagalan, jangan lekas terpuruk. Cari unsur humor dari kegagalan itu dan tertawalah bersama. Bergembiralah dan selalu tunjukan antusiasme dalam bekerja. Dan jika sukses jangan lupa pula untuk merayakannya, jika perlu dengan cara yang konyol.
  7. Rule 7: Selalu dengarkan apa yang dikatakan orang-orang di dalam perusahaan dan cari cara agar mereka mau bicara. Mereka yang ada di garis depan -dan selalu berbicara dengan pelanggan- adalah yang paling tahu apa yang diinginkan pelanggan. Dengarkan mereka dan selalu cari jalan agar ide mereka bisa keluar dan bila memungkinkan wujudkan ide mereka yang berkualitas. Dengan sendirinya mereka akan lebih bertanggungjawab dan akan memajukan organisasi.
  8. Rule 8: Buat parameter yang lebih tinggi untuk kepuasan konsumen. Jika hal ini bisa Anda lakukan, maka pelanggan akan terus kembali. Beri mereka lebih dari yang mereka inginkan sehingga pelanggan tahu bahwa Anda sangat menghargai mereka. Jika Anda membuat kesalahan, janganlah cari alasan pembenar tapi mintalah maaf.
  9. Rule 9: Kontrol pengeluaran Anda. Berikan konsentrasi lebih pada hal itu dibandingkankan hal lain seperti berkompetisi. Dengan kiat ini maka Anda akan menemukan keunggulan kompetitif. Kunci di sini adalah efisiensi. Rangkaian kesalahan bisa saja terjadi, tapi kita tetap bisa pulih jika bisa efisien dalam kegiatan operasional. Atau, Anda boleh saja brilian dalam konsep bisnis tapi tetap saja akan tersingkir dari persaingan akibat tidak efisien.
  10. Rule 10: Berenanglah ke hulu. Jangan mau terjebak dengan mengikuti apa yang dilakukan oleh orang lain. Buat cara dan jalan bisnis sendiri dan jangan takut bila bertentangan dengan keyakinan banyak pebisnis lainnya. Sam Walton terbukti sukses mendirikan tokonya di kota yang populasinya hanya 50 ribu orang. Padahal sebelumnya banyak pebisnis meyakini bahwa sebuah toko diskon tidak dapat bertahan lama di kota yang populasinya terbatas.
Share this post: | | | |
Posted by agung | 1 comment(s)
Filed under:

Samsung Omnia SGH-i900 > True Internet!

Hp ini bener2 manstab untuk browsing! Cool!



sent from Samsung Omnia
Share this post: | | | |
Posted by agung | with no comments
Filed under:

Integrating Facebox into DotNetNuke Module

If you join with Facebook, then you will see a lot of Facebook's style popup message like below:

facebox06

Rounded rectangle with transparent in every border corner. When you click outside of the Facebox area or in the trigger button, then the Facebox will dissapear. Simple and intuitive. The good news is, now you can use it in your DotNetNuke module too!

Hey, how to do that?

Enter Facebox javascript library to create Facebook's style popup message. :)

 

This is the sample:

facebox01

facebox03

Require some modification in your css:

facebox07

When you click on the Edit image button then the Facebox will shown. Click anywhere outside the Facebox area, it will dissapears. You can combine it inside a gridview or repeater or datalist. Nice feature isn't it? :)

Ok, stop talking. Let's try!

This is the step by step:

  1. Download the great jQuery library framework. The size is only 30.3 KB for pack file (jquery-1.2.6.pack.js).
  2. Download Facebox javascript library from this website. The total size is only 14.7 KB!
  3. Extract it into some folder.
    facebox02
  4. Copy facebox folder into your DNN module folder.

    [root]
        DesktopModules
              YourModule
                      facebox
  5. Open facebox.css and change default facebox image background path with your module path like below:

    Original value:

    #facebox .b {
      background:url(/facebox/b.png);
    }

    #facebox .tl {
      background:url(/facebox/tl.png);
    }

    #facebox .tr {
      background:url(/facebox/tr.png);
    }

    #facebox .bl {
      background:url(/facebox/bl.png);
    }

    #facebox .br {
      background:url(/facebox/br.png);
    }

     

    Your updated value:

    #facebox .b {
      background:url(/DesktopModules/YourModuleFolder/facebox/b.png);
    }

    #facebox .tl {
      background:url(/DesktopModules/YourModuleFolder/facebox/tl.png);
    }

    #facebox .tr {
      background:url(/DesktopModules/YourModuleFolder/facebox/tr.png);
    }

    #facebox .bl {
      background:url(/DesktopModules/YourModuleFolder/facebox/bl.png);
    }

    #facebox .br {
      background:url(/DesktopModules/YourModuleFolder/facebox/br.png);
    }

  6. Open your module control code behind (.ascx.cs) to register facebox.css and facebox.js inside Page_Load event like below:

    Control oCSS = this.Page.FindControl("CSS");
    if (oCSS != null) {
         HtmlGenericControl faceboxCSS = new HtmlGenericControl("link");
         faceboxCSS.Attributes["type"] = "text/css";
         faceboxCSS.Attributes["media"] = "screen";
         faceboxCSS.Attributes["rel"] = "stylesheet";
         faceboxCSS.Attributes["href"] = ModulePath + "facebox/facebox.css";
         oCSS.Controls.Add(faceboxCSS);

         HtmlGenericControl faceboxJS = new HtmlGenericControl("script");
         faceboxJS.Attributes["type"] = "text/javascript";
         faceboxJS.Attributes["src"] = ModulePath + "facebox/facebox.js";
         oCSS.Controls.Add(faceboxJS);

    }

     

    Notes:
    You should register jQuery first before Facebox because it is jQuery plug-in. You can refer to my article about How to integrate jQuery into your DotNetNuke module. If you want your Facebox available in every DNN pages, then you should register Facebox in skin level and not in module level. By registering Facebox in skin level, you can make it available for all pages and modules. :)

    In this article, I have been registering jQuery library in my skin. So, jQuery can be accessed for all modules.

  7. Open your module control presentation file (.ascx) to register BLOCKED SCRIPT

    <script type="text/javascript">
      jQuery(document).ready(function() {
        jQuery('a[rel*=facebox]').facebox({
          loading_image : '<%= ModulePath %>facebox/loading.gif',
          close_image: '<%= ModulePath %>facebox/closelabel.gif'
        })
      })
    </script>


    Notes:
    You can refer to Facebox documentation to add more functionality by adding more parameters. You can also combine it with Ajax too. Nice! :)
     
  8. Create your 'div' container as content that Facebox will dynamically loaded (I took from Facebox's sample):

    <div id="info" style="display:none;">
      <p> Hey, I'm the 'info' div! </p>
      <p> I look like this: </p>
      <code>
        &lt;div id="info" style="display:none;"&gt; <br/>
          &nbsp;&nbsp;text<br/>
        &lt;/div&gt;
      </code>
    </div>

  9. Wrap your HTML tag which Facebox will be loaded. Some of them are below (you can refer to Facebox documentation to make it more dynamic):

    Make edit.jpg image as Facebox trigger. #info in anchor tag is just a DIV tag with id="info" (see point 8 above):

    <a href="#info" title="Click to edit" rel="facebox"><img alt="edit" border="0" src="<%= ModulePath %>edit.jpg" style="width: 46px; height: 21px" /></a>

    Make string as Facebox trigger:

    <a href="#info" title="View my profile" rel="facebox">Click here to see my profile?</a>

    View '/Portals/0/logo.gif' in the Facebox

    <a href="/Portals/0/logo.gif" title="View logo" rel="facebox">View DNN logo</a>
     
  10. That's it! Now your module is Facebox's ready! :)

 

By combining jQuery + it's plug-ins into DNN development, you are opening a new horizon in how DNN interact with users.

Facebox is simple, nice, and intuitive plug-in for jQuery. And now, you can use it with your DNN module to make your DNN module more interactive.

 

Hope this help.

Share this post: | | | |
Posted by agung | with no comments
Filed under:

Selamat Hari Raya Idul Fitri 1429H

Kami sekeluarga mengucapkan Selamat Hari Raya Idul Fitri 1429 H.

Mohon dibukakan pintu maaf yang sebesar-besarnya jika ada kesalahan baik yang sengaja maupun tidak disengaja.

Minal aidzin wal faidzin, mohon maaf lahir dan batin.

-- Agung Riyadi dan keluarga --- 

Share this post: | | | |
Posted by agung | with no comments
Filed under:

DotNetNuke 5.0 RC1

DNN 5.0 RC1 Earlier today, DotNetNuke hit another milestone with the release of DotNetNuke 5.0.0 RC1.  RC1 is our first stable DotNetNuke 5.0.0 release and represents a feature complete version of the 5.0 platform.  From here on out we will be focused on fixing bugs and ensuring that any performance issues are resolved.  While it is true that DotNetNuke 5.0 represents a substantial change from 4.8.x, many of the updates in 5.0 were back ported to the recent 4.9 release.  Below is list of highlights for this release which were not included in 4.9.0.

Major Highlights

  • Added jQuery support to the core platform.  jQuery will now be distributed as part of the DotNetNuke installation and will be available for use by module developers.
  • Added support for Internet Explorer 8 Web Slices.  Administrators can configure any module to use IE8 Web Slices including the ability to set time-to-live and expiration values.
  • Removed distinction between admin modules and pages and normal pages.  This allows administrators to easily delegate access to any portion of the application to any group of users.
  • Updated the installation services to support manifest files for all extension types.  Now skins, containers, providers and modules are all first class citizens that can be installed and uninstalled.
  • Expanded XHTML, WCAG and ADA compliance.
  • Refactored core to improve support for Unit Testing.  Refactored several core classes to use interfaces and added a simple component factory to provide dependency injection support. 
  • Added ability to deny permissions in the permissions grid.  This new feature extends the permission framework to give administrators greater flexibility in defining permissions.
  • Added Widget framework.  The new Widget framework allows you to quickly add JavaScript/html widgets to your site with very little effort.  The framework supports the use of a simple object tag based representation which means you don’t have to know JavaScript in order to add the widgets.
  • Added new Object notation for using skin objects in Skins.  Skin designers will no longer need to include separate XML files when creating and packaging skins.  No more funky “[SKINOBJECT]” tags littering your html.  This significantly simplifies the process of creating skins and further opens up skin development to a broader group of designers.  If you include a simple JavaScript reference in your HTML skin, you can even get a full WYSIWYG experience when designing your skin.

In addition to these highlights there are literally hundreds of bug fixes in this release.

RC1 is not yet production ready and there may still be some breaking changes between RC1 and the final release.

Taken from Joe Brinkman's blog.

Share this post: | | | |
Posted by agung | with no comments
Filed under:

DotNetNuke 5.0 now with jQuery

Masih ingat bagaimana DNN membuat framework AJAX menjadi sangat mudah untuk developer dengan kelas DotNetNuke.Framework.AJAX-nya ?

if (DotNetNuke.Framework.AJAX.IsInstalled()) {

   // code here 

Seiring dengan berita gembira pengumuman dari Scott Guthrie bahwa ASP.NET akan adapt jQuery library pada framework AJAX mereka, maka kini ada sebuah berita gembira baru lagi yakni bahwa DNN versi 5.0 yang akan datang akan mengintegrasikan jQuery!

Yup, dua berita yang menghebohkan! 

Dengan diintegrasikannya jQuery pada web framework DNN maka berarti DNN membuka pintu baru yang tak terbatas mengenai kreasi dan inovasi dalam pembuatan aplikasi web berbasis DNN. 

Jika Anda melihat fungsionalitas jQuery yang luar biasa pada situs resmi mereka, maka sekarang Anda dapat dengan mudah mengintegrasikannya ke dalam DNN. Pengaturannya ada di dalam menu Host sebagai berikut :

jQuery settings


Great! 

Share this post: | | | |
Posted by agung | with no comments
Filed under:

Integrating jQuery and jQuery Cycle plugin into DotNetNuke

In this tutorial, i will show you how to integrate jQuery and some jQuery plugin into DotNetNuke module. Why i'm doing this is because my client need some functionality about some effect like scroll left, scroll right, fade, etc. My client is also using a lot of images for their business.

Yes i can use ASP .NET AJAX Control Toolkit. The first release of my module is using Ajax Control Toolkit and nothing wrong with it. But when I saw the performance and flexibility, I think I should change to another framework. This is only my personal opinion. I love Ajax Control Toolkit and use them in many DNN project. But for this project, jQuery is the answer. jQuery provide me a lot of functionality that exactly I can use it with ease.

Ok. Let's try to integrate jQuery and jQuery Cycle plugin into DNN module.

A. Preparation

  1. Make sure you have been installed DNN website in your machine. Let say your address is : http://localhost/dnn with C:\dnn is the root folder. Notice that it might be different with your path. So make it correct based your DNN path installation folder.
  2. Open your Visual Studio 2008
  3. Choose File --> Open Website...
  4. Choose Local IIS
  5. Choose localhost/dnn website. Wait a minute.
  6. Show your Solution Explorer, then right click for http://localhost/dnn and choose Add New Project.
  7. Choose ASP.NET Web Application, use AR_Promo as the name of the project. Or you can use different one. Remember, this is WAP model.
  8. Choose Visual C# as a language for your project.
  9. Don't forget to create your project inside C:\dnn\DesktopModules
  10. Click OK.
  11. Your project created.

B. Configuring

  1. Delete Default.aspx and web.config file.
  2. Right click on your project, then choose Properties.
  3. Click Build tab, and change Output path into C:\dnn\bin (or use your bin DNN folder)
  4. Click Save
  5. Right click  on your project again, then choose Add Reference...
  6. Click Browse tab, then point to C:\dnn\bin
  7. Choose DotNetNuke.dll and DotNetNuke.WebUtility.dll
  8. After you add two references, select both of those files from References folder and change Copy Local into False for both from your Properties window..
  9. Right click your AR_Promo module, then create new directory with name "script". This is a folder for placing jQuery, jQuery Cycle plugin and custom javascript file.
  10. Right click again your AR_Promo module, then create new web user control. Name it "promo.ascx"

Your module will be like this in structure :

arpromo

For Indonesian developer, you can read my free tutorial about creating DNN module here. Or maybe you can download all my tutorial for DNN here.

C. Download jQuery and jQuery Cycle plugin

  1. Download jQuery javascript library here : http://jquery.com. Use newest version. Or you can directly download from here. The version is jquery-1.2.6.min.js. I use compressed one because it is smaller.  The size is only 16kb. :) Nice !
    jquery

  2. Download jQuery cycle plugin here.

    cycle 
    Choose jQuery Cycle Plugin - compressed (6 KB) and jQuery Cycle Plugin with all transition - compressed (12 KB). Why ? Because you have to 'taste' its plugin. :) Really, you will love it.
  3. Put your downloadable files into C:\dnn\DesktopModules\AR_Promo\script. Or make it same with your own DNN path.
  4. Your jQuery and jQuery cycle plugin is ready to use.

D. Integrating into DotNetNuke module

  1. Open promo.ascx, and type this code below :

    <style type="text/css">
    .pics {
        PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; WIDTH: 232px; PADDING-TOP: 0px; HEIGHT: 232px
    }
    .pics IMG {
        BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 15px; LEFT: 0px; PADDING-BOTTOM: 15px; BORDER-LEFT: #ccc 1px solid; WIDTH: 200px; PADDING-TOP: 15px; BORDER-BOTTOM: #ccc 1px solid; TOP: 0px; HEIGHT: 200px; BACKGROUND-COLOR: #eee
    }
    #slideshow { position: relative; width: 200px; margin: 35px; }
    #controls { z-index: 1000; position: absolute; top: 0; left: 0; display: none;
        margin: 0; padding: 6px;
        width: 200px;
    </style>
    <div id="slideshow">
        <div id="controls">
            <span><a href="" mce_href="" id="prev">Prev</a></span>
            <span><a href="" mce_href="" id="next">Next</a></span>
        </div>
        <div id="slides" class="pics">
            <img src="/Portals/0/beach1.jpg" mce_src="/Portals/0/beach1.jpg" width="200" height="200" />
            <img src="/Portals/0/beach2.jpg" mce_src="/Portals/0/beach2.jpg" width="200" height="200" />
            <img src="/Portals/0/beach3.jpg" mce_src="/Portals/0/beach3.jpg" width="200" height="200" />
            <img src="/Portals/0/beach4.jpg" mce_src="/Portals/0/beach4.jpg" width="200" height="200" />
            <img src="/Portals/0/beach5.jpg" mce_src="/Portals/0/beach5.jpg" width="200" height="200" />
            <img src="/Portals/0/beach6.jpg" mce_src="/Portals/0/beach6.jpg" width="200" height="200" />
            <img src="/Portals/0/beach7.jpg" mce_src="/Portals/0/beach7.jpg" width="200" height="200" />
            <img src="/Portals/0/beach8.jpg" mce_src="/Portals/0/beach8.jpg" width="200" height="200" />
        </div>
    </div>


    Notes: 
    I use beach1.jpg, beach2.jpg, etc as a sample image. You can use it with your own.  Just point to right location inside your DNN folder. Or you can use it just a simple text inside a <div> tag. Or any HTML element you want to add into your design. You can also construct your own based on dynamic processing inside code behind. It's just an HTML element, so please be creative! :)
  2. Open your promo.ascx code behind
  3. Inherit your promo class into DotNetNuke.Entities.Modules.PortalModuleBase
  4. Type this code below inside your Page_Load method (i will explain it later):

    if (! IsPostBack)
    {
        Control oCSS = this.Page.FindControl("CSS");
        if (oCSS != null)
        {
            HtmlGenericControl jquery = new HtmlGenericControl("script");
            jquery.Attributes["language"] = "javascript";
            jquery.Attributes["type"] = "text/javascript";
            jquery.Attributes["src"] = this.ModulePath + "script/jquery-1.2.6.min.js";
  5.         oCSS.Controls.Add(jquery);

            HtmlGenericControl plugin = new HtmlGenericControl("script");
            plugin.Attributes["language"] = "javascript";
            plugin.Attributes["type"] = "text/javascript";
            plugin.Attributes["src"] = this.ModulePath + "script/jquery.cycle.all.js?v2.24";

            oCSS.Controls.Add(plugin);

            HtmlGenericControl jrun = new HtmlGenericControl("script");
            jrun.Attributes["language"] = "javascript";
            jrun.Attributes["type"] = "text/javascript";
            jrun.Attributes["src"] = this.ModulePath + "script/jrun.js";

            oCSS.Controls.Add(jrun);
        }

    }

  6. As you see in the last line that i add a new file with name jrun.js. This is an external javascript file for calling jQuery and jQuery Cycle library. You have to create it. So, please add new Javascript file inside script folder. The code for jrun.js is like below :

    jQuery(document).ready(function() {
        jQuery('#slideshow').hover(
            function() { jQuery('#controls').fadeIn(); },
            function() { jQuery('#controls').fadeOut(); }
        );
        jQuery('#slides').cycle({
            fx:     'scrollVert',
            speed:   600,
            random:  1,
            timeout: 3000,
            next:   '#next',
            prev:   '#prev'
        });
    });
  7. Build your module. Make sure there is no error when compiling.

Now, this is your folder structure :

arpromo2

E. Installing AR_Promo module into DotNetNuke website

  1. Login as Host
  2. Go to Host --> Module Definitions
  3. Choose Create Module Definition
  4. Add AR_Promo for Module Name, Folder Name, Friendly Name, and Description

    editmodule1
  5. Click Update
  6. Add AR_Promo for New Definition textbox.

    editmodule2
  7. Click Add Definition link button.
  8. Click Add Controls.
  9. In Edit Module Control window,  point to DesktopModules/AR_Promo/promo.ascx in Source dropdownlist.
  10. Click Update.
  11. Your module is ready in Module List at DNN Control Panel at the top.

F. Testing your module

  1. Go to a page (Home or any page)
  2. Drop your module onto Home page
  3. Voila, your module is ready to go ! :)

promo1

Wait a second, then your image will scroll vertical with very nice effect.

promo2

Hover your mouse, then you will see Prev Next anchor floating. You can click to go next or previous. Nice effect too. :)

 promo3

G. Explanation

Remember the code behind in promo.ascx.cs ? This is what happened.

  1. Put your jQuery library, jQuery Cycle plugin, and jrun.js between <HEAD> tag. In normal ASP.NET, that's easy. But in DNN, you have to do some trick. In DNN, a placeholder was prepared to injected with some CSS file. You can open your Default.aspx in DNN root folder. Then see this line :

    <html <%=xmlns%> <%=LanguageCode%>>
    <head id="Head" runat="server">
         ...
         ...
        <asp:placeholder id="CSS" runat="server" />
    </head>

    So, since the id is CSS, then I could manually injected something AT placeholder control. First, I have to reference it manually. This is easy to solve by using this code :

    Control oCSS = this.Page.FindControl("CSS");

    And for injecting some control into oCSS object, I can use this code :

    oCSS.Controls.Add(a_control);
  2. Then I create HtmlGenericControl object as a container for all my external javascript files. Add some attributes, and point to my jquery library file inside script folder. ModulePath property is the easiest way to reference to your module path.

    HtmlGenericControl jquery = new HtmlGenericControl("script");
    jquery.Attributes["language"] = "javascript";
    jquery.Attributes["type"] = "text/javascript";
    jquery.Attributes["src"] = this.ModulePath + "script/jquery-1.2.6.min.js";
  3. oCSS.Controls.Add(jquery);

  4. I did it again for another external javascript file.

    HtmlGenericControl plugin = new HtmlGenericControl("script");
    plugin.Attributes["language"] = "javascript";
    plugin.Attributes["type"] = "text/javascript";
    plugin.Attributes["src"] = this.ModulePath + "script/jquery.cycle.all.js?v2.24";
  5. oCSS.Controls.Add(plugin);

    HtmlGenericControl jrun = new HtmlGenericControl("script");
    jrun.Attributes["language"] = "javascript";
    jrun.Attributes["type"] = "text/javascript";
    jrun.Attributes["src"] = this.ModulePath + "script/jrun.js";

    oCSS.Controls.Add(jrun);

Now you can play with jQuery and jQuery Cycle plugin nicely inside DotNetNuke module!

Happy jQuery-ing :)

Note: There a lot of transition effect that you can choose. Just read jQuery Cycle plugin documentation.

Share this post: | | | |
Posted by agung | 1 comment(s)
Filed under:

DotNetNuke: Hot or Not?

cms-award-150-200It is time once again for voting to begin in the PacktPub Open Source CMS Awards.  According to the Packt Publishing website:

The Packt Open Source Content Management System Award is designed to encourage, support, recognize and reward Open Source Content Management Systems (CMS) that have been selected by a panel of judges and visitors to www.PacktPub.com. Now entering its third year, the Award has established itself as an important measure for quality and the popularity of Open Source Content Management Systems.

So this is your chance to show your support for DotNetNuke and let your voices be heard.  Not only will you have a chance to win an iPod Nano just for making a nomination, but you might also help DotNetNuke win one of the cash prizes for the winners.  Even if you are not a sponsor or benefactor, this is a great way to help the project.

Originally posted by Joe Brinkman.

Share this post: | | | |
Posted by agung | with no comments
Filed under:

We have WISDOM :)

WISDOM

Nice jargon, isn't it ?

:)

Share this post: | | | |
Posted by agung | with no comments
Filed under:

First preview of ASP .NET AJAX 4 is available

Dear folks,

ASP.Net team has just released the first preview of the ASP.NET AJAX 4.0 on CodePlex this morning. Do check out the below URL :.

ASP.NET AJAX 4.0 CodePlex Preview 1

http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=15511

Have fun !

Share this post: | | | |
Posted by agung | 2 comment(s)

Dynamic Data Futures updated

Folks, the ASP.NET Dynamic Data Team recently posted an updated to the Dynamic Data Futures project on Codeplex. It is an add-on to the Dynamic Data feature that contains a number of samples illustrating how to do more complicated things as well as preliminary versions of improvements and new elements that Microsoft planning for the next version (post-SP1).

Go there and download.

HTH

Share this post: | | | |
Posted by agung | 2 comment(s)

GCoE - DotNetNuke dan Windows Live Platform

Hari ini, saya berkesempatan untuk mengisi training DotNetNuke dan Windows Live Platform kepada peserta yang kebanyakan adalah orang-orang pemerintahan dalam program Government Center of Excellence (GCoE) di kampus UI Depok. Dalam 2 hari ini yang akan saya bahas adalah sebagai berikut :

  1. Pengenalan DotNetNuke (instalasi, konfigurasi, dan manajemen portal)
  2. Pengenalan Windows Live Platform
  3. Integrasi Windows Live Platform ke dalam DotNetNuke
  4. DotNetNuke dan Sharepoint kolaborasi (DNN untuk public website, Sharepoint untuk intranet). Jadi, skenarionya adalah DNN akan consume informasi dari Sharepoint untuk dipublikasikan. :)

Kenapa saya sertakan adanya kolaborasi antara DNN dengan Sharepoint ? Hal ini karena memang program Government Center of Excellence yang detail acara dan materinya dapat dilihat disini, mengajarkan Sharepoint terlebih dahulu sebelumnya. Hari ini dan besok mereka akan saya perkenalkan dengan 'makhluk lain' yang tidak kalah menariknya dari Sharepoint, yakni DotNetNuke. Terus terang banyak peserta yang sama sekali belum mengetahui DNN. Ini kabar yang baik untuk memperkenalkan 'teman baru' ini kepada mereka. :)

Nah, sebagai penutup, alangkah lebih baiknya jika peserta juga mengetahui bahwa DNN dapat 'ngobrol' dengan Sharepoint dan DNN dapat mengkonsumsi informasi yang ada di dalam Sharepoint. Ini dapat diterapkan di lingkungan peserta sendiri.

Berikut ini adalah Sharepoint yang dibangun oleh rekan-rekan MIC UI kita. :) Saya ingin menampilkan Events dan Tasks yang ada di dalam List Sharepoint tersebut.

01

Dan berikut ini adalah bagaimana DNN dapat dengan mudah mengkonsumsi Events dan Tasks dari Sharepoint :

03

Dengan teknik ini, maka arsitektur Anda dapat menjadi sebagai berikut :

  • INTRANET, gunakan WSS 3.0 (free), kecuali jika menghendaki penggunaan MOSS 2007 dengan fungsionalitas yang lebih kaya dengan lisensi sesuai kebutuhan (tidak perlu internet connector).
  • INTERNET, gunakan DotNetNuke (free) untuk mengkonsumsi informasi dari Sharepoint. Dalam hal ini Anda tidak perlu mengeluarkan cost yang lebih besar dikarenakan DNN sudah mampu mengkonsumsi informasi object-object dari Sharepoint. Seandainya pun memerlukan dukungan third party module DNN, tentunya angkanya masih reasonable. Database yang digunakan bisa SQL Server 2005 Express Edition (free), kecuali jika ada pertimbangan kebutuhan data lebih besar maka disarankan menggunakan versi yang lebih tinggi.

Yang lebih menarik adalah menyaksikan wajah-wajah yang tidak berdosa ketika melihat ini dan berguman "waaaaahhhh.....! ternyata bisa ya !". Yup, memang bisa :)

Welcome to the DotNetNuke world my government's friends !

:)

Share this post: | | | |
Posted by agung | 4 comment(s)

Test using Scribfire

Test using Scribfire
Share this post: | | | |
Posted by agung | with no comments
More Posts Next page »