{"id":67,"date":"2010-08-06T10:29:42","date_gmt":"2010-08-06T08:29:42","guid":{"rendered":"http:\/\/blogs.igalia.com\/jaragunde\/?p=67"},"modified":"2010-08-06T10:29:42","modified_gmt":"2010-08-06T08:29:42","slug":"phpreport-meets-hamster","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/jaragunde\/2010\/08\/phpreport-meets-hamster\/","title":{"rendered":"PhpReport meets Hamster"},"content":{"rendered":"<p>Some time ago, we realized that some igalians used <a href=\"http:\/\/projecthamster.wordpress.com\/\" target=\"_blank\">Project Hamster<\/a> to track their daily work, to know exactly when they started working and on what; later, that data was moved to PhpReport manually. So we thought it was a good idea integrating both applications.<\/p>\n<p>We developed a patch to the development version at that time, to add some basic functionality:<\/p>\n<ul>\n<li>Send a particular task from Hamster to PhpReport.<\/li>\n<li>Send the tasks of an entire day to PhpReport.<\/li>\n<\/ul>\n<p>Notice that the communication is one-way only; Hamster doesn&#8217;t notice changes done later in those tasks in PhpReport. Besides, the data model of Hamster is different, so users have to complete some missing information after sending the tasks to PhpReport. Nevertheless, that&#8217;s better than writing down everything manually&#8230;<\/p>\n<p>It looks like this:<\/p>\n<p><a href=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/hamster-phpreport.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-74\" src=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/hamster-phpreport-150x150.png\" alt=\"How the applet looks like\" width=\"150\" height=\"150\" \/><\/a> <a href=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/login.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-76\" src=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/login-150x150.png\" alt=\"login screen\" width=\"150\" height=\"150\" srcset=\"https:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/login-150x150.png 150w, https:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/login.png 234w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a> <a href=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/preferences.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-77\" src=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/preferences-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>And this is what you get:<\/p>\n<p><a href=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/firefox.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-78\" src=\"http:\/\/blogs.igalia.com\/jaragunde\/files\/2010\/08\/firefox-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>Lately I&#8217;ve been thinking on how to continue the development. The code base of Hamster has changed a lot in the last months, so my patches are now basically useless&#8230; But in any case, the data models are different and I&#8217;m not very sure about the approach to take.<\/p>\n<p>It seems I&#8217;m not the only one with this problem: the synchronization issue <a href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=545816\" target=\"_blank\">has been around for some time<\/a> in Hamster bugzilla. There were different proposals, but there isn&#8217;t an agreement yet. Maybe should I develop a specific PhpReport client from scratch?<\/p>\n<p>Meanwhile, I leave the code for you to check it out and give it a try:<\/p>\n<pre>git clone http:\/\/git.igalia.com\/hamster-applet-phpreport.git\ncd hamster-applet-phpreport\/\ngit checkout origin\/phpreport-gnome-2.27.91<\/pre>\n<p>And for compilation and installation:<\/p>\n<pre>.\/autogen.sh --prefix=\/usr\nmake\nmake install<\/pre>\n<p>The prefix is necessary because the applet server doesn&#8217;t look into <code>\/usr\/local<\/code> (the default route) for new applets. And this installation will conflict with any installation of hamster-applet you could have done before.<\/p>\n<p>I compiled it in ubuntu lucid (it should work for karmic too, but I couldn&#8217;t make it in jaunty) and I needed the following development packages:<\/p>\n<pre>python-dev\npython-gtk2-dev\npython-gnome2-dev\nlibgconf2-dev<\/pre>\n<p>Finally, you can launch the application in an independent window with debugging purposes, using this command:<\/p>\n<pre>\/usr\/lib\/hamster-applet\/hamster-applet -w<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Some time ago, we realized that some igalians used Project Hamster to track their daily work, to know exactly when they started working and on what; later, that data was moved to PhpReport manually. So we thought it was a &hellip; <a href=\"https:\/\/blogs.igalia.com\/jaragunde\/2010\/08\/phpreport-meets-hamster\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,10],"tags":[],"class_list":["post-67","post","type-post","status-publish","format-standard","hentry","category-phpreport","category-web"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/comments?post=67"}],"version-history":[{"count":0,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts\/67\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/media?parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/categories?post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/tags?post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}