nah, jadi core user yang seperti ini dong, gak cuma bengak-bengok usul ini-itu, tapi juga mencoba mencari dan menawarkan solusi :)
good job Ari... wah, para core user makin keren nih, jadi ikut semangat!
terus terang saya belum sempat baca semuanya, panjang banget & pake bahasa linggis jadi rada susah, tapi dari yang saya tangkap tetap perlu sedikit patching juga, dan ada sedikit masalah dengan efisiensi waktu untuk menemukan halaman yang tepat...
tapi layak juga dicoba daripada tidak ada solusi lain... silakan dicoba di lokal dulu...
Ini kode yang ditawarkan oleh link yang diberikan Ari. Sekilas tampaknya ini cara bodon untuk mencari komentar satu-persatu di tiap halaman. Tidak heran salah satu komentarnya (link yang diberikan Ari) bilang kalau sudah sampai halaman 10-15 (kalau komentarnya banyak) ngos-ngosan skripnya akibatnya loadingnya lama. Theo tampaknya sedang mengujinya di server lokal, semoga hasilnya bisa segera keluar apakah skrip ini layak untuk dipakai. Dari diskusi dengan Theo, saya melihat beberapa pertanyaan yang akan ditimbulkan:
1. Idealnya berapa komentar per halaman?
2. Bagaimana nasib "nested comments" yang berada di paling bawah sebelum pergantian halaman
3. Apakah bisa bekerja dengan relatif cepat untuk komentar-komentar di blog SS yang panjang (>100 komentar)
Berikut ini javascriptnya (http://winhlp.com/drupalcommentsearch.js)
function commentLink() { // #comment-N? if (!/#comment-\d+$/.test(location.hash)) return; var el; if (el = document.getElementById(location.hash.substr(1))) return; var sa = location.search.substr(1).split("&"); var cs = +removeSearchValue("cs", sa); // If this is the same page as the previous one, break off: if (cs && document.getElementById("comment-" + cs)) return; var page = +removeSearchValue("page", sa); if (page >= 99) return; // Endless loop paranoia (:-) var firstCommentNumber = getFirstCommentNumber(document.body); if (firstCommentNumber) { var url = location.href.match(/.*?(?=\?|#|$)/) + "?page=" + (page + 1) + "&cs=" + firstCommentNumber + (sa + "" ? "&" + sa.join("&") : "") + location.hash; if (cs) location.replace(url); else location = url; } }
function getFirstCommentNumber(el) { for (var child in el.childNodes) { var childNode = el.childNodes[child]; if (childNode.id && childNode.id.substr(0, 8) === "comment-") return +childNode.id.substr(8); var n = getFirstCommentNumber(childNode); if (n) return n; } }
function removeSearchValue(searchParam, searchArray) { for (var i = 0; i < searchArray.length; i++) { var searchItem = searchArray[i].split("="); if (searchItem[0] === searchParam) { searchArray.splice(i, 1); return (searchItem.length >= 1) ? searchItem[1] : ""; } } return ""; } }());
-1 blog ada 91 artikel, mencari komentar ke 91 (mis. sabdaspace.org/test#comment-6000)
-klo satu halaman 90 komentar maka waktu yang dibutuhkan 6 detik
-klo satu halaman 10 komentar, maka waktu yang dibutuhkan 46 detik
-kesimpulan, mencari 1 halaman (dan pergi ke halaman berikutnya kalau tidak ditemukan) dibutuhkan waktu 5 detik
-cara kerja skrip: setelah halaman sabdaspace.org/test#comment-6000 selesai di-load, selama 5 detik berikutnya halaman hanya diam saja, lalu detik ke 6-10 ke halaman 1 http://sabdaspace.org/test?page=1&cs=63726#comment-6000, diam lagi dan mencari selama 5 detik, kemudian ke halaman berikutnya, dst. Selama mencari di window tidak terlihat perubahan apa-apa kecuali di address bar setiap 5 detik. Tidak ada tanda-tanda loading atau semacamnya. Di status bar (bagian bawah) cuma ada tulisan "waiting sabdaspace.org..."
-Selama waktu itu pengguna biasa mungkin akan celingukan tidak tahu bahwa ia harus menunggu 5 detik. Itu aja di komputer yang lumayan cepat koneksinya. klo lemot mungkin lebih lama lagi, belum klo pake HP.
Skrip kedua:
-Sekilas cara kerja dan waktu yang dibutuhkan sama, cuma perbedaannya ketika tidak ditemukan di satu halaman, maka pencarian di halaman berikutnya sama seperti kalau klik (ada ikon yang berputar, judul window diganti menjadi "Loading...", status bar ada tanda "waiting sabdaspace.org" dst.")
-Iseng-iseng mencoba memasukkan nomor ID yang random (misalnya #comment-1) maka kodenya tidak bisa tahu (karean tidak bisa mengakses database tentu saja) bahwa nomor komentar itu tidak sah/tidak eksis, lalu mencari hingga halaman 21 sebelum saya stop. Klo skrip pertama dibatasi "hanya" mencari hingga 99 halaman, entah bagaimana skrip kedua.
Terima kasih untuk Theo yang sudah mencobanya di server lokal.
mesti ditanyakan ke mereka yang sedang melakukan uji coba di server lokal.
minggu lalu sepertinya mereka sedang sibuk menyelesaikan CD SABDA versi 4.0, tapi kelihatannya sekarang sudah selesai dan siap mengerjakan yang lain... tapi itu cuma dugaan saya saja lho, saya juga belum dengar kabar apa2 lagi dari dalam...
Jadi, skripnya sudah dicoba dan walaupun bisa jalan (mencari komentar di halaman ke-x) namun memakan waktu yang relatif lama (sekitar 5 detik untuk berpindah ke halaman berikutnya). Kita kurang puas dengan pilihan-pilihan yang ada saat ini.
Pilihannya:
kita menunggu ada skrip yang bisa bekerja lebih efisien lagi, atau
kita coba dulu pasang di SS.org buat teman-teman sekalian coba
usul bagus
nah, jadi core user yang seperti ini dong, gak cuma bengak-bengok usul ini-itu, tapi juga mencoba mencari dan menawarkan solusi :)
good job Ari... wah, para core user makin keren nih, jadi ikut semangat!
terus terang saya belum sempat baca semuanya, panjang banget & pake bahasa linggis jadi rada susah, tapi dari yang saya tangkap tetap perlu sedikit patching juga, dan ada sedikit masalah dengan efisiensi waktu untuk menemukan halaman yang tepat...
tapi layak juga dicoba daripada tidak ada solusi lain... silakan dicoba di lokal dulu...
In reply to usul bagus by Daniel
PermalinkOK Ari..
Ok, Ari. gw coba. Thx
Ini kode yang ditawarkan
Ini kode yang ditawarkan oleh link yang diberikan Ari. Sekilas tampaknya ini cara bodon untuk mencari komentar satu-persatu di tiap halaman. Tidak heran salah satu komentarnya (link yang diberikan Ari) bilang kalau sudah sampai halaman 10-15 (kalau komentarnya banyak) ngos-ngosan skripnya akibatnya loadingnya lama. Theo tampaknya sedang mengujinya di server lokal, semoga hasilnya bisa segera keluar apakah skrip ini layak untuk dipakai. Dari diskusi dengan Theo, saya melihat beberapa pertanyaan yang akan ditimbulkan:
1. Idealnya berapa komentar per halaman?
2. Bagaimana nasib "nested comments" yang berada di paling bawah sebelum pergantian halaman
3. Apakah bisa bekerja dengan relatif cepat untuk komentar-komentar di blog SS yang panjang (>100 komentar)
Berikut ini javascriptnya (http://winhlp.com/drupalcommentsearch.js)
// Version 2010-01-02. Copyright © 2009-2010 Hans-Georg Michna
(function () {
(function waitForDomComplete() {
// Keep preexisting handler and append own handler:
var precedingOLHandler = window.onload;
window.onload = function () {
if (precedingOLHandler) precedingOLHandler();
// Remove own handler:
window.onload = null;
commentLink();
}
}());
function commentLink() {
// #comment-N?
if (!/#comment-\d+$/.test(location.hash)) return;
var el;
if (el = document.getElementById(location.hash.substr(1)))
return;
var sa = location.search.substr(1).split("&");
var cs = +removeSearchValue("cs", sa);
// If this is the same page as the previous one, break off:
if (cs && document.getElementById("comment-" + cs)) return;
var page = +removeSearchValue("page", sa);
if (page >= 99) return; // Endless loop paranoia (:-)
var firstCommentNumber = getFirstCommentNumber(document.body);
if (firstCommentNumber) {
var url = location.href.match(/.*?(?=\?|#|$)/) +
"?page=" + (page + 1) +
"&cs=" + firstCommentNumber +
(sa + "" ? "&" + sa.join("&") : "") +
location.hash;
if (cs) location.replace(url); else location = url;
}
}
function getFirstCommentNumber(el) {
for (var child in el.childNodes) {
var childNode = el.childNodes[child];
if (childNode.id && childNode.id.substr(0, 8) === "comment-")
return +childNode.id.substr(8);
var n = getFirstCommentNumber(childNode);
if (n) return n;
}
}
function removeSearchValue(searchParam, searchArray) {
for (var i = 0; i < searchArray.length; i++) {
var searchItem = searchArray[i].split("=");
if (searchItem[0] === searchParam) {
searchArray.splice(i, 1);
return (searchItem.length >= 1) ? searchItem[1] : "";
}
}
return "";
}
}());
Tes Dulu Dua Javascriptnya
Tes dulu aja lah dua js nya, mana yang lebih juoss, nanti pertanyaan2 Benny bisa terjawab :)
*yuk comment tapi jangan nyampah*
*yuk ngeblog tapi jangan nyampah*
Hasil
Hasil dari skrip yang ditunjukkan Ari:
-1 blog ada 91 artikel, mencari komentar ke 91 (mis. sabdaspace.org/test#comment-6000)
-klo satu halaman 90 komentar maka waktu yang dibutuhkan 6 detik
-klo satu halaman 10 komentar, maka waktu yang dibutuhkan 46 detik
-kesimpulan, mencari 1 halaman (dan pergi ke halaman berikutnya kalau tidak ditemukan) dibutuhkan waktu 5 detik
-cara kerja skrip: setelah halaman sabdaspace.org/test#comment-6000 selesai di-load, selama 5 detik berikutnya halaman hanya diam saja, lalu detik ke 6-10 ke halaman 1 http://sabdaspace.org/test?page=1&cs=63726#comment-6000, diam lagi dan mencari selama 5 detik, kemudian ke halaman berikutnya, dst. Selama mencari di window tidak terlihat perubahan apa-apa kecuali di address bar setiap 5 detik. Tidak ada tanda-tanda loading atau semacamnya. Di status bar (bagian bawah) cuma ada tulisan "waiting sabdaspace.org..."
-Selama waktu itu pengguna biasa mungkin akan celingukan tidak tahu bahwa ia harus menunggu 5 detik. Itu aja di komputer yang lumayan cepat koneksinya. klo lemot mungkin lebih lama lagi, belum klo pake HP.
Skrip kedua:
-Sekilas cara kerja dan waktu yang dibutuhkan sama, cuma perbedaannya ketika tidak ditemukan di satu halaman, maka pencarian di halaman berikutnya sama seperti kalau klik (ada ikon yang berputar, judul window diganti menjadi "Loading...", status bar ada tanda "waiting sabdaspace.org" dst.")
-Iseng-iseng mencoba memasukkan nomor ID yang random (misalnya #comment-1) maka kodenya tidak bisa tahu (karean tidak bisa mengakses database tentu saja) bahwa nomor komentar itu tidak sah/tidak eksis, lalu mencari hingga halaman 21 sebelum saya stop. Klo skrip pertama dibatasi "hanya" mencari hingga 99 halaman, entah bagaimana skrip kedua.
Terima kasih untuk Theo yang sudah mencobanya di server lokal.
PIYE
guys.... PIYE? masalah ini udah case-closed atau gimana?
In reply to PIYE by dennis santoso…
Permalinkanybody home?
mesti ditanyakan ke mereka yang sedang melakukan uji coba di server lokal.
minggu lalu sepertinya mereka sedang sibuk menyelesaikan CD SABDA versi 4.0, tapi kelihatannya sekarang sudah selesai dan siap mengerjakan yang lain... tapi itu cuma dugaan saya saja lho, saya juga belum dengar kabar apa2 lagi dari dalam...
halo?
In reply to anybody home? by Daniel
PermalinkJoli bantuin..
sini Joli bantuin
atau
THEO, BENNY..
In reply to Joli bantuin.. by joli
PermalinkKesimpulan
Jadi, skripnya sudah dicoba dan walaupun bisa jalan (mencari komentar di halaman ke-x) namun memakan waktu yang relatif lama (sekitar 5 detik untuk berpindah ke halaman berikutnya). Kita kurang puas dengan pilihan-pilihan yang ada saat ini.
Pilihannya:
Mau pilih yang mana?
In reply to Kesimpulan by bennylin
Permalinkexecute aja
ok, sementara belum ada solusi laen, gue setuju no. 2, pasang di SS.org.
nanti kalo ada script yg lebih efisien, ganti script ini dan coba lagi di SS.org.
gitu aja terus sampe ada solusi yang nggak koboi2-an kayak gini :-)
Sudah saya pasang
Sudah saya pasang, saya menggunakan script yang ada di forum drupal. Thx for Dennis, Ari, Beny, Joli, Daniel, SF dll yang telah ikut membantu :)
Terima kasih
Karena bagiku hidup adalah Kristus dan mati adalah keuntungan (Filipi 1:21)