Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changed naming and added open sesam #1262

Merged
merged 3 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions hub/deprecated-services.rst

This file was deleted.

27 changes: 27 additions & 0 deletions hub/discontinued-services.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
=====================
Discontinued services
=====================

This document contains discontinued services from the documentation. Do
not make use of these services.

.. toctree::
:maxdepth: 1
:hidden:

Sesam Talk <../talk/index>
Open Sesam <open-sesam>

.. _sesam_talk_discontinue:

Sesam Talk
==========

The :doc:`Sesam Talk<../talk/index>` Universal Semantic Data Synchronization service created and operated by Sesam.io was discontinued in November 2024.

.. _open_sesam_discontinue:

Open Sesam
==========

:doc:`Open Sesam <open-sesam>` provided as a way for people to host, enrich and publish data for free.
2 changes: 1 addition & 1 deletion hub/index-developer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ Documentation
Service Configuration <index-service-configuration>
Service API <api>
Deprecated features <deprecations>
Deprecated services <deprecated-services>
Discontinued services <discontinued-services>
260 changes: 260 additions & 0 deletions hub/open-sesam.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
==========
Open Sesam
==========

.. contents:: Table of Contents
:depth: 2
:local:

.. note::

This is a discontinued service and should not be used.

Sesam is designed for anyone to be able to collect, connect, and share data. Open Sesam is a provided as
a way for people to host, enrich and publish data for free. The data they publish can be open data that is
used by many others, it can be some samples that can demonstrate the value of Sesam, or just a simple way
to expose structured data on the web.

.. image:: images/open-sesam.png
:width: 800px
:align: center
:alt: Data in Open Sesam

When a user signs up for Sesam they automatically get an account in Open Sesam. This allows them to upload
data, transform that data, connect it with any other data in open sesam and then publish that dataset for
others to use.

All datasets created in Open Sesam are discoverable through the Sesam Open Data Registry. This registry
has metadata about all datasets, including license information, name, description, when it was published,
and tags. Each dataset has a dataset page that has links to the actual data and a sample of the data.

We encourage people to refine and enrich existing datasets with new data. Existing data can be combined
and transformed using the powerful data transformation language. The results of transformation is new
datasets that are published and made available.

The following sections provides some quick guides on how to publish, discover and enrich using Open Sesam. We
also recommend reading the `Concepts <https://docs.sesam.io/concepts.html>`_ and `Getting Started <https://docs.sesam.io/getting-started.html>`_ sections of the documentation.

Discovering data
----------------

Anyone can search for existing datasets in the `Sesam Open Data Registry <https://registry.sesam.io/>`_.

The data is published and can be consumed according to the :ref:`JSON source <json_source>` specifications.

Once a dataset has been found, the user can quickly preview the data using the ``Preview URL`` link. This
will display the first 10 entities in that dataset.

A copy of the dataset can also be downloaded using the ``Data URL`` link.

Remember that data in Sesam is changing whenever the underlying data changes. If you want to consume
the datasets in a continuous fashion, we recommend that you sign up and use Sesam to handle the data.

Publishing data
---------------

To publish data to Sesam the user first needs to create an account on the `Sesam Portal <https://portal.sesam.io/>`_.

Once signed up, they will have access to ``Open Sesam`` as well as a few selected read-only tutorials.

Selecting the open sesam service instance will show an empty data hub that can be used to consume, reshape and publish
data. The other service instances are read only and show some typical usages of Sesam.


Creating an HTTP Endpoint
~~~~~~~~~~~~~~~~~~~~~~~~~

To upload a dataset to Sesam it is first necessary to create an endpoint that can receive the data. This is done by defining an `Http DataSource <https://docs.sesam.io/configuration.html#the-http-endpoint-source>`_. This can be done either via the management studio or via the API.

A new Http Endpoint can be added by creating a pipe with the following definition; but remember to change the "_id" property to be something more unique.

::

{
"_id": "mypipe",
"type": "pipe",
"source": {
"type": "http_endpoint"
}
}


Your Json Data
~~~~~~~~~~~~~~

Data posted to Sesam should be in the form:

::

[
{
"_id" : "entity-id-0",
... any other valid json
},

{
"_id" : "entity-id-1",
... any other valid json
}

... more json objects ...
]


The only requirement is that each JSON object has a property called "_id" that contains the entity id. These id values are up to you to decide, but should be unique within a DataSet.


Sending the Data
~~~~~~~~~~~~~~~~

Now you can use CURL to upload a JSON file from your computer:

Sesam is secure by default so to POST data to the endpoint you will need to authenticate against the portal to aquire a JWT token that can be used in a CURL request. The following steps guide you through doing this process.

Create a text-file with the email and password you use to log in to Sesam:

::

echo "email=YOUR_EMAIL_ADDRESS&password=YOUR_PASSWORD" > cred.txt

Download the authorization token for the specified email and password and store it in an environment variable:

::

export SESAM_AUTH_HEADER="Authorization: Bearer $(curl -d @cred.txt https://982ae5c5.sesam.cloud/api/jwt)"

Make an alias to run curl with the authorization token:

::

alias curlJWT='curl -H "$SESAM_AUTH_HEADER"'


The URL of the http endpoint is of the form:

::

https://982ae5c5.sesam.cloud/api/receivers/mypipe/entities


Note that 'mypipe' needs to be changed to match the '_id' of the http endpoint pipe created in the earlier step. The first part of the URL (982ae5c5) may also differ. Check your Open Sesam instance to see the correct value.

Then test you can talk to Sesam form curl with:

::

curlJWT https://982ae5c5.sesam.cloud/api/pipes

Finally, use upload your JSON file with:

::

curlJWT -X POST -H "Content-Type: application/json" --data @your-file.json https://982ae5c5.sesam.cloud/api/receivers/mypipe/entities

More detailed information about how to publish data according to the :doc:`JSON Push Protocol <json-push>` can be found in these :ref:`examples <json_push_examples>`.

Checking the Data
~~~~~~~~~~~~~~~~~

If this succeeds then a new dataset will be listed on your Open Sesam instance and will contain the uploaded entities. You can upload the JSON as many times as you want. Only changes will be reflected.

Adding Metadata
---------------

Additional metadata for the dataset can be made available in the registry by adding the following
metadata configuration to the pipe config:

::

{
"_id": "myendpoint",
"type": "pipe",
"source": {
"type": "http_endpoint"
},
"sink": {
"type": "dataset",
"dataset": "mydataset"
}
"metadata": {
"registry": {
"description": "Solar power metering from my roof",
"keywords": [ "electricity", "solar" ],
"license": "CC"
}
}
}


Enriching data
--------------

The user can also publish new data by combining or enriching existing datasets in new ways.

The registry must first be added as a system:

::

{
"_id": "myregistry",
"type": "system:url",
"base_url": "https://registry.sesam.io"
}

The user can then set up a pipe to fetch an existing dataset (the url is provided in the registry):

::

{
"_id": "mydatasetcopy",
"type": "pipe",
"source": {
"type": "json",
"system": "myregistry",
"url": "/data/982ae5c5/mydataset"
}
}

The user can then enrich this data and produce a new dataset that is intended to be published:

::

{
"_id": "mydataset_qa",
"type": "pipe",
"source": {
"type": "dataset",
"dataset": "mydatasetcopy"
},
"transform": {
"type": "dtl",
"rules": {
"default": [
["filter",
["eq", "GOOD", "_S.quality"]
],
["copy", "*"]
]
}
},
"metadata": {
"registry": {
"description": "Quality controlled solar power metering from my roof",
"keywords": [ "electricity", "solar", "qa" ],
"license": "CC"
}
}
}

Note that every dataset is automatically published, including intermediate steps like ``mydatasetcopy``
above. If you want to hide your data, you can set up a private subscription in the Sesam Portal.

Known Issues
------------

The following issues are known issues:

- Open Sesam is automatically upgraded every night, and the user might experience short disruptions of
service during the upgrade.

- Users on the same Open sesam segment (``A``, ``B``, etc.) share namespace for systems and pipes.
4 changes: 4 additions & 0 deletions talk/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
Sesam Talk
##########

.. note::

This is a discontinued service and should not be used.

Sesam Talk is a Universal Semantic Data Synchronization service created and operated by Sesam.io. It leverages our extensive expertise in data synchronization and data modeling and is built on top of the proven Sesam Data Hub technology. Sesam Talk offers an innovative solution for synchronizing data across multiple cloud services, specifically developed for SaaS companies and their users. This is a complete managed service that includes everything from migration and setup to user interface customization, operations, and support. Sesam Talk enables users to synchronize data between different :doc:`systems <systems/index>` in a simple way, without the need for IT intervention or technical expertise. The solution is designed to provide users with a user-friendly and risk-free way to handle data synchronization, contributing to an improved user experience and increased adoption rates of SaaS platforms.


Expand Down
Loading