RSS FEED & INTEGRASI SISTEM
Dokumentasi lengkap penggunaan Feed XML untuk sindikasi konten otomatis ke platform lain.
Apa itu RSS Feed?
RSS (Really Simple Syndication) adalah teknologi standar yang memungkinkan Anda berlangganan konten dari website kami secara otomatis. Setiap kali admin PPID melakukan pembaruan informasi, URL RSS ini akan langsung memperbarui datanya sehingga platform Anda selalu mendapatkan konten terkini tanpa perlu pemantauan manual secara terus-menerus. Ini adalah cara tercepat untuk sinkronisasi data antar website pemerintah dan portal publik.
Struktur Data Detail
<title>
Judul resmi dokumen atau pengumuman yang ditampilkan pada feed.
<organization>
Nama Dinas / Instansi pemilik data yang menerbitkan informasi.
<status>
Kondisi dokumen (BERLAKU / ARSIP) untuk validasi data publik.
<category>
Klasifikasi data informasi berdasarkan standar PPID Kabupaten Sinjai.
Kustomisasi URL Feed (Filter)
Gunakan parameter di bawah ini untuk mendapatkan data yang spesifik melalui URL:
// Filter per Instansi (Contoh: Diskominfo)
https://ppid.madina.go.id/rss/generate?unit_id=730714
// Filter per Tahun (Contoh: 2024)
https://ppid.madina.go.id/rss/generate?year=2024
// Filter per Jumlah Data (Contoh: Limit 15 Data)
https://ppid.madina.go.id/rss/generate?limit=15
// Filter per Kategori (Contoh: Informasi Berkala)
https://ppid.madina.go.id/rss/generate?category=Informasi Berkala
// Gabungan 4 Filter (Contoh: Dinkes, Tahun 2024, Limit 5, Kategori Setiap Saat):
https://ppid.madina.go.id/rss/generate?unit_id=730701&year=2024&limit=5&category=Informasi Setiap Saat
WordPress
Buka Editor Post/Halaman Anda dan aktifkan blok editor terbaru.
Klik tombol (+) lalu cari blok bernama "RSS" di kolom pencarian.
Masukkan URL Feed yang sudah dikustomisasi ke kolom input RSS WordPress.
Klik "Gunakan URL" dan tunggu data memuat secara otomatis dari server kami.
Atur tata letak pada sidebar pengaturan blok agar sesuai dengan estetika situs Anda.
Tips Konfigurasi:
- Aktifkan opsi "Tampilkan Ringkasan"
- Aktifkan opsi "Tampilkan Tanggal"
- Pilih mode List untuk hemat ruang
Blogger
Masuk ke dashboard utama dan pilih menu Tata Letak (Layout).
Klik link Tambahkan Gadget di bagian Sidebar atau Footer blog Anda.
Pilih gadget "Feed" dari daftar pop-up gadget Blogger yang tersedia.
Tempelkan URL RSS Feed pilihan Anda, lalu klik "Lanjutkan".
Berikan judul gadget dan simpan untuk melihat hasilnya di halaman publik.
Blogger secara otomatis akan memperbarui daftar informasi terbaru setiap kali ada pembaruan di portal PPID, menjaga blog Anda tetap relevan tanpa usaha ekstra.
Contoh Kode Siap Pakai
<style>
.ppid-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; font-family: sans-serif; }
.ppid-card { background: #fff; border-radius: 20px; padding: 25px; border: 1px solid #eee; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.ppid-title { font-weight: 800; color: #1a1a1a; text-decoration: none; font-size: 15px; display: block; margin: 10px 0; }
@media (max-width: 768px) { .ppid-grid { grid-template-columns: 1fr; } }
</style>
<div id="ppid-grid" class="ppid-grid">Memuat data...</div>
<script>
// TIPS: Ganti nilai 'category' untuk filter spesifik:
// 'Informasi Berkala', 'Informasi Setiap Saat', 'Informasi Serta Merta', 'Informasi Dikecualikan'
const RSS_URL = 'https://ppid.madina.go.id/rss/generate?limit=6&category=Informasi Berkala';
fetch(RSS_URL).then(res => res.text()).then(xmlString => {
const xml = new DOMParser().parseFromString(xmlString, "text/xml");
const items = xml.querySelectorAll("item");
let html = '';
items.forEach(el => {
html += `<div class="ppid-card">
<div style="display:flex; justify-content:space-between;">
<small style="color:#0052FF; font-weight:bold;">🏛️ ${el.querySelector("organization").textContent}</small>
<small style="color:#666; background:#eee; padding:2px 8px; border-radius:5px;">${el.querySelector("category").textContent}</small>
</div>
<a href="${el.querySelector("link").textContent}" target="_blank" class="ppid-title">${el.querySelector("title").textContent}</a>
<small style="color:#999">📅 ${new Date(el.querySelector("pubDate").textContent).toLocaleDateString('id-ID')}</small>
</div>`;
});
document.getElementById("ppid-grid").innerHTML = html;
});
</script>
<?php
// Ganti 'category' untuk filter: 'Informasi Berkala', 'Informasi Setiap Saat', dll.
$url = "https://ppid.madina.go.id/rss/generate?unit_id=730714&limit=6&category=Informasi Berkala";
$rss = simplexml_load_file($url);
echo "<div style='display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;'>";
foreach ($rss->channel->item as $info) {
echo "<div style='background:#fff; padding:20px; border-radius:15px; border:1px solid #eee;'>
<div style='color:#0052FF; font-weight:bold; font-size:10px;'>🏛️ {$info->organization}</div>
<div style='background:#eee; padding:2px 8px; border-radius:5px; display:inline-block; font-size:10px;'>📂 {$info->category}</div>
<div style='margin:10px 0;'><strong>{$info->title}</strong></div>
</div>";
}
echo "</div>";
?>
// 1. Controller
$xml = simplexml_load_file("https://ppid.madina.go.id/rss/generate?limit=6");
return view('your_view', ['feeds' => $xml->channel->item]);
// 2. View (.blade.php)
<div class="grid grid-cols-3 gap-6">
@foreach($feeds as $item)
<div class="card">
<h4>{{ $item->title }}</h4>
<p>{{ $item->organization }}</p>
</div>
@endforeach
</div>
// 1. Controller
$url = "https://ppid.madina.go.id/rss/generate?limit=6";
$data['feeds'] = simplexml_load_file($url);
$this->load->view('rss_view', $data);
// 2. View (rss_view.php)
<?php foreach ($feeds->channel->item as $item): ?>
<div class="card">
<h5><?= $item->title ?></h5>
</div>
<?php endforeach; ?>
<div id="ppid-list" style="background:#fff; border-radius:15px; border:1px solid #eee; overflow:hidden;">Memuat...</div>
<script>
fetch('https://ppid.madina.go.id/rss/generate?limit=10').then(res => res.text()).then(xml => {
const data = new DOMParser().parseFromString(xml, "text/xml");
const items = data.querySelectorAll("item");
let html = '';
items.forEach((el, index) => {
html += `<div style="padding:15px 20px; border-bottom:1px solid #f5f5f5; display:flex; align-items:center; justify-content:space-between; font-family:sans-serif;">
<a href="${el.querySelector("link").textContent}" target="_blank" style="text-decoration:none; color:#333; font-weight:700;">${el.querySelector("title").textContent}</a>
<span style="font-size:9px; font-weight:bold; padding:2px 10px; border-radius:20px; background:#eee;">${el.querySelector("status").textContent}</span>
</div>`;
});
document.getElementById("ppid-list").innerHTML = html;
});
</script>
// PHP List Code...
// Laravel List Code...
// CI List Code...