Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

MEMBUAT ALERT NOTIFIKASI DI WEB

tolong dong mastah mastah ...
gua mao bikin aplikasi permintaan perbaikan gitu jadi user melakukan permintaan perbaikan via web (intranet) nah permintaan perbaikan akan dilihat oleh IT di halaman  admin lalu ditindak lanjuti...

pertanyaannya:
1.yang gua mao bikin ketika user buat permintaan nanti di halaman admin muncul alert notifikasi gitu dengan suara biar IT tau klo ada notifikasi baru walaupun dia gak lagi buka webnya(misal lagi di tab lain, tapi masih membuka aplikasinya)
mungkin bisa disamakan kaya web ini , kan klo ada yang jawab postingan kita , ada notif tuh di pojok kiri bawah, bedanya klo web ini kan gak bersuara aja.

2. mungkin gak bikin notisikasi seperti diatas tapi dalam keadaan tidak membuka browser , jadi ada alert walaupun kita ga buka webnya (pake bahasa progam apa aja boleh)

yang punya contoh atau mengrti bisa tolong kasih penjelasanya yah :)

Tanggapan

  • edited March 2015
    1. pake browser juga bisa, meski lagi gak buka tab tsb, tinggal bikin loadnya via ajax atau iframe kan, tiap beberapa detik sekali di load. Coba liat2 fungsi javascript setInterval.
    2. Bisa, tapi ya buatnya pake bahasa pemrograman desktop atau console, bisa pake C, C++, C#, VB, VB.NET atau java. Yang terpenting aplikasinya dijalanin jadi service.
    Untuk no. 2, tentuin dulu mo pake bhs pemrograman apa, 
    untuk no 1 cukup ngandalin setInterval di iframe atau load data via ajax, play notifikasinya pake tag html5 bisa kan.
  • edited March 2015
    lebih tepat pake pemrograman desktop
    karena bisa jalan di background

    kalo pake web base
    otomatis browser harus dibuka terus di url yg dimaksud
    dan browser kagak boleh ditutup
    dan kagak boleh juga di minimize
    atau ketutup aplikasi lain (apalagi kalo aplikasi lainnya jalan pake window maximize)
  • New User =
     bisa kasih contoh gak bang (setinterval) itu bijimana?? ane gak tau sama sekali ...
    misal ane pake VB.net ane ngerti dikit dikit.. itu gimana yah konsepnya??

    panda =
    contohnya dong om panda....
    klo misal saya pake VB.net
  • kalo elo mau bikin aplikasi desktop ...
    pertanyaanya :

    - bisa bikin aplikasi yg nungul di system tray icon (pojok kanan bawah) ?
    - bisa bikin aplikasi service ?
  • gak bisa :D
    ahahahhahahha ribet yah kayanya ?? :D
  • antara ribet dan tidak ... tergantung
    kalo sudah paham, enak aja kodingnya :D

    gw pernah bikin aplikasi service, cuma pake delphi, dan itu pun cuma delphi 7
    belum pernah kalo pake dot net (belum ada butuh pake dot net)

    tapi bayangan buat elo, jadinya mirip yahoo messenger
    - icon nungul di icon tray
    - sewaktu-waktu bisa dimunculkan
    - selalu berkomunikasi dgn server (kalo ym buat ambil data chat, kalo elo cukup liat table notifikasi)
    - ada suara kalo di buzz

    ini kalo delphi :
    http://www.diskusiweb.com/discussion/47478/membuat-program-tidak-bisa-di-close-di-delphi/p1
  • hmmppp iya juga sih..
    hadeeeewhhhhhh buta banget jadi bingung mao mulai gimana
  • edited April 2015
    pilih dulu mau pake metode mana, desktop ? atau web base ?
  • web base aja deh dulu ...
    gimana tuh klo web base , jadi bikin kaya web ini gitu ada notif di pojok kiri bawah klo ada yang bales pesan tapi dengan suara..
  • edited April 2015
    [1]
    ini contoh desktop yg pake dot net
    http://www.hardcodet.net/wpf-notifyicon

    [2]
    web base mah simple ...
    cuma kondisinya jadi 2 :

    [a] kalo elo pake popup sejenis floating <div>
    - kalo dibuka di tab yg ada notifikasi nya : box notifikasi kelihatan dan bunyi
    - tapi kalo user buka tab lain atau window lain atau browser di minimize : box kagak keliatan, tapi tetap bunyi
    - bentuk popup nya bisa elo kontrol, bebas

    [b] kalo elo pake popup window open
    - tergantung seting auto window open di browser diperbolehkan atau tidak
    - kalo diperbolehkan, window baru muncul
    - kalo user buka tab lain atau window browser baru yg sama : window tetap muncul dan kelihatan dan bunyi
    - kalo user buka window lain (aplikasi lain) : muncul di taskbar window baru yg kelip-kelip dan bunyi
    - bentuk window nya ya persis window browser biasa, lebih kaku
  • kalo yang A gimana tuh bang??
    misal lagi minimize trus kan ada suara nah pas kita buka browsernya pop up-nya masih ada apa ilang??
    kasih contoh dong bang... biar gua bisa terapin langsung
  • edited April 2015
    elo bikin dah folder baru buat testing di htdocs elo, misal /test/
    cari file suara format .mp3
    lalu konvert juga jadi file .ogg
    buat suara ping nya, misal : ping.mp3 dan ping.ogg
    letakan di folder /test/

    bikin file text : data.txt,
    kosong saja, gw simulasikan ini db elo
    tinggal ntar elo ganti jadi table notifikasi



    bikin file php, isi yg meladeni request browser, misal : getdata.php
    yg baca dan tulis ke db / table notifikasi

    <?php
    echo $str=trim(file_get_contents('data.txt'));
    if(!empty($str)) file_put_contents('data.txt','');
    ?>

    itu bakal baca data.txt, apapun isinya dijadikan respon ke browser
    kalo ada isinya, isinya dihapus setelah di echo



    tinggal elo bikin halaman yg ada notifikasi nya, pake ajax dan timer, misal : index.html

    <html>
     <head>
      <style>
       body{font:normal 12px verdana;margin:0;padding:0;}
       #notif{position:fixed;bottom:0;right:0;width:200px;height:80px;overflow-y:scroll;border:1px solid #ccc;padding:5px 10px;margin:0 5px 5px 0;background-color:#fff;border-radius:5px;-webkit-box-shadow:2px 2px 10px 0px rgba(0,0,0,0.75);-moz-box-shadow:2px 2px 10px 0px rgba(0,0,0,0.75);box-shadow:2px 2px 10px 0px rgba(0,0,0,0.75);}
      </style>
     </head>
     <body>
      <div id="notif" onclick="this.style.display='none';" style="display:none;"></div>
      <div style="height:100%;background-color:#eee;">sample content</div>
      <script>
       var mode=0; //0 : window.open , 1 : float div
       var xmlhttp;
       if(window.XMLHttpRequest) {xmlhttp=new XMLHttpRequest();}
       else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
       }
       var sound=
        "<audio autoplay style='display:none'>"+
         "<source src='ping.mp3' type='audio/mpeg'></source>"+
         "<source src='ping.ogg' type='audio/ogg'></source>"+
        "</audio>";
       xmlhttp.onreadystatechange=function() {
        if(xmlhttp.readyState==4 && xmlhttp.status==200) {
         if(xmlhttp.responseText!="") {
          if(mode==0) {
           var myWindow=window.open(
            "","MsgWindow",
            "toolbar=0,"+
            "titlebar=0,"+
            "status=0,"+
            "resizable=0,"+
            "menubar=0,"+
            "location=0,"+
            "fullscreen=0,"+
            "directories=0,"+
            "channelmode=0,"+
            "width=200,"+
            "height=80,"+
            "left="+(window.innerWidth)+","+
            "top="+(window.innerHeight)
           );
           myWindow.document.write(
            "<span style='font:normal 12px verdana;'>"+
             xmlhttp.responseText+
            "</span>"+
            sound
           );
           myWindow.focus(); // bisa ditambah ini, cuma mengganggu kalo lagi kerja di window lain
          }
          else if(mode==1) {
           document.getElementById("notif").innerHTML=
            xmlhttp.responseText+
            sound;
           document.getElementById("notif").style.display="";
          }
         }
        }
       }
       function getnotif() {
        xmlhttp.open("GET","getdata.php",true);
        xmlhttp.send();
       }
       setInterval(function(){getnotif();},5000);
      </script>
     </body>
    </html>

    itu ada "mode"
    0 kalo elo mau lihat yg pake window.open()
    1 kalo floating <div>

    itu bakal "nanya" ke server ada notifikasi baru atau tidak per 5 detik



    coba elo jalankan
    edit : data.txt
    isi sembarang
    simpan
    perhatikan notifikasi yg nungul
  • ane coba duu bang
  • ga ada respon bang :(
    salah dimana yah saya?? saya udah copy semua padahal
  • apa yang saya ketik di data.txt saya simpan terus saya buka lagi udah ga ada sesuai sama yang tadi abang bilang , tapi di browser ga terjadi perubahan apa2 , suara juga gak ada
    file suaranya udah lengkap  mp3 dan .ogg
  • edited April 2015
    elo pake yg mana ?
    yg window.open atau floating <div> ?

    itu kalo elo copy apa adanya, pake nya window.open

    dan kalo pake window.open, pasti muncul peringatan browser (firefox muncul di bar paling atas)
    kira-kira arti harfiahnya : "situs ini mau membuka tambahan window popup, diijinkan atau tidak ?"

    kalo elo abaikan atau elo jawab tidak boleh, ya kagak bakal window.open nya jalan
  • edited April 2015
    yang window.open bang
    tapi gak keluar kaya gitu bang...
    flat aja kaya gak terjadi apa2

  • edited April 2015
    ya udah, berarti browser elo emang kagak ngebolehin window popup
    gw pan sudah bilang :
    - tergantung seting auto window open di browser diperbolehkan atau tidak
    - kalo diperbolehkan, window baru muncul
    window popup nya di blokir browser elo
    atau seting browser elo kagak di set buat mengijinkan popup
    atau di blokir addons browser elo
  • edited April 2015
    iya bang bisa gua coba pake Chrome,

    nah sekarang klo gua praktekin di web gua gimana dah?? data.txt nya ganti file php yang isinya query??apa gimana??


  • proses nya pan di getdata.php
  • ouh jadi yang harus gua ubah di getdata.php??

    ubanya gimana bang?? contohin bang, belet banget otak gue :(
  • ???

    lha wong tinggal ubah jadi model baca db aja kok bingung to mas ...

    baca db
    echo datanya
  • <?php
    $koneksi=mysql_connect("localhost","root","");
    $pilihdb=mysql_select_db("sistem_it", $koneksi) or die ("gagal koneksi");

    $sql=mysql_query("select max(no_phs) as last from phs");
    $data=mysql_fetch_array($sql);

    echo $data['last'];
    ?>

    gituuu bukan ??
  • kira-kira bentuk sederhana nya kaya begitu

    tapi pan itu cuma ambil nomer terbesar
    elo pan mau menampilkan pesan to ?
    lalu juga harus ada pembeda mana pesan yg harus dikeluarkan dan mana yg tidak (sudah pernah dikeluarkan)
  • bang ijin lanjut nanya donk, cara buat pembeda pesannya gmn ya bang?? biar notifikasinya gak keluar secara berulang2.
  • di tiap pesan ada field "read"
    itu bentuknya flag

    1 kalo sudah pernah ditampilkan
    0 kalo belum

    inisialisasi awal saat INSERT : 0

    saat ditampilkan, tampilkan saja yg 0

    saat setelah ditampilkan UPDATE jadi 1

    sudah to, ndak akan ada yg berulang
  • ma'v nh bang ane nanya lg, ni filed nya di database ya?bsa kasih dkit gambarannya gak bang?sma inisialisasinya ane nambahin jg di skrip php nya jg??
  • edited March 2016
    lha ini pesan asalnya dari mana ?
    mulai nya dari situ

    gw ndak bisa ngomong "kaya gini alurnya"
    lha wong alur elo sendiri gw ndak tau

    tapi globalnya ya yg gw tulis di atas
  • alurnya :
    ketika user kirim pesan, yang terjadi dibelakang layar "insert into pesan (isipesan,status) values ("[ambil value dari inputan]","0");"

    untuk munculin :
    "select * from pesan where status=0";

    setelah dibaca:
    "update pesan set status=1 where idpesan="ambil idpesan yang di select"";

    jd yang status = 1 (yang sudah dibaca) ga akan muncul lg di notif
Sign In or Register to comment.