As you rightly guessed, there are some parts of the API that still have to be implemented.<br>The things I've tested so far work fine though: launch the emulator, create some entries by using the activities and browse the content of the journal.<br>
<br>Christophe<br><br><div class="gmail_quote">On 15 May 2012 00:09, Sascha Silbe <span dir="ltr"><<a href="mailto:silbe@activitycentral.com" target="_blank">silbe@activitycentral.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">"=?UTF-8?Q?Christophe_Gu=C3=A9ret?=" <<a href="mailto:c.d.m.gueret@vu.nl">c.d.m.gueret@vu.nl</a>> writes:<br>
<br>
> The installation procedure is not super convenient but should be manageable<br>
> anyway: <a href="http://wiki.sugarlabs.org/go/Features/Semantic_Web/Testing" target="_blank">http://wiki.sugarlabs.org/go/Features/Semantic_Web/Testing</a><br>
<br>
</div>I was able to install it on Debian Wheezy by using the distro packages<br>
libraptor2-dev, librasqal3-dev, librdf0-dev and python-sparqlwrapper and<br>
building redstore [1] (needs either pandoc or a fix to Makefile.am) and<br>
python-rdflib [2] from source.<br>
<br>
Adjusted file paths and python executable name in<br>
datastore/bin/datastore-service (inside semanticxo repository) and<br>
started it manually. Ran "redstore -v" in a separate xterm.<br>
<br>
Sugar (latest mainline master) starts up fine, but trying to resume a<br>
file from external storage (USB stick) fails with the following errors:<br>
<br>
shell.log:<br>
{{{<br>
1337031865.456647 DEBUG root: get_file asked for file with path '/media/Debian Inst/Journal backup of Sascha Silbe (XO-1) (CSN7470103E) on 13.09.2010.xmj'<br>
1337031865.457434 DEBUG root: model.write '' '/media/Debian Inst/Journal backup of Sascha Silbe (XO-1) (CSN7470103E) on 13.09.2010.xmj' True<br>
1337031866.380370 DEBUG root: launch bundle_id=org.sugarlabs.Restore activity_id=a6c7ee02667a96e8e51e5656d22be575506e0e24 object_id=dfe88839-6a71-4e7b-a16a-f0da7d5122ff uri=None<br>
1337031866.521933 ERROR dbus.connection: Exception in handler for D-Bus signal:<br>
<div class="im">Traceback (most recent call last):<br>
</div> File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 214, in maybe_handle_message<br>
self._handler(*args, **kwargs)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/sugar/datastore/datastore.py", line 61, in __datastore_created_cb<br>
metadata = _get_data_store().get_properties(object_id, byte_arrays=True)<br>
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 143, in __call__<br>
**keywords)<br>
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 630, in call_blocking<br>
message, timeout)<br>
DBusException: org.freedesktop.DBus.Python.TypeError: Traceback (most recent call last):<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 745, in _message_cb<br>
_method_reply_return(connection, message, method_name, signature, *retval)<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 252, in _method_reply_return<br>
reply.append(signature=signature, *retval)<br>
TypeError: Don't know how which D-Bus type to use to encode type "NoneType"<br>
<br>
1337031866.567461 ERROR dbus.connection: Exception in handler for D-Bus signal:<br>
<div class="im">Traceback (most recent call last):<br>
</div> File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 214, in maybe_handle_message<br>
self._handler(*args, **kwargs)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/model.py", line 507, in _datastore_created_cb<br>
created.send(None, object_id=object_id)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/sugar/dispatch/dispatcher.py", line 125, in send<br>
<div class="im"> response = receiver(signal=self, sender=sender, **named)<br>
</div> File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/journalactivity.py", line 259, in __model_created_cb<br>
self._check_for_bundle(kwargs['object_id'])<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/journalactivity.py", line 284, in _check_for_bundle<br>
metadata = model.get(object_id)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/model.py", line 551, in get<br>
metadata = _get_datastore().get_properties(object_id, byte_arrays=True)<br>
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 143, in __call__<br>
**keywords)<br>
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 630, in call_blocking<br>
message, timeout)<br>
DBusException: org.freedesktop.DBus.Python.TypeError: Traceback (most recent call last):<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 745, in _message_cb<br>
_method_reply_return(connection, message, method_name, signature, *retval)<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 252, in _method_reply_return<br>
reply.append(signature=signature, *retval)<br>
TypeError: Don't know how which D-Bus type to use to encode type "NoneType"<br>
}}}<br>
<br>
org.sugarlabs.Restore-1.log:<br>
{{{<br>
1337031878.858341 DEBUG root: datastore.get<br>
<div class="im">Traceback (most recent call last):<br>
</div> File "/home/sascha.silbe/sugar-jhbuild/install/bin/sugar-activity", line 146, in <module><br>
main()<br>
File "/home/sascha.silbe/sugar-jhbuild/install/bin/sugar-activity", line 141, in main<br>
instance = create_activity_instance(activity_constructor, activity_handle)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/bin/sugar-activity", line 34, in create_activity_instance<br>
activity = constructor(handle)<br>
File "/home/sascha.silbe/Activities/Restore.activity/restore.py", line 532, in __init__<br>
activity.Activity.__init__(self, handle, create_jobject=False)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/sugar/activity/activity.py", line 330, in __init__<br>
self._jobject = datastore.get(handle.object_id)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/sugar/datastore/datastore.py", line 297, in get<br>
metadata = _get_data_store().get_properties(object_id, byte_arrays=True)<br>
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 68, in __call__<br>
return self._proxy_method(*args, **keywords)<br>
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 143, in __call__<br>
**keywords)<br>
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 630, in call_blocking<br>
message, timeout)<br>
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.TypeError: Traceback (most recent call last):<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 745, in _message_cb<br>
_method_reply_return(connection, message, method_name, signature, *retval)<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 252, in _method_reply_return<br>
reply.append(signature=signature, *retval)<br>
TypeError: Don't know how which D-Bus type to use to encode type "NoneType"<br>
<br>
1337031878.921083 DEBUG root: _cleanup_temp_files<br>
1337031878.922746 DEBUG root: _cleanup_temp_files<br>
Exited with status 1, pid 22293 data (None, <open file '<fdopen>', mode 'w' at 0x1200ee8>, 'a6c7ee02667a96e8e51e5656d22be575506e0e24')<br>
}}}<br>
<br>
<br>
<br>
Trying to view the Journal (after doing the above) also leaves entries<br>
in shell.log:<br>
<br>
{{{<br>
1337032015.323311 DEBUG root: Selected volume: '/'.<br>
1337032015.328395 DEBUG root: ListView.update_with_query<br>
1337032015.329352 DEBUG root: ListView.refresh query {'mountpoints': ['/'], 'order_by': ['+timestamp']}<br>
1337032015.331895 DEBUG root: ListView.__model_ready_cb 0.0<br>
<div class="im">Traceback (most recent call last):<br>
</div> File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/listmodel.py", line 214, in on_iter_next<br>
<div class="im"> if iterator >= self._result_set.length - 1:<br>
</div> File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/model.py", line 112, in get_length<br>
entries, self._total_count = self.find(query)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/model.py", line 225, in find<br>
byte_arrays=True)<br>
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 143, in __call__<br>
**keywords)<br>
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 630, in call_blocking<br>
message, timeout)<br>
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.TypeError: Traceback (most recent call last):<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 745, in _message_cb<br>
_method_reply_return(connection, message, method_name, signature, *retval)<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 252, in _method_reply_return<br>
reply.append(signature=signature, *retval)<br>
TypeError: Don't know how which D-Bus type to use to encode type "NoneType"<br>
<div class="im"><br>
Traceback (most recent call last):<br>
</div> File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/listmodel.py", line 113, in on_iter_n_children<br>
return self._result_set.length<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/model.py", line 112, in get_length<br>
entries, self._total_count = self.find(query)<br>
File "/home/sascha.silbe/sugar-jhbuild/install/lib/python2.7/site-packages/jarabe/journal/model.py", line 225, in find<br>
byte_arrays=True)<br>
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 143, in __call__<br>
**keywords)<br>
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 630, in call_blocking<br>
message, timeout)<br>
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.TypeError: Traceback (most recent call last):<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 745, in _message_cb<br>
_method_reply_return(connection, message, method_name, signature, *retval)<br>
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 252, in _method_reply_return<br>
reply.append(signature=signature, *retval)<br>
TypeError: Don't know how which D-Bus type to use to encode type "NoneType"<br>
}}}<br>
<br>
<br>
The sugar-datastore test suite [3] may be useful for debugging the above<br>
errors, as it smells like SemanticXO doesn't fully and correctly<br>
implement the sugar-datastore API. The "current data store DBus API"<br>
section of [4] may help a bit as well. I'm working on a real<br>
specification for the Sugar data store API, but like many other projects<br>
I can work on it only occasionally, so it'll be some time until it's finished.<br>
<br>
Sascha<br>
<br>
[1] git://<a href="http://github.com/njh/redstore.git" target="_blank">github.com/njh/redstore.git</a><br>
[2] <a href="https://github.com/RDFLib/rdflib/tarball/3.2.1" target="_blank">https://github.com/RDFLib/rdflib/tarball/3.2.1</a><br>
[3] <a href="https://patchwork.sugarlabs.org/patch/640/" target="_blank">https://patchwork.sugarlabs.org/patch/640/</a><br>
[4] <a href="https://git.sugarlabs.org/versionsupport-project/mainline/blobs/raw/master/datastore-redesign.html" target="_blank">https://git.sugarlabs.org/versionsupport-project/mainline/blobs/raw/master/datastore-redesign.html</a><br>
<span class="HOEnZb"><font color="#888888">--<br>
<a href="http://sascha.silbe.org/" target="_blank">http://sascha.silbe.org/</a><br>
<a href="http://www.infra-silbe.de/" target="_blank">http://www.infra-silbe.de/</a><br>
</font></span></blockquote></div><br>