Skip to content
Open
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
Binary file modified bus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,19 @@ freely between them.
Service which produces content in some form.


Meta
----

These are the services which together form the basis of metadata and analytics.
:doc:`Collection, storing and delivering metadata <meta/index>` about everything in the system.

:doc:`Meta Data <meta/data/index>`
Service which stores and delivers metadata between services.

:doc:`Meta Analytics <meta/analytics/index>`
Service which analyzes the metadata stored by the Meta Data service.


Interfaces
==========

Expand Down Expand Up @@ -242,6 +255,9 @@ These interfaces are not bound by the standard.
:doc:`CMS IF <bazaar/interface>`
Between :doc:`Bazaar <bazaar/index>` and :doc:`CMS <cms/index>`.

:doc:`Meta IF <meta/data/interface>`
Data Service provides an interface to query for user data from Data Providers.


Infrastructure
==============
Expand Down
6 changes: 6 additions & 0 deletions meta/analytics/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

Meta Analytics
**************

Analyzes the data stored in :doc:`Meta Data </meta/data/index>` service.

10 changes: 10 additions & 0 deletions meta/data/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

Meta Data
*********

.. toctree::

interface

Service which stores and delivers metadata between other services.

5 changes: 5 additions & 0 deletions meta/data/interface.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

Meta interface
**************


59 changes: 59 additions & 0 deletions meta/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

Meta
****

.. toctree::

data/index
analytics/index

Services may have data which they want to describe to other services.
Examples of this type of data is metadata of learning materials, links between
statements in curriculum and learning material, and analytics metrics.

By having common vocabulary, the metadata, between learning materials, curriculum and
analytics metrics makes it possible to link the requirements and goals to actual user actions
and learning results. Learning material and analytics metrics are tagged with
keywords and same keywords are used inside the curriculum.

Usage data may be collected automatically by the systems.
Collection of data happens by the services, but the data must be accessible for
services which are analyzing the data. This can be the same service of course,
but it would be much better to share the data system wide.
This way all services can see how the user is moving between services in the whole system.
This data may even be open.

Each service collects and stores the data themselves and then periodically publishes
the data to central repository. Data is then queried back from central repository to
services which need it. Central repository behaves like a cache for the data and it
is stored there for only certain amount of time.

Each service collects the data and pushes it to central repository in realtime.
Central repository works as a publish/subscribe message bus and publishes the data
to all listening parties. Data is not stored in the repository.

Each service has common API which everyone else can use to query for metadata and metrics.
There would be retention policies how long the data must be accessible in the API.

The repository for all metadata and analytics metrics could be key/value store with
graph and timeseries functionalities. Meaning the data can have complex hierarchies
and values can contain value timeseries data.
The metadata repository can be updated by everyone and it keeps track who is doing what and why.

Requirements for the repository:

* must have a database which stores the data for certain period
* must have REST API to query the data (with public and open part)
* must have publish/subscribe API for realtime message passing
* must have an API to register services and then it must query periodically the data
and publish it in the publish/subscribe API on behalf of the service

Services:

* may connect to the publish/subscribe API
* may have common API for querying metrics and register to the repository
* must either connect to the publish/subscribe API or have the common API
* must register metadata keywords



Binary file modified services.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions sitemap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Site Map
index
story/index
auth/index
meta/index
bazaar/index
lms/index
cms/index
Expand Down