Custom Tag: cf_workcube_websocket


Kullanım Amacı

Uygulama seviyesinde (application.cfc) tanımlı olan soket kanalları üzerinden veri alış verişi yapmayı kolaylaştırmak, hali hazırda Coldfusion üzerinde bulunan cfwebsocket'in javascript fonksiyonlarını kullanarak veri gönderimi ya da alımı sonrasında ki olayları yönetmek, kanal üzerinden gönderilen verinin karşı tarafa ulaştığında tercihe bağlı olarak push notification ( bildirim ) oluşturmasını sağlamak amaçlarıyla kullanılır.

Parametreler

Attirubutes Açıklama Tip Zorunlu

socketItems

Soket üzerinden gönderilecek verileri struct formatında ister. (Struct modeli aşağıda ayrıntılı bir şekilde tarif edilmiştir.)

struct E

SocketItems struct modeli

channel : 'Kanal adı ( application.cfc de tanımlı olması gerekiyor )',
data : {
       type : "cf_workcube_websocket'de handlerMessage fonksiyonu içerisinde yöneteceğiniz koşul aralığı için kullanılacak isim.",
       action_page : "Herhangi bir index adı ve değerini gönderebilirsiniz.
       ( İstenilen formatta ve istediğiniz isimle gönderebilirsiniz. Burada örnek olarak action_page kullanılmış )",
       notification_settings : {
              status : (True ya da false alır.)
              Soket üzerinden yapacağınız gönderim karşı tarafa ulaştığında bildirim oluşturmak isteniyorsa true, istenmiyorsa false gönderilir. ),
              title : "Oluşturacağınız bildirimin mesajı",
              content : "Oluşturacağınız bildirimin içeriği",
              redirecturl : "Oluşturacağınız bildirime tıklanıldıktan sonra yönlendirilecek bağlantı adresi"
       }
}

Örnek Kullanım

CustomTags\workcube_process.cfm

<cfset socketItems[currentrow] = {
      channel : 'workflow.#get_cau_position_type.EMPLOYEE_ID#',
      data : {
              type : 'workflow',
              action_page : "#attributes.action_page#",
              warning_head : "#get_Process_Type_1.process_name# - #get_Process_Type_1.stage#",
              process_row_id : get_Process_Type_1.process_row_id,
              warning_description : "#warning_description_#",
              record_date : attributes.record_date,
              record_member : attributes.record_member,
              position_code : get_cau_position_type.position_code,
              sender_position_code : session.ep.position_code,
              action_id : (len(attributes.action_id)) ? attributes.action_id : 0,
              action_stage : attributes.process_stage,
              general_paper_id : attributes.general_paper_id,
              notification_settings : {
                  status : true,
                  title : "Yeni bir bildiriminiz var!",
                  content : "#get_Process_Type_1.process_name#",
                  redirecturl : "#user_domain#/#attributes.action_page#"
              }
       }
} />

<cf_workcube_websocket socketItems="#socketItems#">

Geri Bildirim

Bu içeriği faydalı buldunuz mu?