mrigeshpokhrel: (Default)
mrigeshpokhrel ([personal profile] mrigeshpokhrel) wrote in [site community profile] dw_dev2010-03-31 05:26 pm
Entry tags:

GSoC2010 : Desktop Client

 hi,

I am Mrigesh, a Information Technology student from IIIT-Allahabad India  and would like to work on the project developing desktop client for Dreamwidth.

Since past one or two weeks i have been studying the protocols which have been forked from LiveJournal (http://www.livejournal.com/doc/server/ljp.csp.protocol.html)and(http://hg.dwscoalition.org/dw-free/file/tip/cgi-bin/ljprotocol.pl) and the existing client for livejournal "logjam" . I have gained some understanding of the code and the client/server protocol reference specified above.

I would like to start with a bottom-up approach for the gui client, centring it along the linux OS specifically Ubuntu, using QT. I would start off with creating a client in following manner :

 
  1. Creating a bare minimum client:
    1. The client would request the user for authentication(username and password)
    2. The client would allow the user to "read" past entries and "post" a new entry after successful authentication.
    3. The methods used would be (Flat client/server protocol : http://www.livejournal.com/doc/server/ljp.csp.flat.protocol.html)
      1. login : logging into the client after successful authentication
      2. sessiongenerate : generating a session after successful login
      3. postevent : posting a blog/journal only if the login and sessiongenerate are both successful.
      4. sessionexpire : close the session instance the user has created thus.
  2. Client with functionalities like reading and editing past posts, check friend list/groups and edit friend list/groups
    1. The client would perform bare minimum functions as defined above
    2. The user would be able to view his past posts and edit them.
    3. The client would have a side pane/scrollbox where he would be able to view and edit his existing friends and groups
    4. The new methods implemented would be :
      1. login : logging into the client after successful authentication.
      2. sessiongenerate : generating a session after successful login.
      3. postevent : posting a blog/journal only if the login and sessiongenerate are both successful.
      4. getevents : coupled with "syncitems" this would allow the user to view his past posts, events, to-do items.
      5. editevent : this would allow the user to edit/delete past posts in his journal.
      6. getfriends : this would fetch the list of users the current logged in user identifies as friends and displays them in the side pane/scrollbox.
      7. getfriendgroups : fetch the user defined groups of friends.
      8. editfriends : add/edit/delete existing friends.
      9. editfriendgroups : edit user defined friend group list.
  3. This would be supposedly the final client(that what i planned till now anyways) with proxy support(i dont know how to do that but i am still reading a blog about it) and most of the required functionalities provided in the protocol.

I would be following the ABC rule of software development, i am recently messing with twitter api (using curl) and have been successful till date while posting a tweet and a mention/reply. I would to integrate twitter functionalities as well , but that seems a bit far-fetched. I would also be honoured to work with/on dreamwidth even after GSOC2010 as i find it could help me learn a lot of new things!!

Any sort of suggestions or critic comments are most welcome, after-all it would only help me in improving my proposal :) .

Thank You
Regards
Mrigesh Pokhrel
irc : _silentAssassin
gtalk : mrigeshpokhrel
skype : mrigeshpokhrel
(PS: i am in india and so i would be available anytime after 12:00 GMT ( thats when my class gets over))


 

 

catness: (Default)

Re: @catness

[personal profile] catness 2010-03-31 08:40 am (UTC)(link)
Actually I just tried to say what [profile] paumamma said much better - why the friend functions do not work on DW the same way as on LJ.
cesy: "Cesy" - An old-fashioned quill and ink (Default)

Re: @catness

[personal profile] cesy 2010-03-31 08:58 am (UTC)(link)
Not quite - subscribe doesn't affect what you see when viewing a particular entry - it just affects whether or not they show up on your reading page.

Also, you don't need to have a subject line saying who you're responding to, as the reply threading on DW does that automatically.
cesy: "Cesy" - An old-fashioned quill and ink (Default)

[personal profile] cesy 2010-03-31 09:09 am (UTC)(link)
Exactly.