Giter Club home page Giter Club logo

Comments (1)

TonyJon avatar TonyJon commented on June 28, 2024

Hi John

This is some information on what the different settings in the DAOD data source definition in the topology file mean.

I have linked each data source search option to its Portal UI elements and to the API call on your implementation of IExternalDataAdapter and IExternalDataItemRetriever so hopefully this will help.

DAOD data source from topology file:

This defines whether or not a data source is used as the default and also defines what sort of data source it is.

image

This definition is used generate a data source configuration that is used by the portal code to determine what search functions should offer the this data source as a choice and whether it is the default used in the Portal.

The search service definitions:

EdrsPresent="true" Whether the external data retrieval service is supported
SesPresent="true" Whether subset exploration service functionality is supported.
ScsPresent="true" Whether subset creation service functionality is supported.

For a standard DAOD data source running from a native Portal (not a customized UI) SCS and SES will always be true as these two are fused together in this implementation. EDRS is true depending on whether you want to implement the secondary retrieval service to the external source for getContext and getLatestItems.

This is why you do not see options for switching SES functionality on or off separately.

The search option definitions:

These define which search options are available for your data source and therefore which ones you need to implement.

ScsBrowseSupported="true" This enables browsing with your data source in the Portal and will mean that calls will be made to the "fullTextSearch" method on your implementation of IExternalDataAdapter with an empty string parameter. We do not recommend allowing browsing on DAOD data sources due to the possibly high volume of data that could be returned. In order to stop a normal fullTextSearch being used for browsing you should code your implementation to not run a "get me everything search" when it sees an empty string and set ScsBrowseSupported = "false". You can not stop a datasource being available as a choice for browse using this option but it will not actually run and you will just be told that it is not supported.

image

ScsSearchSupported="true" This enables fuzzy text searching and will make your data source a choosable option for this in the Portal and will mean that calls will be made to the "fullTextSearch" method on your implementation of IExternalDataAdapter

image

ScsFilteredSearchSupported="true" This enables basic single entity property based searching making your data source choosable in this mode and will mean that calls will be made to the "search" method on your implementation of IExternalDataAdapter.

image

It also allows you to use the entity type filter option with Fuzzy search too. Just to confuse things, if you have this and ScsSearchSupported set to true and do a fuzzy search with a type filter it will actually call "search" not "fullTextSearch".

image

ScsDumbbellSearchSupported="true" This enables the Entity Link Entity extension to property based searching and will mean that calls will be made to the "dumbbellSearch" method on your implementation of IExternalDataAdapter if you select more than just a single entity when you configure your property based search.

image

ScsNetworkSearchSupported="true" This enables Visual Querying making your data source choosable in this mode and will mean that calls will be made to the "networkSearch" method on your implementation of IExternalDataAdapter

image

EdrsGetContextSupported="true" This enables the "Show Context" option for entities that originate from your data source and replaces "Expand" in menus in both the Portal and ANBP for these items and will mean that calls will be made to the getContext method you implement for IExternalDataItemRetriever.

EdrsGetLatestItemsSupported="true" This has no effect on Portal operations as the portal does not make use of getLatestItems but it is necessary when you do a getContext from ANBP and when you send items to ANBP from the portal. ANBP checks that the item /items you have selected still exist in the external source by calling getLatestItems on the IExternalDataItemRetriever before it does anything with them and without this implementation you will get an error.

If you have questions on any of this feel free to ask.

from analyze.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.