Geodi Feed Api ( FeedHandler )

Three basic models can be used to integrate applications with GEODI and provide data. All models aim to ensure that the content allowed by the application is visible to the users it allows.

 Documents that are allowed to search from application and if available , metadata, authorizations and return path are expected from the integrated application.You can use this service to provide source data to GEODI. You can specify the application to open when the resource you provide is reached in a search result.

You can find the warnings and frequently important information about feed API from Frequently Asked Questions  .

* Content transmitted during a feed operation is not retained on Geodi unless the backup is opened on the project.


  • Geodi Feed API - Feed Method (APP → GEODI )You can use this method to send as many content as you want at any time if your application is standing, if there are internal methods to trigger, or if you don't have a Web application
  • Geodi Feed API - Integration with Application Services ( GEODI → APP)

    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.

  • Geodi Feed API - Embedded Code Support ( Connector/GeodiEnumerator ) ( GEODI ← → APP)

    If your application is a library or adapter, you can choose to feed with this method if you do not have an active application running.

    • Enumerator (Connector/Adapter) Concept

      GEODI uses classes that implement the IContentReaderEnumarator interface to provide content from different data sources.

      Implementation must return IGeodiContents. Ready-made IGeodiContent implementations can be used or a class derived from GeodiContentBase can be written.

      ContentReaderBase implementation should also be performed if a new type is created that is not recognized by GEODI. If a Viewer is not available, WebContentViewerBase can be implemented. Viewer is not mandatory.

    • Defining a new file type for GEODI

      IGeodiContent is used to return properties and determine properties.


      With an implementation that derives from ContentReaderBase, the desired extension can be read.

        public class MyContentReader : ContentReaderBase
          {
              public MyContentReader()
                  : base()
              {
                  this.DisplayName = "MyContentReader";
                  this.Category = Geodi.CoreV1.Defines.CategoryInfoDefines.Other;
              }
      
              MyContentReader(IGeodiContent Source)
                  : base(Source)
              {
                  this.DisplayName = "MyContentReader";
                  this.Category = Geodi.CoreV1.Defines.CategoryInfoDefines.Other;
      
              }
      
      
              public override string[] ContentTypeKeys
              {
                  get
                  {
                      return new string[] { "filecontent:.myfileextension" }
                  }
              }
      
              public override IContentReader Create(IGeodiContent Source)
              {
                  return new MyContentReader(Source);
              }
      
      
              public override IEnumerable<IContentSplitter> GetSectionSplitters(GeodiEnumaratorScopeArgs Args)
              {
       
       
      			//StringContentSplitter gerçeklemesi StringContentSplitter array alarak birleştirilmiş alt sayfaları işleyebilir. 
      			//Her Splitter için Section bilgiside verilerek Custom Viewer için ihtiyaç duyulacak sayfa, bbox ... gibi tekrar erişim bilgileri index'e eklenebilir.
       
      			yield new StringContentSplitter("Örnek Tanım içeriği");
      			yield new StringContentSplitter("Örnek Metin");
       
                  //yield new StringContentSplitter(ReadPage1(this.CurrentContent.GetStream()));
                  //yield new StringContentSplitter(ReadPage1(this.CurrentContent.CreateOrGetLocalFileSystemPath()));//CreateOrGetLocalFileSystemPath metodu lokal dosya isteyen apiler için zip/email/web gibi kaynaklardan veriyi indirip fiziksel dosya yolu getirir.
      
      
      			//Tarih, Geometri, İsim, KM  gibi tipi bilinen değerler HeaderArraySplitter object array IContentSplitter gerçeklemesi ile döndürülebilir.
      			List<object> HeaderItems = new List<object>();
      					//DynamicValue<IGeometry> geom = new DynamicValue<IGeometry>(geoApiGeom);
                          //geom.Attributes["ItemType"] = "Geometry";
                          //geom.Attributes["DisplayName"] = MyLabel;
      					//HeaderItems.Add(geom);
      			HeaderItems.Add(DateTime.Now);
      			yield new HeaderArraySplitter(HeaderItems)
      
              }
      
      
      
              public override string GetIconName(string ContentTypeKey)
              {
      			//GUI/Icons klasöründe olan bir yol dönülmelidir.
      			return "Content/file.myfileextension";
              }
          }
  • Geodi ContentObject - Content Definition Object

    You can use this object to provide more detailed content to Geodi Data Extraction API (Formatter) and Geodi Feed Api (FeedHandler) services.



  File Modified
No files shared here yet.