====== 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. +------------------------------------+ |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} |----+ +-------+ ===== 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 [[http://www.mediamatic.net/services/rest/|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 ====== * http://www.mediamatic.net/set-32195-en.html * http://www.mediamatic.net/article-32189-en.html * http://www.mediamatic.nl/artefact-2534-nl.html