Wednesday 22 October 2014

Editor Tracking - Mengenalpasti Siapakah dan Bilakah Tarikh/Masa Data Dikemaskini

Kali ni saya akan share dengan u all satu topik yang agak menarik dan mungkin amat berguna untuk digunakan dalam kerja seharian anda. 

Senario

"Siapa yang digit lot ni ye? Jalan ni bila masa dikemaskini ye?" Hmmmm... Sekiranya anda menguruskan transaksi data yang besar, contohnya lot gunatanah atau road network kawasan bandar, pernahkah timbul persoalan time bilakah sesuatu lot atau jalanraya tu diupdate, dan   sekiranya ramai editor yang terlibat dalam proses pengemaskinian, siapakah yang update sesuatu lot atau jalanraya tersebut??


Bagaimana anda nak track atau log proses editing yang berlaku di dalam data anda tu? Jawapannya ialah dengan menggunakan editor tracking di dalam geodatabase. Bila anda enable saja editor tracking pada data anda di dalam geodatabase ni, setiap perubahan edit yang berlaku pada data tu akan di log dan direkodkan di dalam field yang anda tentukan. Maklumat yang direkodkan melibatkan siapa yang edit dan bilakah tarikh dan masa proses edit itu berlaku. Contoh seperti gambar di bawah ni, setiap lot tu saya boleh tahu siapa yang edit dan bilakah tarikh dan masa diedit.



So macamana nak enable editor tracking ni dalam data anda? Mudah je, sesimple right click atau boleh guna juga tool di dalam Arctoolbox.

Enable Editor Tracking - Cara 1

Ni cara yang paling simple. Lakukan seperti step di bawah :-



Penerangan gambar :-
  1. Dalam ArcCatalog atau Catalog window, right click pada data dan pilih Manage
  2. Pilih Enable Editor Tracking...
  3. Dialog akan dipaparkan menyatakan 4 field akan dibina di dalam data anda iaitu created_user, created_date, last_edited_user dan last_edited_date. Klik Yes.
  4. Dialog pengesahan akan dipaparkan menyatakan editor tracking telah berjaya diset di dalam data anda. Klik OK.


Apabila anda buka properties pada data anda tadi, anda akan melihat ruangan tab Editor Tracking seperti di bawah:-



Step ni ada limitation sikit, seperti yang anda lihat, 4 field default yang dibina akan dinamakan sebagai created_user, created_date, last_edited_user dan last_edited_date.

created_user : siapa user yang mula-mula create feature
created_date : bila tarikh dan masa feature tu mula dicreate
last_edited_user : siapa user yang terakhir kemaskini feature
last_edited_date : bila tarikh dan masa terakhir feature tu dikemaskini

Kalau anda gunakan step ni, anda tak boleh ubah nama-nama field tu... dan step ni juga akan rekod tarikh dan masa dalam format UTC (Coordinated Universal Time). Sekiranya lokasi kerja-kerja editing anda hanya melibatkan time zone yang sama, contohnya anda kerja kat Malaysia je, takde nak replicate data ke oversea, ataupun data anda tidak dipublish sebagai feature service di dalam ArcGIS for Server, better anda guna Database Time Zone saja sebab format UTC ni kadang-kadang agak mengelirukan.

Enable Editor Tracking - Cara 2

Cara ni agak lebih fleksible. Anda boleh tentukan nama field anda sendiri dan boleh pilih samada nak guna format tarikh/masa dalam UTC atau Database Time. Caranya seperti di bawah :-



Penerangan gambar :-
  1. Dalam Arctoolbox, klik Data Management Tools > Fields > Enable Editor Tracking
  2. Pilih data yang anda nak set editor tracking.. mesti data geodatabase tau... shapefile cannot.
  3. Taip nama field untuk simpan user yang mula-mula create feature.
  4. Taip nama field untuk simpan tarikh/masa
  5. Taip nama field untuk simpan user yang terakhir kemaskini
  6. Taip nama field untuk simpan tarikh/masa terakhir kemaskini
  7. Klik checkbox Add fields if they don't exist (optional)
  8. Pilih DATABASE_TIME
  9. Klik OK


Di dalam contoh di atas, saya telah create 4 custom field untuk editor tracking iaitu Pengguna_Bina (macam lawak la plak nama field ni bila translate), Tarikh_Bina, Pengguna_Kemaskini dan Tarikh_Kemaskini manakala format tarikh/masa pula saya gunakan database_time.

Penggunaan Editor Tracking

Cuba lihat contoh data lot di bawah. Setiap lot yang saya klik menggunakan tool Identify akan memaparkan maklumat pengguna dan tarikh dikemaskini.



Sekiranya anda menggunakan personal atau file geodatabase, nama pengguna tu akan direkod mengikut Windows Login Name. Untuk ArcSDE Geodatabase pula, anda boleh pilih samada menggunakan Windows Login ataupun database login.

Sekarang lihat pula perubahan yang berlaku pada attribut apabila saya kemaskini lot terbabit. Contohnya saya pecah lot kepada dua bahagian. Perhatikan perbezaan attribut diruangan field Tarikh_Bina dan Tarikh_Kemaskini seperti di bawah ni :-



Maklumat di atas menunjukkan lot terlibat didigit bertarikh 16/9/2014 dan proses edit pecah lot berlaku pada tarikh 22/10/2014. Menarik kan? Maknanya saya boleh tahu bila tarikh dan masa proses edit berlaku dalam setiap lot dan siapa yang edit lot tu. Tapi perlu diingat, tracking editor hanya boleh track tarikh/masa TERAKHIR edit setiap feature dan bukannya track setiap tarikh berlaku perubahan edit dalam feature yang sama. Contohnya jika saya cantum kembali lot tu pada tarikh 23/10/2014, maklumat yang direkod pada Tarikh_Kemaskini hanya maklumat tarikh cantum, jadi saya tidak tahu history lot tu sebenarnya pernah berlaku proses pecah lot pada 22/10/2014. Sekiranya keperluan anda untuk track every changes yang berlaku dalam proses edit, mungkin kena guna teknologi Versioning dalam ArcSDE Geodatabase sebab Versioning boleh handle historical data.

Satu lagi yang menarik bila data anda ada maklumat tarikh/masa dalam setiap feature ni, of coz anda boleh buat query based on tarikh/masa. Contohnya saya nak kenalpasti lot yang dikemaskini selepas bulan September 2014.. jadi saya buat je query seperti di bawah :-




Try ler....

7 comments:

  1. tak menjadi pulak..sy guna 10.1..field ada tapi semua kosong

    ReplyDelete
    Replies
    1. pelik juga tu... patut 10.1 mmg support editor tracking. tuan dah try start edit, digit feature baru dan tgk hasil dlm field?

      Delete
    2. ada..tapi tarikh baru..
      lagi satu step 1 tu macam kena buat step 2 dulu.

      Delete
    3. data sebelum ni selalu simpan dlm shapefile..nampaknya kena mula simpan dlm gdb la..

      Delete
    4. oowhh.. mmg bila kita enable editor tracking dia hanya ambil kira date & time masa kita enable tu.. maksudnya data sedia ada yg dah masuk sebelum ni tak diambil kira date. Dia hanya effect utk feature baru yg kita digit atau masukkan selepas tu.

      Delete