Membuat modul sederhana/Menambahkan Update Otomatis
From Joomla! Documentation
< J3.x:Creating a simple module
Ini adalah seri artikel mengenai cara membuat modul untuk Joomla! Versi . Anda dapat menelusuri artikel-artikel yang terdapat di dalam seri ini melalui menu dropdown.
Mulai dari Pendahuluan, lalu telusuri artikel-artikel di dalam seri ini melalui tombol navigasi di bagian bawah atau dari kotak di samping (Artikel dalam seri ini)
Bagian dari tutorial ini akan membantu anda membuat server untuk update sehingga modul anda dapat memanfaatkan sistem upgrade sekali-klik dari Joomla.
Pendahuluan & Sebelum membaca
Yang pertama kali harus dilakukan adalah membaca tutorial Mengelola Upgrade Komponen dengan Joomla 2.5 - Bagian 1 untuk memberi pemahaman kepada anda mengenai bagaimana proses upgrade di Joomla itu berlangsung. Artikel tersebut ditulis untuk versi 2.5, tapi prosesnya tidak berubah untuk Joomla 3.x. Baca juga Mendeploy server update - ini yang akan diimplementasikan dalam tutorial ini..
Masih ingat mengenai file update sql dalam tutorial Menggunakan database? Itu masih akan digunakan untuk mengupdate database kita. Namun, versi file zip modul baru kita yang akan dipakai untuk mengupdate semua file php. Untuk membuat tutorial ini tetap sederhana, kita akan mengupdate file dan database sql tanpa memeriksa versi Joomla dan versi modul yang digunakan saat ini (tapi sangat disarankan hal ini diterapkan untuk ke modul produksi).
Mengupdate modul
Satu-satunya cara untuk mengupdate modul yang ada adalah menambahkan informasi server update ke dalam file xml.
<updateservers>
<server type="extension" name="Helloworld" priority="1">http://www.example.com/helloworld_update.xml</server>
</updateservers>
Sekarang, Joomla akan mencari informasi http://www.example.com/helloworld_update.xml untuk ketersediaan pembaruan secara berkala yang diatur dari opsi pengelolaan ekstensi.
Membuat update
Jadi, sekarang Joomla sedang mencari pembaruan terhadap ekstensi kita - mari kita buat satu untuk menguji prosesnya.
Salin modul seperti yang ada sekarang. Lalu, mari kita update angka versinya ke 1.0.1, dan kita kirimkan juga sesuatu ke file SQL Update - dalam contoh ini adalah satu file Bahasa Jerman.
<version>1.0.1</version>
INSERT INTO `#__helloworld` (`hello`, `lang`) VALUES ('Hallo Welt', 'de-DE');
Mohon dicatat bahwa kita juga dapat mengedit file-file php yang ada - semua file php yang ada akan digantikan dengan file yang terbaru (Catatan: Inilah alasan mengapa mengedit kode inti dari ekstensi apa pun tidak dianjurkan - akan hilang pada saat pembaruan ekstensi).
Sekarang kita harus buat file xml http://www.example.com/helloworld_update.xml untuk memberitahu Joomla bahwa ada satu pembaruan yang tersedia.
<updates>
<update>
<name>Helloworld</name>
<description>This is mod_helloworld 1.0.1</description>
<element>mod_helloworld</element>
<type>module</type>
<version>1.0.1</version>
<downloads>
<downloadurl type="full" format="zip">http://www.example.com/mod_helloworld_101.zip</downloadurl>
</downloads>
<maintainer>Joomla</maintainer>
<maintainerurl>http://www.example.com</maintainerurl>
<targetplatform name="joomla" version="3.6"/>
<client>site</client>
</update>
</updates>
dengan http://www.example.com/mod_helloworld_101.zip sebagai zip dari update yang baru saja dibuat. Jika anda masuk ke backend Joomla, seharusnya anda sudah melihat sekarang bahwa di panel kendali terdapat informasi update otomatis yang muncul (jika tidak ada, anda perlu menghapus semua file cache melalui pengelolaan ekstensi). Klik saja update dan anda akan menemukan modul terbaru anda dalam versi 1.0.1.
Catatan: Mohon dicatat bahwa tag update dalam hal ini adalah khusus untuk Joomla Versi 3.6 dan update tidak akan dikenali oleh versi Joomla sebelum maupun sesudahnya. Lihat bagian Mendeploy Server Update untuk penjelasan mengenai update dan khususnya tag targetplatform.
Modul Komersil
Dicatat bahwa di dalam file kita terdapat tautan ke file xml update ekstensinya. Dan dari file xml itu, kita mengenali lokasi zip dari modul. Ini artinya ketika seseorang menelusuri ini secara terbalik mereka bisa menemukan sumber fisik dari file zip modul anda (dan dapat menyediakannya/menggunakannya setelah masa berlangganannya habis, dll). Demi alasan ini, pada umumnya modul-modul komersil tidak menyediakan update otomatis (meskipun mereka biasanya menginformasikan ketersediaan update kepada anda dalam cara yang lain).
Kesimpulan
Mengupdate modul di Joomla sangat mudah dilakukan baik bagi pengguna maupun pengembang ekstensi dan seharusnya menjadi standar ke modul apa pun sejak Joomla! 3.1.