eLog client library
This is a collection of eLog UI components. eLog libarries were first released in 2010 and have grown up since then. Its API usage and examples are provided with a rich documentation and in-line demos. Please visit the documentation site at eLog documentation and check the detail there. In case of Q&A, please create an issue page here. eLog UI uses the open source Sencha Touch framework.
On-line demo is available at (http://elifelog.org/lab/elog/examples/mediamanager/).
See our list of video demos
Getting Started with eLog APIs
The below figure gives an abstract view of eLog service structure. It basically reads external sources and parse for the data analysis and then save the result back to the store to archive user's life logs. External clients connected to the server through HTTP/JSON call can access archived lifelog. Our APIs supports all these process from both server and client sides.
Let us describe the setup procedure for both cases. This guide will explain the setup procedure for both server and client services. FYI, The communication between the server and GUI is pure HTTP/JSON based REST service. This makes the eLog UI and server componenet are completely independent. If you have existing servers, you may adopt your web service and modify the interface to work with eLog UI.
Prepare UI Development Environment
The current UI library is developed on top of Sencha Touch. We recommend to use Sencha's developer tool Sencha Cmd and follow its instruction to build up an App. For web App developer, belows are prerequesite software for the development.
- Java SE Runtime Environment is required to run Sencha Cmd.
- Ruby is needed for Sencha Cmd to create the compiled CSS used by Sencha Touch.
- Download the latest Sencha Cmd which provides a full set of App management features.
- If you prefer integrated development environment, you may use Aptana. For code assist for Sencha Touch, refer http://stackoverflow.com/questions/23691570/code-completion-sencha-aptana-studio-3
- Download Sencha Touch SDK. Let us assume the installing directory /anydirectory/sdk/. Then download and unzip Sencha Touch to /anydirectory/sdk/touch.
For further installation detail, please also check Sencha's Installation Instruction
Download eLog UI
The GUI part of eLog libraries is available at GitHub. You may visit elog GitHub to download the zip file or clone it to your server using:
git clone https://github.com/eLifeLogTeam/elog/
eLog UI utilizes external libraries. Download external libraries if needed. First create a sub directory /anydirectory/sdk/library
git clone https://github.com/ajaxorg/ace-builds.git
- IcoMoon free icons: Clone at (ex. sdk/library/IcoMoon--limited--master)
git clone https://github.com/Keyamoon/IcoMoon-Free.git
- Coverflow extension for Sencha Touch: Clone at (ex. sdk/library/Ext.ux.Cover)
git clone https://github.com/elmasse/Ext.ux.Cover.git
- A Sencha Touch Calendar: Clone at (ex. sdk/library/Ext.ux.TouchCalendar)
git clone https://github.com/SwarmOnline/Ext.ux.TouchCalendar.git
svn checkout http://figue.googlecode.com/svn/trunk/ figue-read-only
- jQuery: Clone at (ex. sdk/library/jquery-2.1.1)
git clone https://github.com/jquery/jquery.git
- jquery-ui: Extract under jQuery directory (ex. sdk/library/jquery-2.1.1/jquery-ui-1.11.0/):
- jqueryFileTree: Extract under jQuery directory (ex. sdk/library/jquery-2.1.1/jquery.fileTree/):
git clone https://github.com/daverogers/jQueryFileTree.git
Now you are all set. Start using eLog GUI libraries :)
eLog APIs Copyrights
First, thanks for using the eLog library. Before claiming any legal statements of our copyrights, let us first explain why we open this library and after I will add some formal copyright definitions.
The aim of this research is helping people manage their lifelogs and their precious memories into their own storage. Challenges are that there exists numerous types of lifelogs equal to the number of people out there. What we are trying is to prepare a fundamental tool to help them easily start logging their lifelogs in a systematic way. We also wish a user to have full and sole priviledges on their own data.
In this aspect, while all rights of codes published here are reservered to the eLifeLog.org, developers may freely use our codes for personal, educational and research purposes. However we do not allow the commercial use and the use by any company for a profit in any steps of your development and products. (Note: One exception is the user interface part which we develop atop Sencha Touch. We decide to follow the original license (GPL V3). eLog UI parts are separately published at GitHub (https://github.com/eLifeLogTeam/elog/))
You can develop and distribute Apps or software programs using our libraries but they should be distributed for free and you should not collect users's lifelog to your server or to any cloud servers in any cases by any means. In other words, your Apps or software should not collect any information (even login IPs) about the user. Your app should work independently (i.e. a strandalone App) without the need for connection or communication with your server. References to our code must be embedded in your codes and appeared in your credits. You may inform us to know either to test or to introduce your work at this web site.
For formal copyright stuffs, while keeping the above condition mandatory, eLifeLog.org APIs provided by http://www.elifelog.org is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License based on a work at www.elifelog.org.
Feel free to post issues: https://github.com/eLifeLogTeam/elog/issues