Geodi Feed API - Integration with Application Services ( GEODI → APP)




It is an integration model based on receiving data by GEODI from the application. ECM, CMS, DMS applications and all applications that can provide content via web service or rest api can use this model. Different standards are supported for the service to be provided.

  • Web Services of your application
  • Enterprise Content Managment (ECM) 

  • Content Managment System (CMS) 

  • Document Content Managment (DMS) 
  • Sitemap xml, News Sitemap xml


If you have a web application and if your application is not standing all the time, you can use this method to trigger your application by GEODI.

Web Services of your application

With definition files to be added to Settings \ FeedEnumeratorMeta, data can be obtained from special web services of the application. The definition file uses macros for mappings. The macro language is C #.

If you forward the documentation of the services related to receiving and authorizing the contents, we can write the definition files for you.

GEODI Service Connection Standard

For feedback, the application must be able to return document information through a service that is authorized.

  • Rest Api Service Path (URL)
  • User Name, Password (LDAP or Kerberos User) for calling application services
    • If the application supports openid standards, a valid token can be retrieved and used from the application for a long time. )

information will be recieved from the application and entered into GEODI interfaces, the system will make requests on the service from the application at specified times.

*  If you have a question you can check the Frequently Asked Questions .

Expected Service Methods

GetContents
Definition

It is the method used to follow the changes in the application and to get the contents. By calling this service at set times, information is received about the changed additions.

If a .net soap api that takes same parameters and returns same object as an output is implemented, then [ScriptMethod(ResponseFormat = ResponseFormat.Json)] attribute should be added to the method.

Reguest[ServiceURL]?m=GetContents
HttpMethodGET, POST
Expected Errors

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

Ek Bilgiler

Api Credential (NTLM,Digest,Basic Authentication) : The api user set for GEODI. The application should return all contents within the authority of this user.

ChangeKey: The first request is not forwarded to receive all data. If transmitted, GEODI expects the contents to return after this value. GEODI retrieves this value from the ChangeKey value in the GetContents result it last processed and transmits the next scheduled scan. When the application returns, it can send any value it can use to track the change.

Page : Indicates which page is currently requested if a PageCount has returned from the GetContents service. This parameter is also passed to the CurrentKey parameter

Return Value

A JSON object that contains content information. Details can be reached from Geodi ContentObject - İçerik Tanım Nesnesi#İçerikTanımNesnesi-Çokluİçerik

Examples
//Request : [ServiceURL]?m=GetContents + Credential
 {
	ChangeKey:'2015-05-07 12:10:00',
	PageCount:5,
	Contents : [
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1465',
			DisplayName:'Kontrol Listesi Dokümanı',
			ContentDate:'Mon, 04 May 2015 07:38:28 GMT',
			ViewURL : '~/MyApplication/ContentView.php?id=1465',
			Permission : {  Permit : ['S-151...']  }
		},
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1496',
			DisplayName:'Örnek Çalışmalar Notu',
			Content: {
				Extension:'.txt',
				Content: 'Kızılay civarında yapılan çalışmalar eklenmemiş.'
			}
			Permission : { Permit : ['S-151...'] }
		}
	]
 }
//Request : [ServiceURL]?m=GetContents + Credential&CurrentKey=2015-05-07 12:10:00&Page=1
 {
	ChangeKey:'2015-05-07 12:10:00',
	PageCount:5,
	Contents : [
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1469',
			DisplayName:'Kontrol Listesi Dokümanı',
			ContentDate:'Mon, 04 May 2015 07:38:28 GMT',
			ViewURL : '~/MyApplication/ContentView.php?id=1469',
			Permission : {  Permit : ['S-151...']  }
		}
	]
 }
//Request : [ServiceURL]?m=GetContents&ChangeKey=2015-05-07%2012%3A10%3A00 + Credential
 {
	ChangeKey:'2015-05-08 12:10:00',
 }

//Değişen yok
//Request : [ServiceURL]?m=GetContents&ChangeKey=2015-05-08%2012%3A10%3A00 + Credential
 {
	ChangeKey:'2015-05-09 12:10:00',
	Contents : [
		{ 
			ContentURL : '~/MyApplication/Content.php?id=1811',
			DisplayName:'Yeni Doküman',
			ContentDate:'Mon, 06 May 2015 10:15:20 GMT',
			ViewURL : '~/MyApplication/ContentView.php?id=1811',
			Permission : {   Permit : ['S-151...','Koordinator']  }
		}
	
	]
 }
Example applications

Enterprise Content Management (ECM) , Content Management System (CMS) , Document Content Management (DMS)  Integrations

Although WebDAV support is available, it is not sufficient to take into account the authorizations of the application to be integrated. The WebDAV standard does not provide sufficient prior knowledge for an ECM.

WebDAV, FTP, WebSite, Standard Sitemap xml can be used in cases where it is sufficient to receive and publish data within the GEODI security policy without the special authorization of the integrated application.


Systems that implement CMIS 1.1 (Content Management Interoperability Services) are inactive by default, or require plug-in installation. ( http://docs.oasis-open.org/cmis/CMIS/v1.1/errata01/os/CMIS-v1.1-errata01-os-complete.html#x1-5540003 )  In addition, these software can provide higher performance and more features with their own APIs. CMIS integration is not one of our short-term goals.


Sitemap xml, News Sitemap xml

Urlset must contain url loc, lastmod. Scanning is done by checking the last change according to these values. The path specified on the loc is used for views and browsing. Request is supported with Credentials.

In this method, system (LDAP, Kerberos) user group and user information can be given in addition to loc and lastmod. Custom Role-based / detail privileges are supported.

Example
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>http://mysite/mydoc?id=125</loc>
		<lastmod>2016-06-15T14:10:00Z</lastmod>
		<!--Optional-->
		<permission>
				<permit>S-1515...,</permit>
				<deny/>
		</permission>
</url>


</urlset>