GSoC Phase 2: Kobby Development


After over a month of working on a C++ wrapper for the infinote libraries I was finally able to start development of the collaborative editing KTextEditor plugin this week.  Its amazing what getting to see some of your development work in action, no matter how little, can do for inspiration.  This week I plan on completing the session management interface and all its appendages (join session dialog, create session dialog, etc…) and hopefully will have functionality for users to connect to infinote servers by the weeks end.  For those of you wondering what I’m referring to by session management: The infinote libraries allow for a set of documents, which comprise a session, to be hosted on a server and be collaboratively edited simultaneously.  The Kobby session manager will allow users to join any number of sessions, keeping track of the documents in each editing session and opening/closing  them when joining/leaving an infinote session.  This brings up some design issues:  Because a session could have a large number of documents, downloading and opening all the documents upon joining a session doesn’t seem like a good idea.  The options I see are (a) creating a document management interface to select documents to open off the infinote server or (b) having a lazy-opening implementation where documents on the server are added to the editing session, but are not pulled off the server until they are actually selected by the user (anyone know for sure if this is possible?).  For now, I’m going to take the document manager interface route, but the lazy implementation sounds like a tempting project, maybe worthy of an option in the configuration interface.





Comments



Author:  Ian Monroe | Date:  July 17, 2008 | Time:  8:42 pm

B sounds easier to use, maybe it should just be the only method? Options suck. :)

(though you’re more familiar with the specifics, do what makes sense!)

I’ve been looking forward to this since I saw your GSoC proposal. Glad to know its going well.

Author:  Armin Burgmeier | Date:  July 18, 2008 | Time:  4:56 am

Just to clarify: In the infinote API, the term “session” refers to an editing session of a single document (for example, InfSession only handles a single document). You can subscribe to as much sessions as you would like, though.

The directory tree in infinote is meant to be as you describe in option (a), because it is capable to contain hundreds of documents, and opening them all at once (or pretending to do this) could probably be rather confusing to the user (perhaps also depending on the user interface, I don’t know what you have in mind there).

This is how the current Gobby user interface looks like, in case you are interested: http://arbur.net/stuff/gobby-infinote.png.

I also had a quick look at your git repository: You will probably at least need the InfTextSession, InfTextBuffer and InfcBrowser classes to accomplish the things you described, which don’t seem to be in your repository yet.

Author:  Stefan Majewsky | Date:  July 18, 2008 | Time:  7:15 am

Where can I find the code? I need this, the conventions in GTK text editors make me drive crazy.

Author:  greg | Date:  July 18, 2008 | Time:  7:58 am

Thanks for the info, the KDE sessions and infinote sessions can get a little confusing :).

I haven’t added libinftext yet, until libnfinity is tested and working fully in the Kobby plugin.



Write a Comment

Note: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>