Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GEODI veri tabanlarını indeksleyebilir veya veri keşfi yapabilir. Veri tabanları ve içerdiği dosya bilgileri (gömülü dahil) indexlenebilirindekslenebilir(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.

...

Tip

Bağlantı için gereken şartlar

  1. Veri tabanı için minimumda readony erişim yetkisi olan bir kullanıcıSöz konusu veri tabanı için bağlantı cümlesi(port, veritabanı adı..)

  2. Bağlantı için ayrı sürücü gerekiyorsa kurulu olması (liste ve gereklilikler aşağıdaki tabloda verilmiştir)

...

  1. , readonly erişim yeterli

  2. Bağlanacağınız VTYS adını aşağıdaki tabloda bulunuz ve ek bir sürücü/driver gereksinimi var mı bakınız(Oracle için ODAC gerekmesi gibi).

  3. Örneklemeli keşif kararı (her tablo için N kayıt)

  4. Gömülü ya da linkli dosyalar varsa bunların indekslenmesi ve keşfi için karar

Image Added

“Bağlantı tanımla” işlemi ile veritabanının seçer, uygun bağlantı cümlesini (connection string) tanımlarsınız. ( (info) Bağlantı tanımlama dialoğu sadece sadece sunucuda açılır ).

...

İstenirse Viewlar hariç tutulabilir.Viewlar genellikle diğer tablolarda ola bilgiler içerdiği içi n duplike bilgi keşfi azaltacak, performans artacaktır.

...

VTYS Sürücü İsterleri Listesi

Bazı veritabanları için GEODI’nin kurulu oldğu olduğu sunucuda ek driver gerekebilir. Lütfen aşağıdaki listeden kontrol ediniz.

VTYS

İstemci

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.

SQLCE, SQL Express

Ekstra bir kurulum gerekmez.

Kafka

Ekstra bir kurulum gerekmez.

Oracle (OleDB)

Oracle ODAC driver kurulu olmalıdır(12.1.0.2.1 ve üzeri)

https://www.oracle.com/database/technologies/odac-downloads.html

Excel

Access Database Engine 2010 kurulu olmalıdır.

https://www.microsoft.com/en-us/download/details.aspx?id=13255

MS Access

Access Database Engine 2010 kurulu olmalıdır.

https://www.microsoft.com/en-us/download/details.aspx?id=13255

DB2

OLEDB Driver kurulu olmalıdır.

https://www.microsoft.com/en-us/download/details.aspx?id=100917#:~:text=Microsoft%20OLE%20DB%20Provider%20for%20DB2%20works%20with%20Microsoft%20SQL,tools%20to%20IBM%20Db2%20databases.

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.

https://www.cdata.com/drivers/cassandra/download/

MongoDB

OLEDB ya da ODBC driver kurulması gereklidir.

https://www.devart.com/odbc/mongodb/

Alternatif Bağlantı Yöntemleri

Proje Sihirbazı ile tanımlama harici aşapıdaki aşağıdaki yöntemleri kullanabilirsiniz.

  1. SQLite, MDB, AccDB gibi dosya bazlı olanlar eğer şifre korumalı değilse dosya olarak bulundukları zaman otomatik olarak indekslenirler. otomatik olarak indexlenir. DBMeta tanımları varsa dikkate alınır.

  2. Excel dosyalar için proje Sihirbazını kullanmalısınız.

  3. Proje Sihirbazı/Veritabanı ile yapılan ayarlar *.xDeceConnection formatında saklanabilir. Bu dosyalar bulundukları zaman otomatik olarak işlenirler. xDeceConnection ile bağlantıları farklı yerde yapabilir ve taşıyabilirsiniz. Şifreler ve bağlantı cümlelerin güvenliği sağlanır.

Nasıl Indexlenir?

  1. Varsayılan davranış bir veritabanındaki tüm tablo ve satırların indexlenmesidirindekslenmesidir.

  2. Varsayılanda primarykey tanımlı tablolar indexlenirindekslenir. Dilerseniz ayarı değiştirebilir ve tüm tabloları indeksleyebilirsiniz.

  3. Örnekleme modu ile her tabloda sadece seçili sayıda satırın indexlenmesini indekslenmesini sağlayabilirsiniz.

  4. Veri tabanındaki tabloların sadece bazılarını seçebilirsiniz.

  5. İsimlerine göre kolonları sınırlayabilirsiniz.

  6. SQL ile verinin nasıl indekslenevceğinbi belirleyebililirsinizindeksleneceğini belirleyebilirsiniz.

  7. Gömülü dosyalar uygun tanımlar ile indexlenebilirindekslenebilir.

  8. Dosya yolu olan satırlardaki dosyalar uygun tanımlar ile indexlenebilirindekslenebilir.

  9. Eğer satırlarda yetki bilgisi varsa satır bazında yetki tanımlayabilirsiniz. (CRM, ERP gibi uygulamaları kaynak olarak tanımlamanın farklı yolları da var)

  10. GEODI her satırı bir içerik olarak görür. Veritabanı veya tablo bazında satırların ve başlıkların nasıl görüneceğini belirleyebilirisniz.

DBmeta olarak adlandırdığımız bir yapı ile burada söz edilen davranış modelleri değişebilir. Bu sayfa DBmetalar hakkında gerekli bilgiyi içeriyor.

DBmetalar “Settings\Reader\DBMeta” altındaki jsettings dosyalarıdır.

Kolon sınırlama

...

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.

...

Columns

...

İndekslenecek veya dışarıda kalacak kolonlar

Code Block
languagejson
{
   "Defines":[
      {
         "__type":"Geodi.Database.Meta.DBView, Geodi.Database",
         "WorkspaceName":"0000-Promotional and Educational Videos",
         "TableFilter":"*",
         "ColumnFilter":"*",
         "Columns":"-FILEPATH,-SILINECEK,-Hazırlayan,-TARIH,-GEODIFILELINK"      
      }
   ]
}

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.

Code Block
languagejson
{
   "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.

  • (warning) 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

...

FileMemoColumn

...

Dosya içeriğinin yer aldığı BLOB/MEMO alan. GEODI dosya içeriğini otomatik olarak belirleyecektir

...

IDColumnMacro

...

Dosyanın özgün numarası için makro. Makrolar için kurallar dokümanın sonunda yer almaktadır.

...

FileNameColumnMacro

...

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.

Code Block
languagejson
{
   "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.

Code Block
languagejson
{
   "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.

          • Code Block
            languagejson
            {
               "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"
                  }
            
               ]
            }
          • Code Block
            languagejson
            {
               "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

...

FileFullPathColumnMacro

...

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)

...

FileFullPathColumnSplitter

...

Eğer dosya yolunda birden çok dosya varsa ayraç karakterini bu şekilde verebilirsiniz.

Code Block
languagejson
{
   "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.

Code Block
   "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.

Code Block
languagejson
{
   "Defines":[
      {
         "__type":"Geodi.Database.Meta.DBPKey, Geodi.Database",
         "WorkspaceName":"BLOBDataset Deneme",
         "KeyColumns":"BelgeBelgeID"
      }
   ]
}
Code Block
languagejson
      {
         "__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.

Code Block
languagejson
{
   "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"
      }
   ]
}
Code Block
languagejson
{
   "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.

    • (warning) 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.

(warning) Oluşturulan grup ismi büyük/küçük harf ayrımı yapar.

Örnek 1 : SQL Sorgu Sonucu Yetkilendirme

Code Block
languagejson
{
   "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

Code Block
languagejson
{
   "Defines":[
      {
         "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database",
         "TableFilter":"test",
         "ColumnFilter":"birimler",
         "PermitMacro":"[birimler]",
         "DenyMacro":""
      }
   ]
}

Örnek 3 : Gelişmiş Makro Örnekleri

Code Block
languagejson
{
   "Defines":[
      {
         "__type":"Geodi.Database.Meta.DBRowPermission,Geodi.Database",
         "TableFilter":"test",
         "ColumnFilter":"birimler",
         "PermitMacro":'=d.Get<string>("birimler").Split(\',\')',
         "DenyMacro":""
      }
   ]
}

Örnek 4 :

Code Block
languagejson
{
   "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 :

Code Block
languagejson
{
   "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 :

Code Block
languagejson
{
   "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.

Code Block
languagejson
{
   "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.

(warning) TemplateName kullanımı size görsel olarak esneklik sağlar ama performans kaybı yaşatabilir.

Code Block
languagejson
{
   "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.

(warning) 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.

  1. resx dosya isimleri içinde “fields” mutlaka geçmelidir. Bu dosyalar globalization dizininde yer almalıdır.

  2. 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.

  3. value değeri alternatif kolon adlarını içerir(alias). Birden çok alternatifi“|” ile ayırabilirsiniz.

  4. Kullandığınız aliaslardan herhangi biri başka bir kolon adı ile aynı olursa dikkate alınmaz.

  5. Çok dilli gösterimlerde ilk alias dikkate alınır.

myfields.resx

Code Block
  <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

Code Block
  <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> 

...

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]”

(warning) 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"'

Detay Bilgiler

...

titleDBMeta çalışmaması durumunda Kontrol edilmesi gerekenler:

...

Jsettings dosyalarının syntax doğrulaması yapılmalıdır bu doğrulama için https://jsonformatter.curiousconcept.com/ sitesini kullanabilirsiniz.

...

Tablo/Kolon/Proje veritabanı üzerindeki kolon,tablo ve GEODI proje ismini isimlerinin doğruluğunu kontrol etmeliyiz.

...

  1. belirleyebilirsiniz.

Sorun Giderme

Expand
titleVeritabanı kaynakları Taramasında herhangi bir sonuç alınamadı.
Info
  1. Bağlantı dizesi doğru olmayabilir. Projeyi kaydetmeden önce test etmelisiniz. Şimdi bunu yapabilirsiniz.

  2. İzinleri kontrol edin.

  3. İndeks hata günlükleri kontrol edilmelidir. GEODI üzerinden geliştirici raporu ile taranan hataları inceleyebilirsiniz.

  4. DBmeta'lar doğru olmayabilir.

  5. Jsettings dosyaları sözdizimi doğrulanmalıdır, https://jsonformatter.curiousconcept.com/ bunun için bu siteyi kullanabilirsiniz.

  6. Sütun, tablo ve GEODI proje adlarının doğruluğunu ve bunların Veritabanı/Tablo/Sütun üzerindeki adlarını kontrol edin.

Expand
titleKaynak olarak veritabanı bağlantım yok ama projede veritabanları görüyorum
Info

GEODI, varsayılan olarak, SQlite veya Access gibi dosya tabanlı veritabanlarını tarar. Bu dosyalar, ofis veya PDF dosyaları gibi işlenir. Onları yok sayacak şekilde ayarlayabilirsiniz.

Expand
titleGömülü veya bağlantılı dosyalar gösterilmiyor
Info
  1. Bunu yapmak için DB meta tanımlamanız gerekiyor. DB Meta Tanımları sayfasından yararlanabilirsiniz.

Expand
titleİndeksleme yavaş
Info
  1. Varsayılan olarak, GEODI tüm tablo ve satırları tarar. Örnekleme keşfi kullanabilir veya hedefi daraltabilirsiniz.

  2. Veritabanınız başka bir uygulamaya hizmet ediyor olabilir.

  3. GEODI indeksleme hızı seçenekleri düşük olabilir, bunu artırın.

  4. GEODI Sunucusu düşük kapasiteli bir makinede çalışıyor olabilir, yetersiz bellek veya yavaş disk. Lütfen sistem gereksinimleri sayfasını kontrol edin.

Expand
titleVeritabanı satır sürümleri artıyor.
Info

İlk indeksten sonra her indeksleme (zamanlanmış veya manuel) birincil anahtarı olmayan tablolar için sürüm oluşturabilir. Bu, keşif sonuçlarını veya raporları etkilemez, ancak yalnızca GEODI İndeks boyutunu etkiler.

GEODI indeksleme, bu tür tabloları hata günlüklerinde oluşturur. Hangi tabloların etkilendiğini görmek için hata günlüğünü kontrol edin.

GEODI, varsayılan olarak, birincil anahtar (PK) sütunu bulunmasını gerektirir. Bu durum, aksi belirtilmedikçe meydana gelmez. Ayrıca tablolarınıza bir PK eklemeyi seçebilirsiniz (en iyi uygulama). GEODI için bir PK sütunu, her satırda benzersiz bir değere sahip bir sütundur.

Tablonuzda bir PK varsa ancak hala hata alıyorsanız, o zaman birincil anahtar sütun adının GEODI'ye bir DB meta tanımlayarak kaydedilmiş olması gerekmektedir.

Expand
titleYetkiler Geçerli Değil
Info

GEODI, varsayılan olarak, aynı yetkilere sahip tüm satırları okur. Satır bazlı bir yetki belirlemek için lütfen DB meta kullanın.

Sık Sorulan Sorular

Expand
titleTablolardaki gömülü dosyaları indeksleyebilir miyim?
Info

Evet. Birkaç basit DBmeta tanımı ile bu dosyaları indeksleyebilirsiniz. Bu durumda GEODI, satırı ve dosyayı ayrı ayrı gösterecektir. Dosyayı DB özniteliklerini kullanarak sorgulayabileceksiniz.

Expand
titleGEODI araması aracılığıyla CRM uygulamasını nasıl açabilirim?
Info

Mümkündür. CRM veritabanını indekslersiniz ve basit bir DB meta kullanarak orijinal CRM uygulamalarını açan bir bağlantı kurarsınız. CRM uygulamasının, öznitelikleri kullanarak oluşturulabilen basit bir URL (sorgu dizesi) olmalıdır.

DB Meta Tanımları

Child pages (Children Display)