anyIdentity - anyMeta's client software

What is anyIdentity?

anyIdentity is middleware. Software that provides a high level interface (to users or applications). It implements [common, combined, complex] functions interacting with the anyMeta API.

<ditaa name=anyId1>

  +------------------------------------+
  |cDD3 applications                   |  User interaction
  +-------------------------+          |
  |cYEL  anyIdentity        |          | 
  +-------------------------+----------+
  |c33E   (optional)   OAUTH           |
  +------------------------------------+
                     ^
         (internet)  | HTTP
                     V
  +------------------------------------+
  |c33E   (optional)   OAUTH           |  Anymeta Server (supply User authentication)
  +------------------------------------+                       
  |c3DD  REST API       | Page         |  Anymeta Request Controller/Routing
  |                     | Controllers  |  (check credentials)
  +------------------------------------+
  |c3DD anyMeta core                   |  Anymeta Request Handler
  +-------------+--------+--------+    |
  |c5CF Identity|c5CF Acq|c5CF ...|    |  Anymeta Module(s)
  +-------------+--------+--------+----+
  |cRED    anyMeta Datastore,Cache     |
  +------------------------------------+       
        |     +-------+    ^
        :     |cRED   |    :
        +---->|{s}    |----+
              +-------+

</ditaa>

Features / Use cases

The motivation was to offer secure and easy access to anyMeta in a re-usable and flexible fashion.

anyIdentity is written in C++ (and POSIX-c) using the QT-framework and distributed in terms of the GPL. It runs on gnu/Linux, Mac-OSX, Windows and quite a few mobile platforms. - One can use it as GUI, CLI, or just scrape some code..

Features

  • lookup/retrieve Information (eg. Identities like RFID)
  • verify user accounts (sha1 passwords)
  • upload media files.
  • modify/store text (titles, new articles)
  • flexible setup/configuration
  • provides secure authentication (oauth signature)
  • list, execute and parse result for generic anyMeta REST API commands.
    • add/remove edge
    • change title
    • modify text data
  • commandline or graphical user interface

use cases

  • assign/remove RFID to/from things
  • lookup things, get title
  • live-search thing(s)
  • create/remove edges
  • add a Thing: text (article, tag, keyword, event) or image (attachment)
  • update/change/delete a thing

User Interfaces

  • anyRfid - assign and remove RFIDs (public and admin-desk version)
  • anyMedia - photo upload GUI
  • anyREST - expert mode GUI to REST API
  • anyCmd - command line interface

see the build-in help and the anyIdentity documentation at http://www.mediamatic.net/article-32189-en.html

Profiles and Configuration

A profile consists of site/vhost specific information (URL, credentials,..). There is only one profile active at any given time, but the application can remember multiple profiles.

There is additional configuration (eg. mifare RFID hardware settings) and user preferences.

  • profiles can be /locked/ (invisible and read-only for the user)
  • cloneable config (import/export)
  • exchange profiles on the fly (eg. admin profile with extra privileges).

Future

remaining ToDo and future extensions:

anyIdentity

  • remote configuration (retrieve config for a specific event.)
  • improve command-line interface
  • oauth-auto-setup-dialog (discovery, key-exchange)
  • anyMedia (extend edge dialog, auto-rescan folder,..)

anyMeta

  • transactions - receive notifications and allow to undo modifications done by RFIDs
  • oauth/ACL-setup (one time password, enabled only during events)
  • specific queries for IDs, Events, Keywords (collect most-commonly-used)
  • create edges with ARO of user (if object is a person/user) → user can delete/modify
  • thumbnail/web-collage module (create picture from listpublish, img-url/position map)

Resources

 
wiki/mm/anyid.txt · Last modified: 22.04.2008 23:28 by rgareus