On Feb 28, 2008, at 15:10 , Paul Fox wrote: > i wrote: >> where is the interface between activities and the journal >> documented? i'm not coming up with anything concrete when i >> search the wiki. (or alternatively, i'm coming up with too much >> to wade through.) > > two people have suggested (offlist, presumably to save me > embarrassment ;-) that i look more closely at: > http://wiki.laptop.org/go/Low-level_Activity_API > > certainly this page answers my questions about the X properties that > are being set in the preload library. > > both referrers asked if there were things missing from that page. > i'll try and comment on what i think could help someone like me. > > i do feel like that there could be more of a broad-brush > overview, something like a "Lifetime of an Activity" section, > that would describe the interactions of an activity with the > various other sugar services, from start to finish. this would > put the various piece parts of the api in context. i've looked > (mostly via backlinks from this page) for such an overview, but > haven't found it.
Good point. I added an attempt to explain the life cycle of an activity to the "Overview" section. > maybe much of what i need is there and i'm just not seeing it. > i get more from the wiki pages every time i read them, and i'm > handicapped by not being a python guy -- remember that i'm > porting an existing non-python, non-DBUS-aware app, and just > trying to make it run the best it can. but i also think it's > typical of a wiki that it concentrate on the details. That page is actually written by a "non-python guy" for fellow "non- python guys". It only uses pseudo-code (although that pseudo-code is inspired by Python). > the "Dbus Methods" section starts with "An activity instance > needs to create a DBus service", but there's no indication of > "why?". what specific user or system interactions will be > enabled by creating this service? what specific things won't > work if i don't? (also, a link to somehere describing how to > [figure out how to] create this service for non-python activities > might be useful here.) The Sugar shell will (try to) call the methods listed in that section. The rationale for each method is given there, too. >> my activity starts (and terminates) okay, and anything it emits >> on stdout or stderr ends up in a log file under /home/olpc/.sugar >> (so some things are working), and it appears on the "ring of >> running apps", but it doesn't show up in the journal. > > ah -- okay -- the "Datastore" section says my app must store its > complete state in the datastore, to let it show up in the journal. > but i'm not sure what "complete state" means -- that's pretty > daunting, esp. for a program that already saves a lot of state in > other ways. is there a minimum that i need to do / can do? and > this is all accessed via DBUS? that's not completely clear from > the page text. (and again, a pointer to how to figure out how > to access the datastore/journal from non-python languages might > be useful.) For a basic understanding of what an activity is (in contrast to regular apps), you should read http://wiki.laptop.org/go/HIG And yes, DBus is a must as indicated on the very top, use whatever DBus bindings exist for your language (e.g., libdbus in the case of C). > back to my logs: naively, i thought that since my messages were > already being stored under ~/.sugar/default/logs/org.x.RoadMap-3.log, > that i'd be able to access them without much trouble from the > Journal. but apparently that's not the case? Logs have nothing to do with the Datastore. > i guess this reminds me of something else -- for someone who's > fairly new at this, the correspondence between the concepts of > "Datastore" and "Journal" isn't obvious. the wiki pages all talk > about the Datastore, but what the user sees is the Journal. (i > think this hampered my initial searches, both when skimming pages > and when actually entering searches on the wiki.) The Journal is a view onto the Datastore. > anyway -- thanks for the pointers -- i have a much better > understanding of what needs to be done, even if i still don't > know how to go about doing it. :-) i hope my comments have been > helpful -- it should be pretty clear that i'm in no position to > make additions or updates to the wiki myself, at this point. > i'll try and help where and when i can, however. Yes, your feedback is welcome. Thanks! - Bert - _______________________________________________ Sugar mailing list Sugar@lists.laptop.org http://lists.laptop.org/listinfo/sugar