Geodi Feed API - Besleme Yöntemi (APP → GEODI )





Besleme yöntemi uygulamanın veri veya yetkilerinde değişiklik olması halinde GEODI'ye bilgileri iletmesi ile çalışır. GEODI Servis bağlantısı yönteminin tersi olarak işler. 

Bu yöntemde GEODI üzerinde veri atılmak istenilen katmana yetkili bir kullanıcı bilgisine sahip olunmalıdır.Uygulamanız sürekli ayakta ise, tetikleyecek iç yöntemler mevcut ise veya bir Web uygulamasına sahip değilseniz istediğiniz kadar içeriği, istediğiniz zaman göndermek için bu yöntemi kullanabilirsiniz

*  Bir sorunuz varsa Sık Sorulan Sorular adresiniz inceleyebilir siniz.


Çoklu İçerik Besleme

BulkFeed
AçıklamaBulkFeed çağrısı ile içerikler GEODI'ye iletilir. GEODI çağrıyı bekletmeden sadece durum bilgisi döner. Çoklu içerik gönderimi için uygundur. Tek içerik göndermek için Feed metodu daha uygundur.
İstek

[GEODIURL]/FeedHandler?op=BulkFeed&Content=[ContentJson]&UserSession=[Token]

  • UserSession: Sistem yöneticisinden alınacak Besleme yetkili Token belirtilmelidir. Geodi Token Oluşturma Sayfasındaki bilgiler ile Token elde edilebilir.
  • wsName (Opsiyonel): Sağlanan Token birden fazla projeyi beslemeye yetkili ise wsName iletilmelidir.
  • enumeratorID (Opsiyonel): Sağlanan Token birden fazla kaynağı (geodi enumerator) beslemeye yetkili ise enumeratorID iletilmelidir.
  • content: İçerik bilgilerin içeren bir JSON nesnesidir. Nesne detaylarına Geodi ContentObject - İçerik Tanım Nesnesi#İçerikTanımNesnesi-Çokluİçerik dokümanından ulaşılabilir
HttpMethodGET,POST
Dönebilecek Hatalar

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error

470 Desteklenmeyen uzantı, Sunucu yapılandırma hatası

471 Content Reqired

481 This Token cannot access any workspaces

453 wsName Required - Token birden fazla projeyi besleyebiliyorsa wsname gereklidir.

452 enumeratorID Required  - Token birden fazla proje kaynağını besleyebiliyorsa wsname gereklidir.

480 wsname or enumeratorID is not accessable - Token yeterli yetkiye sahip değil


Dönecek Sonuç

OK metni döndürülür.

  • Taramanın başladığını gösterir.  Bir hata alınmamışsa tarama başlatılır. Sonucu kontrol etmek gerekli değildir.
Örnekler
//Request : 
[ServiceURL]/FeedHandler?op=BulkFeed&UserSession=[Token]&content=
 {
	Contents : 
	[
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1811',
			DisplayName:'Doküman1',
			ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
			ViewURL : '~/MyApplication/ContentView.php?id=1811&wsName={wsName}',
			Permission : {   Permit : ['GeodiGroupID','ldap:user.name','geodi:geodiuser','S-151...','Role2','Role3']  },
            MetaData:  [
					 { Name:"Açıklama", Value:"Bu Doküman ...... ... " } 
				]

		},
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1812',
			DisplayName:'Doküman2',
			ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
			ViewURL : '~/MyApplication/ContentView.php?id=1812&wsName={wsName}',
			Permission : {   Permit : ['GeodiGroupID','ldap:user.name','geodi:geodiuser','S-151...','Role2','Role3']  },
		},
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1813',
			DisplayName:'Doküman3',
			ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
			ViewURL : '~/MyApplication/ContentView.php?id=1813&wsName={wsName}',
			Permission : {   Permit : ['GeodiGroupID','ldap:user.name','geodi:geodiuser','S-151...','Role2','Role3']  },
		},
	]
 }
Örnek uygulama


Tekli İçerik Besleme

Feed
AçıklamaBulkFeed çağrısı ile içerikler GEODI'ye iletilir. GEODI çağrıyı bekletmeden sadece durum bilgisi döner. Çoklu içerik gönderimi için uygundur. Tek içerik göndermek için Feed metodu daha uygundur.
İstek

[GEODIURL]/FeedHandler?op=Feed&Content=[ContentJson]&UserSession=[Token]

  • content: İçerik bilgilerin içeren bir JSON nesnesidir. Nesne detaylarına Geodi ContentObject - İçerik Tanım Nesnesi#İçerikTanımNesnesi-Tekİçerik dokümanından ulaşılabilir. Json iade fazla büyüyebilir. POST ile gönderilmesi tercih edilmelidir.
  • UserSession: Sistem yöneticisinden alınacak Besleme yetkili Token belirtilmelidir. [geodiurl]/Api adersinden Token oluşturma arayüzüne ulaşılabilir ( GEODI REST API )
  • wsName (Opsiyonel): Sağlanan Token birden fazla projeyi beslemeye yetkili ise wsName iletilmelidir.
  • enumeratorID (Opsiyonel): Sağlanan Token birden fazla kaynağı (geodi enumerator) beslemeye yetkili ise enumeratorID iletilmelidir.
HttpMethodGET,POST
Dönebilecek Hatalar

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error

470 Desteklenmeyen uzantı, Sunucu yapılandırma hatası

471 Content Reqired

481 This Token cannot access any workspaces

453 wsName Required - Token birden fazla projeyi besleyebiliyorsa wsname gereklidir.

452 enumeratorID Required  - Token birden fazla proje kaynağını besleyebiliyorsa wsname gereklidir.

480 wsname or enumeratorID is not accessable - Token yeterli yetkiye sahip değil

Dönecek Sonuç

OK metni döndürülür.

  • Taramanın başladığını gösterir.  Bir hata alınmamışsa tarama başlatılır. Sonucu kontrol etmek gerekli değildir. 
Örnekler
//Request : 
[ServiceURL]/FeedHandler?op=Feed&UserSession=[Token]&content=
{ 
	ContentURL : '~/MyApplication/Content.php?id=1811',
	DisplayName:'Yeni Doküman',
	ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
	ViewURL : '~/MyApplication/ContentView.php?id=1811',
	Permission : {   Permit : ['S-151...','Role2','Role3']  }
}
Örnek Uygulamalar

Alt İçerik Besleme

BulkFeed
Açıklama

GEODI'ye bir içeriğe alt içerikler ekleyebilirsiniz. Bunun için iki yöntem bulunmaktadır.

Bir alt içerik için yetki tanımlanmazsa yetkileri üstten devralır. Yetki tanımlanması durumunda sadece tanımlanan yetkiler kullanılır. Üstten devralmaz.


1. Herhangi bir anda beslediğiniz içeriği daha önceki bir içeriğe bağlamak isterseniz ParentContentIdOrURL değerini kullanabilirsiniz.

  [
  		{
            ContentURL : '.../MyApplication/Content.php?id=1810',
            DisplayName:'Ana Doküman1',
            ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
            Permission : {   Permit : ['S-151...','Role2','Role3']  },
            MetaData:  [
                     { Name:"Açıklama", Value:"Bu Doküman ...... ... " }
                ]
         },
        {
            ContentURL : '.../MyApplication/Content.php?id=1811',
            DisplayName:'Doküman1',
            ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
            Permission : {   Permit : ['S-151...','Role2','Role3']  },
            MetaData:  [
                     { Name:"Açıklama", Value:"Bu Doküman ...... ... " }
                ],
			ParentContentIdOrURL :'.../MyApplication/Content.php?id=1810'
         }
	]

2. Ana içeriğin alt içeriklerini SubContents nesnesi ile toplu olarak iletebilirsiniz.

[
  	{
        ContentURL : '.../MyApplication/Content.php?id=1810',
        DisplayName:'Ana Doküman1',
        ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
        Permission : {   Permit : ['S-151...','Role2','Role3']  },
        MetaData:  [
            { Name:"Açıklama", Value:"Bu Doküman ...... ... " }
        ]
    },
    SubContents: [ {
        ContentURL : '.../MyApplication/Content.php?id=1811',
        DisplayName:'Doküman1',
        ContentDate:'Wed, 06 May 2015 10:15:20 GMT',
        Permission : {   Permit : ['S-151...','Role2','Role3']  },
        MetaData:  [
             { Name:"Açıklama", Value:"Bu Doküman ...... ... " }
        ]
    } ]
]


Web Crawl

BulkFeed
Açıklama

Bir Web sayfasını ve bağlı sayfalarını taratabilirsiniz.

  [
  		{
            ContentURL : 'http://www.dece.com.tr',
			CrawlSettings: {
				DisableChangeHost:true,
				TotalContentCount:100
			}
			CopyMetaDataToSubContentTree:true,
			MetaData:  [
					 { Name:"Açıklama", Value:"Bu Doküman ...... ... " } 
				]
         }
	]


Kaynak Manipulasyonu

BulkFeed
Açıklama

Aşağıdaki yöntem ile kaynağın herhangi bir özelliğini değiştirip besleme yapabilirsiniz.

Beslediğiniz orjinal kaynak zarar görmez. Çalışmaya devam eder.

Kaynak GEODI projesinde tanımlı ve çalışır halede olmalıdır.

Aşağıdaki örnek projede ekli bir Klasör kaynağının farklı bir klasör taramasını sağlar.

  [
  		{
            ContentURL : "advancedmode",
			AdvSettings: {
				FolderNames:"[\"C:\\\MyTestFolder\"]",
			}
        }
]


Twitter araması ile besleme

BulkFeed
Açıklama

Eğer MediaMon lisansınız varsa Enumerator Manipule yöntemi ile Twitter araması yaptırabilirsiniz.

Bunun için GEODI projesine çalışan bir twitter kaynağı eklemeli ve bu kaynağı beslemelisiniz. 

  [
  		{
            ContentURL : "advancedmode",
			AdvSettings: {
				IncludeSearch:true,
				Queries:"[{Ands:'<Arama Metni>'}]"
			}
        }
]