Skip to content
This repository has been archived by the owner on Feb 25, 2022. It is now read-only.

adobe/helix-data-embed

Helix Data Embed

Turns structured data from data sources around the web into nice JSON arrays that can be embedded using Helix-Pipeline

Status

codecov CircleCI GitHub license GitHub issues LGTM Code Quality Grade: JavaScript semantic-release

Installation

Usage

curl https://adobeioruntime.net/api/v1/web/helix/helix-services/data-embed@v3/https://blogs.adobe.com/psirt/?feed=atom

While the above is simple to type, it is more safe to escape the url and optionally pass it as src query parameter:

curl https://adobeioruntime.net/api/v1/web/helix/helix-services/data-embed@v3/https%3A%2F%2Fblogs.adobe.com%2Fpsirt%2F%3Ffeed%3Datom

or

curl https://adobeioruntime.net/api/v1/web/helix/helix-services/data-embed@v3?src=https%3A%2F%2Fblogs.adobe.com%2Fpsirt%2F%3Ffeed%3Datom

Data Sources

Supported data sources include:

  • Microsoft Excel (in Excel, share with helix@adobe.com then copy the sharable URL)
  • Google Sheets (in Google Sheets, share with helix.integration@gmail.com and copy the URL from the browser)
  • Atom Feeds (must have atom somewhere in the URL)

Filtering Results

helix-data-embed supports the AEM Query Builder syntax for reducing the result set.

In order to avoid collisions with existing URL parameters, each QueryBuilder parameter must start with hlx_. For example to filter entries that have a property bar with the value foo, append the following to the URL:

hlx_property=foo&hlx_value=bar

If you want to restrict by range, use:

hlx_rangeproperty.property=age&hlx_rangeproperty.lowerBound=18&hlx_rangeproperty.upperBound=99

The predicates supported so far include:

(Just remember to add hlx_ before each URL parameter name)

Furthermore, it is possible to limit the result set using hlx_p.limit and page through the result set using hlx_p.offset.

For more, see the API documentation.

Working with Excel and Google Sheets

  • The sheet inside an Excel workbook or Google spreadsheet can be addressed using the sheet parameter.
  • Only sheets having the helix- prefix can be addressed.
  • If the workbook or spreadsheet does not have any helix- prefixed sheets, the first sheet is returned.
  • By default, the used range of the selected sheet is returned.
  • For excel, A table can be addressed using the table request parameter, which can be a table name or an index. For example, table=Table1 will return the table with the name Table1, table=1 will return the second table in the sheet.

Development

Deploying Helix Data Embed

Deploying Helix Data Embed requires the wsk command line client, authenticated to a namespace of your choice. For Project Helix, we use the helix namespace.

All commits to main that pass the testing will be deployed automatically. All commits to branches that will pass the testing will get commited as /helix-services/data-embed@ci<num> and tagged with the CI build number.