GEODI veri tabanlarını yani yapısal verileri de değerlendirebilir. Veri tabanları ve içerdiği dosya bilgileri (gömülü dahil) indexlenebilir(bütün tablolar ve satırlar). Basit kurallar ile tabloları, satırlar veya alanları sınırlayabilir, satırların kullanıcıya nasıl gösterileceğini ayarlayabilirsiniz.
Veri Tabanı İstemcileri
Bazı veri tabanları için GEODI’nin olduğu sunucuda ilgili veri tabanı için istemci gerekebilir.
VTYS | İstemci |
---|---|
Oracle (OleDB) | Oracle ODAC driver kurulu olmalıdır. https://www.oracle.com/database/technologies/odac-downloads.html |
PostGres | Ekstra bir kurulum gerekmez. |
Microsoft SQL Server | Ekstra bir kurulum gerekmez. |
SqLite | Ekstra bir kurulum gerekmez. |
Shape File | Ekstra bir kurulum gerekmez. |
CSV File | Ekstra bir kurulum gerekmez. |
KML File | Ekstra bir kurulum gerekmez. |
Excel | Access Database Engine 2010 kurulu olmalıdır. https://www.microsoft.com/en-us/download/details.aspx?id=13255 |
ODBC | Ekstra bir kurulum gerekmez. |
MS Access | Access Database Engine 2010 kurulu olmalıdır. https://www.microsoft.com/en-us/download/details.aspx?id=13255 |
SQLCE | Ekstra bir kurulum gerekmez. |
SQL Express | Ekstra bir kurulum gerekmez. |
DB2 | OLEDB Driver kurulu olmalıdır. |
Kafka | Ekstra bir kurulum gerekmez. |
Oracle BigData | Microsoft Hive ODBC Driver kurulu olmalıdır. https://www.microsoft.com/en-us/download/details.aspx?id=40886 |
Cassandra | OLEDB ya da ODBC driver kurulması gereklidir. |
MongoDB | OLEDB ya da ODBC driver kurulması gereklidir. |
Veri Tabanı Kaynağı Nasıl Bağlanır
Proje Sihirbazı/Veritabanı ile Veri Tabanı Kaynağını seçerek başlayabilirsiniz.
Açılan Ekrandan Bağlantı Tanımla ile Tanımlamak istediğiniz Veri tabanını seçmelisiniz.
Tablosal Veriler Nasıl Tanımlanır
Birden çok yol vardır
SQLite, MDB, AccDB gibi dosya bazlı olanlar otomatik olarak indexlenir. Tanımlanmışsa kural dosyaları/DBMeta dikkate alınır.
Excel dosyalar varsayılanda yapısal veri olarak tanınmazlar. Ama uygun meta ve ayarlar ile bunu yapabiliriz.
Proje Sihirbazı/Veritabanı kaynağı ile listede olan tüm VTYS’lere bağlanabiliriz. Tanımlanmışsa kural dosyaları/DBMeta dikkate alınır. Bu yapıda istenen tablo ve kolonlar seçilebilir, SQL ifadeler yazılabilir. Viewlar desteklenir.
Proje Sihirbazı/Veritabanı ile yapılan ayarlar saklanabilir. *.xDeceConnection formatındaki bir yapı artık dosya bazlı olarak tanınır. Bu yapının birden çok faydası vardır.
Taşınabilir. Yani aynı dosyayı başka GEODI'lerde bveya aynı GEODI başka projelerde kullanabilirsiniz.
Güvenlidir. Sistem ayarları güvenlik seviyesi ayarlaına bağlı olarak bağlantı içindeki şifre/kullanıcı adı bilinemez.
Bu sayfada belirtilen bazı DBMeta yetenekleri sadece bu tür çalışır.
Nasıl Indexlenir?
Veri tabanları çok sayıda tablodan oluşabilir. GEODI varsayılan olarak bütün tabloları gezer ve bütün satırları indexler. Sistem yöneticileri, tabloları ve satırları kısıtlayacak tanımları GEODI üzerinden yapabilirler. İstenirse "view(lar)" tanımlanıp GEODI'nin veri tabanını nasıl göreceği de tanımlanabilir. Oracle, SQL Server, Postgres, Mysql, sqlite, access, shapefile,excel gibi çok farklı sistem/format desteklenir.
sqlite ve access gibi dosya bazlı olanlar için tanım yapmaya gerek yoktur. Bu dosyalar herhangi bir kaynakta bulunduğu zaman otomatik olarak indexlenirler.
GEODI ile oluşturduğunuz bağlantı tanımlarını *.dececonnection olarak saklayabilir ve GEODI’nin bu içeriği diğer dosyalar gibi taramasını da sağlayabilirsiniz.
Indexlenen tablo ve satırlar değişmedikleri sürece değişenleri tara işleminde dikkate alınmazlar. Değişen satırların otomatik olarak versiyonu oluşturulacaktır.
Taranacak tablolarda birincil anahtar bulunması zorunludur. Bu kısıtı bir ayar ile kaldırabilirsiniz ancak birincil alanı olmayan tablolarda değişenleri tara veya versiyonlama özellikleri çalışmayacaktır.
Arama sonuçlarında Geodi Table nesneleri olmasın, sadece kayıtlar olsun isteniyorsa. Enumaratör Detay ayarlarından DisableIndexTables ayarı True yapılmalıdır.
Tablolara gömülü veya tablolar içinde link verilen dosyalar da indexlemeye dahil olabilirler. Bu özelliklerin nasıl çalıştığı bu sayfada anlatılmıştır.
Veri tabanını oluşturan yazılımların sunduğu kısıtlı arama yeteneklerini aşarsınız
Tablo İndexleme Ayarlarının Değiştirilmesi
Settings\Reader\DBMeta altındaki jsettings ayar dosyaları ile varsayılan davranışı değiştirebilirsiniz. Aynı ayar dosyası içinde örnekte belirtildiği gibi farklı tablolar veya projeler için farklı ayarlar uygulayabilirsiniz.
Ayrı ayar tipleri ayrı __type anahtarı ister.
Örnek:
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "WorkspaceName":"0000-Promotional and Educational Videos", "FileFullPathColumnMacro":"[FILEPATH]" }, { "__type":"Geodi.Database.Meta.DBView, Geodi.Database", "WorkspaceName":"0000-Promotional and Educational Videos", "Columns":"-FILEPATH,-SILINECEK,-Hazırlayan,-TARIH,-GEODIFILELINK", "TableFilter":"*", "ColumnFilter":"*" }, { "__type":"Geodi.Database.Meta.DBRowDisplayName, Geodi.Database", "WorkspaceName":"0000-Promotional and Educational Videos", "DisplayNameMacro":"[TITLE]" } ] }
Tablodaki değerler ile ayarların etki alanını sınırlayabilirsiniz. Bütün ayarlarda “*” ile tümü, “-” ile hariç tutulacaklar, “,” ile ayırarak dikkate alınacakları belirleyebilirsiniz.
Key | Açıklama |
---|---|
WorkspaceName | Ayarların geçerli olacağı WorkSpace(ler). |
TableFilter | Ayarların geçerli olacağı Tablolar. |
ColumnFilter | Verilen kolonları içeren tablolar. (- verilirse ilgili kolonları içermeyen tablolar dikkate alınır). Birden çok verilirse ilişki VE dir. |
Satırlar GEODI’de nasıl görünür
Veri tabanlarında her kayıt, kayıt bazlı görünür. Varsayılan başlık ilk text kolon değeridir. Bunu DisplayNameMacro kullanarak her bir tablo için ayrı ayrı değiştirebilirsiniz. Başlık makrosunda diğer kolonları da kullanabilirsiniz. Makro kuralları sayfa sonunda verilmiştir.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowDisplayName, Geodi.Database", "DisplayNameMacro":"[TEXT4]/[TEXT2]-[TEXT3]" } ] }
Tablolara Gömülü dosyaları Indexleme
Geodi, Veritabanında dosya yolları bulunan ya da blob olarak veritabanına gömülmüş dosyaları tarayabilir. Bu dokümanda gerekli ayarların nasıl yapılacağı anlatılmıştır.
File1 dosyaların isimlerinin olduğu sütun File2 Blob dosya içeren sütun. Oluşturulan veri tabanın da BLOB dosya kolonu “bytea” data tipi olarak seçilmiştir.
Access,Postgres,Mssql,Oracle,Sqlıte,MySql veri tabanlarında kullanabilirsiniz.
VT içerisinde
FileMemoColumn
verilen sütunda dosya uzantısı olması gerekmektedir.Eğer kolon değerinde uzantı yok ve tüm dosyalar aynı tipte ise makro değerine uzantı eklenebilir.
Key | Açıklama |
---|---|
| Dosya içeriğinin yer aldığı BLOB/MEMO alan. GEODI dosya içeriğini otomatik olarak belirleyecektir |
| Dosyanın özgün numarası için makro. Makrolar için kurallar dokümanın sonunda yer almaktadır. |
| Dosyanın aramalarda ve görüntüleyicilerde görünecek adı için makro. Makrolar için kurallar dokümanın sonunda yer almaktadır. |
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"TEST", "IDColumnMacro":"[OBJECTID]", "FileNameColumnMacro":"[FILE1]", "FileMemoColumn":"file2" } ] }
Bir Tabloda Birden Fazla Gömülü Dosya Indexleme
Aynı tablo içerisinde birden fazla sütunda gömülü dosya indexlemek için aşağıdaki metayı kullana bilirsiniz.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"TQA", "IDColumnMacro":"[OBJECTID]_1", "FileNameColumnMacro":"[file1]", "FileMemoColumn":"file2" }, { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"TQA", "IDColumnMacro":"[OBJECTID]_2", "FileNameColumnMacro":"[dosya1]", "FileMemoColumn":"dosya2" } ] }
Bir Tabloda Dosya İsmi Olmadan Gömülü Dosya Indexleme
Veritabanındaki tablo içerisinde dosya ismi bulunmadığında makro yardımı ile dosyalarınıza isimlendirme yapabilirisiniz.
Dosya uzantısı olmayan kayıtlar için default olarak *.pdf uzantı eklenir. İstenildiği şekilde meta üzerinde değişiklik yapılabilir.
VT içerisinde
FileNameColumnMacro
verilen sütunda dosya uzantısı olması gerekmektedir.Eğer kolon değerinde uzantı yok veya tüm dosyalar aynı tipte ise makro değerine uzantı eklenebilir.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"Belge", "IDColumnMacro":"[BelgeBelgeID]", "FileNameColumnMacro":'=string.Concat(d["EAID"],"-",d["UretimTarihi"],string.IsNullOrEmpty(d["DF"])?".pdf":d["DF"])', "FileMemoColumn":"BelgeIcerik" } ] }
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"CMS.FileContentCore", "IDColumnMacro":"[FieldId][VersionNumber][MinorVersionNumber]", "FileNameColumnMacro":"[Internalid][Extension]", "FileMemoColumn":"FileContent" } ] }
Tabloda Dosya Yolu ile verilenleri İndexleme
Bir kayıtta yer alan dosya linkleri ile belirtilen dosyaları da indexleyebilirsiniz.
Key | Açıklama |
---|---|
| Dosyaların yer alığı dizinleri hesaplayan makro. Bu makro doğrudan bir alandaki (örneğin PATH) değer olabilir veya kayda ait diğer alanlar ile birlikte hesaplanan bir yol olabilir.( Örnek: VT üzerindeki PATH olan kolon ismi) |
| Eğer dosya yolunda birden çok dosya varsa ayraç karakterini bu şekilde verebilirsiniz. |
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "FileFullPathColumnMacro":"[PATH]", "FileFullPathColumnSplitter":"|" } ] }
Bir kolonda birden çok “PATH” içeren Excel kaynağı için meta dosyasını kullanarak indexleyebilirsiniz.
"Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "FileFullPathColumnMacro":"[PATH]", "FileFullPathColumnSplitter":"," } ] }
*.csv dosyaları için desteklenmez.
Birincil Anahtar Kolonu Belirleme
Değişenleri tara ve versiyonlama için her bir tablo için primary kolon gereklidir. GEODI ObjectID değerini varsayılan olarak belirler. Burada anlatılan tanım ile farklı bir kolonu belirleyebilirsiniz.
“KeyColumns” değeri özgün ID değeri olacaktır.
Primary kolon isimi metada veritbanındaki ismi ile aynı yazılmalıdır.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBPKey, Geodi.Database", "WorkspaceName":"BLOBDataset Deneme", "KeyColumns":"BelgeBelgeID" } ] }
{ "__type":"Geodi.Database.Meta.DBPKey, Geodi.Database", "TableFilter":"tablo1", "KeyColumns":"id" },
Bir SQL ifadesinin sonucunu indexleme
SQL anahtarı ile ismi NewName olan yeni bir tablo oluşturursunuz. SQL deyimi ilgili VTYS ile uyumlu olmalıdır.
KeyColums değerini alternatif olarak SQL içerisinde kolona “as P_KEY” veya “as OBJECTID” yazılarak da belirtebilirsiniz.
Bu özellik *.xDeceConnection ve MDB gibi dosya bazlı olanlar için geçerlidir.
Standart SQL kullanılmalıdır.
Yazılan SQL ifadesinin sonucunda birden fazla tekrar eden aynı adlı kolon olmamasına dikkat edilmelidir.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSQL, Geodi.Database", "TableFilter":"ADA,IRTIFAK_HAKKI", "ColumnFilter":"ADA.ADA_NO,ADA.OBJECTID,IRTIFAK_HAKKI.OBJECTID,IRTIFAK_HAKKI.TABAKA", "NewName":"ADALAR2", "SQL":"SELECT * FROM ADA,IRTIFAK_HAKKI WHERE IRTIFAK_HAKKI.OBJECTID=ADA.OBJECTID", "KeyColumns":"ADA.OBJECTID" } ] }
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSQL, Geodi.Database", "TableFilter":"TEST,TEST1", "ColumnFilter":"TEST.TARIH,TEST.OBJECTID,TEST1.OBJECTID,TEST.TAMS1", "NewName":"DENEME12", "SQL":"SELECT TEST.* FROM TEST,TEST1 WHERE TEST.OBJECTID=TEST1.TAMS2", "KeyColumns":"OBJECTID" } ] }
Satır Bazlı Yetkilendirme
Tablo, SQL veya View satır bazlı yetkilendirebilirsiniz.
Yetkilendirme için “PermitMacro”&”DenyMacro” içinde kullanıcı ve/veya GEODI gruplarını kullanabilirsiniz.
Aynı zamanda kendi oluşturduğunuz kullanıcılar içinde [geodi:kullanıcıadı] şeklinde kullanabilirsiniz.
Birden fazla kullanıcı, grup yazmak isterseniz = ile başlatıp gelişmiş makro kullanmalısınız. Basit makro tanımı sadece tek grup/kullanıcı için tanımlama yapmakta kullanılabilir.
Kullanıcı adı veya gruplar tablo(veya SQL, veya View) da bir kolondan üretilebilir olmalı.
Tabloda satırlar yetkilenecek, dosyalarda da (child content) bu yetkileri kullanılır.
Oluşturulan grup ismi büyük/küçük harf ayrımı yapar.
Örnek 1 : SQL Sorgu Sonucu Yetkilendirme
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowDisplayName, Geodi.Database", "TableFilter":"", "DisplayNameMacro":"[TEXT4]/[TEXT2]-[TAMS1]" }, { "__type":"Geodi.Database.Meta.DBSQL, Geodi.Database", "TableFilter":"TEST,TEST2", "ColumnFilter":"TEST.TARIH,TEST.OBJECTID,TEST2.OBJECTID,TEST.TAMS1", "NewName":"DENEME12", "SQL":"SELECT TEST.* FROM TEST,TEST2 WHERE TEST.OBJECTID=TEST2.TAMS2", "KeyColumns":"OBJECTID" }, { "__type":"Geodi.Database.Meta.DBRowPermission, Geodi.Database", "TableFilter":"DENEME12", "PermitMacro":"DECE\\kullanıcıadı", "DenyMacro":"[geodi:kullanıcıadı]" } ] }
Örnek 2 : Oluşturulan Grup Bazlı Yetkilendirme
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database", "TableFilter":"test", "ColumnFilter":"birimler", "PermitMacro":"[birimler]", "DenyMacro":"" } ] }
Örnek 3 : Gelişmiş Makro Örnekleri
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database", "TableFilter":"test", "ColumnFilter":"birimler", "PermitMacro":'=d.Get<string>("birimler").Split(\',\')', "DenyMacro":"" } ] }
Örnek 4 :
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database", "TableFilter":"test", "ColumnFilter":"birimler", "PermitMacro":'=new string[] {d.Get<string>("YETKILI_GRUP"),"S-1-5-21-128668610-1027347169-903626496-1222","geodi:guest"}', "DenyMacro":"" } ] }
Örnek 5 :
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database", "TableFilter":"test", "ColumnFilter":"birimler", "PermitMacro":'=new string[] {string.Concat("Grubum_",d["KOLON1"]),string.Concat("Grubum_",d["KOLON2"])}' "DenyMacro":"" } ] }
Örnek 6 :
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database", "TableFilter":"test", "ColumnFilter":"BIRIMLER,BIRIMLER_TEST", "PermitMacro":'=new string[] {d.Get("BIRIMLER"),d.Get("BIRIMLER_TEST")}', "DenyMacro":"" }, ] } ________________________________________________________________________________________ { "Defines":[ { "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database", "TableFilter":"test", "ColumnFilter":"BIRIMLER,BIRIMLER_TEST", "PermitMacro":'=new string[] {d["BIRIMLER"],d["BIRIMLER_TEST"]}', "DenyMacro":"" } ] }
Bir Kaydın Metin/Text Sonucunu Belirleme
Bu özellik GEODI arama indexini değiştirmekte kullanılır context içinde verilen isimlendirme GEODI üzerinden arandığı zaman tablodaki tüm içerikleri bulur. Content ile bir kaydın kolonun arama kelimesini seçebiliriz kolon ismi olmayan kelimeleri bu özellik ile arama kelimesi haline getirebiliriz. Content içine birden fazla [Kolondadı] yazıp isimlendirebilirsiniz. DBmetadaki Ignore durumunda yapılan ayarın kapatıp açılmasını sağlar.
“Ignore”:”False” ise Content içine yazılan ayarlar geçerlidir.
“Ignore”:”True” ise Content içine yazılan ayarlar geçerli değildir .
Bu özellik *.xDeceConnection ve MDB gibi dosya bazlı olanlar için geçerlidir.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBContent, Geodi.Database", "WorkspaceName":"otf_meta_testV1", "TableFilter":"TEST", "ColumnFilter":"TARIH", "Ignore":"False", "Content":"[TAMS2] ZAMAN [TEXT3]" } ] }
Kayıtların Görünüm Şeklini Ayarlamak
“TemplateName” anahtarı ile vereceğiniz html şablon kriterlere uyan kayıtların görünümü belirleyecektir. Bu “.html” uzantılı şablon “DBMeta” dosyası altındaki Templates klasörünün altında olmalıdır ve oluşturulan meta “DBMeta” klasörü altında kaydedilmelidir.
TemplateName kullanımı size görsel olarak esneklik sağlar ama performans kaybı yaşatabilir.
{ "Defines":[ { "__type":"Geodi.Database.Meta.DB_DLV_View, Geodi.Database", "TemplateName":"PortalAnkaraGeziveMesire.html" } ] }
FieldIndex Ayarları (Aramaları Kolon Adı ile sınırlamak)
Varsayılan arama tüm tablolar ve tüm kolonları kapsar. Arama sonucunu kolon bazlı sınırlamak için FieldIndex ayarını yapmalısınız. Ayar sonrası “kolonadı:<arama cümleniz>” ile kriterler ilgili kolon ile sınırlandırılacaktır.
Proje detay ayarlardan ContentReaderEnumerators → Veritabanınız → EnableAutoFieldIndex ayarını true yapıp projenizi yeniden taratmalısınız. Yeniden tarama büyük veride zaman alabilir, bu nedenle baştan planlanmasında yarar vardır.
Eğer veritabanı bağlantısını dosya bazlı olarak GEODI ye taratıyorsak bu ayarı kullanamayız.
Bu özellik aktif olduğunda. Veritabanında tanınan ve KLV'ye düşen kelimelerin yanında hangi kolonda bulundukları yazacaktır.
Veritabanlarında Örnekleme Veri Keşifi Yapmak
GEODI varsayılan ayarlarda veritabanı içeriklerinin tümünü keşfeder. İsteğe bağlı olarak veritabanı içeriklerinizden örnekleme keşif yapabilirsiniz bu sayede tarama süresinde ve depolama alanından kazanç sağlayabilirsiniz.
Proje detay ayarlarından ContentReaderEnumerators → Veritabanınız → GenericSettings içerisine
"DB.SamplingMode":100
eklenirse Tablolar/Seçilen Tablo/SQL sorgusu gibi kullanımlarda rastgele 100 kayıt işlenir.Dosya bazlı veritabanlarınızda kullanımı için Folder enumerator GenericSettings ayarlarına
"DB.SamplingMode":100
eklemesi yapılarak exceller,*.mdb,*.accdb gibi türlerin tümünden tablo başına rastgele 100 kayıt işlenir.
Kolon adlarını çok dilli yapmak ve alias(eş anlamlı) tanımlamak
İsterseniz aşağıdaki tanımları yapmalısınız.
resx dosya isimleri içinde “fields” mutlaka geçmelidir. Bu dosyalar globalization dizininde yer almalıdır.
kullanılan name değeri att{fieldname} şeklinde olmalıdır ve tabloda olan ile uyuşmalıdır. Farklı dillerde aynı anahtarı kullanmalısınız.
value değeri alternatif kolon adlarını içerir(alias). Birden çok alternatifi“|” ile ayırabilirsiniz.
Kullandığınız aliaslardan herhangi biri başka bir kolon adı ile aynı olursa dikkate alınmaz.
Çok dilli gösterimlerde ilk alias dikkate alınır.
myfields.resx
<data name="att_{fieldname}" xml:space="preserve"> <value>{alias1}|{alias2}|{alias3}</value> </data> <data name="att_EnvanterNo" xml:space="preserve"> <value>Envanter Numarası|Envanter N.|Envanter Sırası</value> </data> <data name="att_ADI" xml:space="preserve"> <value>Ad|Adı Soyadı|AdSoyad</value> </data>
myfields.en-us.resx
<data name="att_{fieldname}" xml:space="preserve"> <value>{alias1}|{alias2}|{alias3}</value> </data> <data name="att_EnvanterNo" xml:space="preserve"> <value>Inventory Number|Inventory N|Inventory Position</value> </data> <data name="att_PersonName" xml:space="preserve"> <value>Name|Pname|Person Name</value> </data>
Makrolar
Doküman ID, Dosya yolu gibi değerler için makro yazabilirsiniz. Makrolar kolon değerlerin doğrudan yetersiz kaldığı durumları çözmenizi sağlar. Hangi değerler için makro kullanılabileceği ilgili bölümlerde belirtilmiştir.
Makro metni kolonların “[]” arasında verildiği bir metindir. Örnekte görüldüğü gibi aynı kolonu birden çok kez verebilirsiniz.
Makrolarda bazı karakter escape karakteri (“\”) ile birlikte kullanılmalıdır. Örneğin “\” , “\\” şeklinde verilmelidir.
"FileFullPathColumnMacro":"C:\TEST\KUR-1166 VT\files\[FILE1]"
"DisplayNameMacro":“[ADANO] Ada [PARSELNO] Parsel”
"DisplayNameMacro":“[TITLE]-[POSITION]”
Tipi makro olan ayarların değeri = ile başlarsa c# makro kullanımına geçiliyor. Bu sınırsız esneklik getiriyor.
Örnekler
"FileFullPathColumnMacro":'=Path.Combine(@"C:\\TEST\\KUR-1166 VT\\files\\",d["FILE1"])'
"DisplayNameMacro":'=string.Concat(d["ADANO"]," Ada ",d["PARSELNO"]," Parsel")'
"DisplayNameMacro":'=string.Concat(d["TITLE"],"-",d["POSITION"])'
"DisplayNameMacro":'=d.Get<int>("DEGER")>-1?"Pozitif":"Negatif"'