About

The eLog library was initially developed as a research prototype and later published for lifelogging researchers in 2010 to help them easily analyze heterogenous data and complex visualization. It has been kept growing with the progress of mobile computing environments and recently its UI part is released with GPL v3 license for wider usage. The eLog UI library is optimized for mobile environment and can get easily integrated with existing Web services.

Who We Are

The original work was proposed by Pil Ho and later extended the work with collaboration with 28 researchers around the world who contributed their lifelogs, collaborated for lifelog analysis and share research results to build up an open lifelogging platform for the public. Pil Ho has been keeping the development updating the library following up the progress in mobile computing.

Updates

  • Nov. 2014: Change the web page skin using bootstrap.
  • Nov. 2014: Published elog UI library as GPL v3.
  • Oct. 2014: Version up eLog library and documentation.

 

eLog2 Server Configuration

This page lists up the server configuration to run eLog2. The server we are working on now resides in the UNITN and will be opened to the public after some beta operation. Contents here are not fixed but flexible changing per on-going upgrades.

MySQL 5.6.4 m7

MySQL recently added a fraction (Finally!!) to the timestamp field. Now a video or audio like sub-seconds events can be tagged without hickups. Below shows the list of operations to prepare our eLog2 server (Ubuntu x86_64 GNU/Linux, 10.04.3 LTS).

TODO: SSL connection works before but not for 5.6.4. Same configuration file but know no reason. Check it later. Solved by setting the reading attributes for the group.

Server-side Push Mechanism using PHP

Implementing COMET without altering any existing server-side configurations can be achieved using PHP based on "Comet with classis AJAX" parts based on http://www.zeitoun.net/articles/comet_and_php/start. It allows the small concurrent distributed software processing and also the client-side PUSH notification. Our first middle-ware configuration will be based on this protocol.

Remote PHP debugging

Using Eclipse, RSE and XDebug remote through SSH, the remote PHP debugging is configured based on the instruction at http://stackoverflow.com/questions/4876064/debug-remote-php-cli-scripts and http://stackoverflow.com/questions/4200623/xdebug-remote-debugging-with-port-9000-forwarded-through-ssh-tunnel-how-to-makhttp://ubuntuforums.org/showthread.php?t=525257&page=2 might be also useful. From the client side, put alias dssh='ssh -R 9000:localhost:9000 useid@elogserverhostaddress' into your .bash_login for easy access. This allows complete server-side debugging editing and debugging remote files online. From the client side, to make it easy to debug from the web interface, install the xdebug browser extension (Read http://www.xdebug.org/docs/remote) and set the IDE key same as the server. In our case, we use Safari and thus installed Xdebug Toggler (https://github.com/benmatselby/xdebug-toggler/downloads). To enable this, the server side xdebug.ini (located at/etc/php5/conf.d/xdebug.ini for Ubuntu). See the below example.

Download:

  • For the developer (Mac):
    1. Download Eclipse for PHP Developers from  http://code.google.com/p/zend-sdk/
      • Set Preferences: Goto PHP->Debug. Set XDebug as PHP Debugger, Change configure of XDebug for Accept remote session to "any"
      • Set Network Connections for Active Provider to "Direct"
    2. Install Xdebug Toggler for Safari from https://github.com/benmatselby/xdebug-toggler/downloads.  Set Preferences for Xdebug Toggler preference for IDE Key to like the below xdebug.idekey setting. For other web browsers, see http://xdebug.org/docs/remote
  • For the server (Ubuntu):
    1. Install most recent Xdebug from the source (http://www.xdebug.org/download.php). Run rebuild.sh to install. Restart Apache (sudo /etc/init.d/apache2 restart). Set /etc/php5/conf.d/xdebug.ini like below.
====
xdebug.remote_mode=req
zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.idekey=YourIDEKey
xdebug.default_enable=On
xdebug.remote_autostart=Off
xdebug.remote_connect_back=Off
xdebug.remote_cookie_expire_time=3600
xdebug.remote_enable=On
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_mode=req
xdebug.remote_port=9000
====
 
Above configuration disable remote_autostart and it only invokes the remote debugger when the proper IDEKey is specified in the HTTP request. The remote debugger is only allowed for the local connection (127.0.0.1). Thus the SSH enabled port fowarding is necessary. This limites the remote debug through SSH connections.

 

Multimedia Streaming Server

For Ubuntu server, we use Flumotion (http://www.flumotion.net) and configured it (/etc/flumotion/managers/default/planet.xml) as like below:
  <atmosphere>
    <component name="http-server-ondemand"
               type="http-server"
               label="http-server-ondemand"
               worker="localhost"
               project="flumotion"
               version="0.6.1">
      <property name="mount-point">/video</property>
      <property name="port">8800</property>
                <property name="path">/multimedia_data_directory/data/multimedia</property>
      <plugs>
      </plugs>
    </component>
  </atmosphere>
 
Then, the access address becomes like http://elog.disi.unitn.it:8800/video/filename.mp4. It supports MP4 video files and for Safari, install http://www.xiph.org/quicktime/download.html for format recognition.