{ "info": { "author": "Jean-Paul Ladage", "author_email": "j.ladage@zestsoftware.nl", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\nThis package provides a user interface to track time based on the concepts of\ngtimelog. When starting your working day you start a timer. Each time that you\nchange to a different tasks you log an entry of what you were working on.\n\nIn eXtreme Management we book our hours on tasks. This tracker allows you to\nselect a number of tasks from the list of tasks that are assigned to you.\nThe selected tasks are shown in the time tracker.\n\nHistory of xm.tracker\n=====================\n\n\n1.0.8 (2014-06-16)\n------------------\n\n- Do not use kukit-devel.js in the tracker. It is nice for debugging\n when you are developing on the tracker, but not in production. I\n updated to Firefox 30 and Firebug 2.0 today and the tracker gave a\n javascript error for kukit-devel.js: ``TypeError: 'log' called on an\n object that does not implement interface Console.`` It did work\n when I actually enabled Firebug. Bonus: now it works on Safari too.\n [maurits]\n\n\n1.0.7 (2014-03-31)\n------------------\n\n- Never cache the tracker view. It always needs to be fresh.\n [maurits]\n\n\n1.0.6 (2012-09-12)\n------------------\n\n- Moved to github: https://github.com/zestsoftware/xm.tracker\n [maurits]\n\n\n1.0.5 (2011-05-03)\n------------------\n\n- Removed base2 library from head section. [jladage]\n\n- Fixed translation of invalid time message.\n [maurits]\n\n\n1.0.4 (2010-09-24)\n------------------\n\n- Explicitly load the permissions.zcml file from\n Products.eXtremeManagement, otherwise you can get a\n ComponentLookupError on zope startup.\n [maurits]\n\n- Added z3c.autoinclude.plugin target plone.\n [maurits]\n\n- For entries, always round up to the nearest minute.\n [maurits]\n\n\n1.0.3 (2010-05-03)\n------------------\n\n- Fixed rounding error: hours in entries were counted twice (2:15\n tracked in the timer would mean 2 hours plus (2*60 + 15 = 135)\n minutes = 4 hours, 15 minutes tracked.\n [maurits]\n\n\n1.0.2 (2010-05-01)\n------------------\n\n- Round booked time up to multiple of 15 minutes. Round tracked time\n up to complete minutes.\n Fixes http://plone.org/products/extreme-management-tool/issues/175\n [maurits]\n\n- Specify egenix-mx-base as dependency in setup.py. It is\n easy_installable now. When this is not pulled in automatically you\n can run into seemingly unrelated problems, certainly when you do not\n start the instance on the foreground; not all zcml will be loaded.\n Having it as an official dependency should work fine now, and if it\n fails it is at least explicit about what fails.\n [maurits]\n\n- added german translation. [jensens]\n\n\n1.0.2 (2009-05-05)\n------------------\n\n- Nothing changed yet.\n\n\n1.0.1 (2009-05-05)\n------------------\n\n- Added div #task_selection_form_content to unassigned_task_select.pt\n to provide styling for the unassigned tasks form. [laurens]\n\n\n1.0 (2009-03-15)\n----------------\n\n- select tasks button is now placed inside track time toolbar\n [laurens]\n\n\n1.0rc1 (2009-01-25)\n-------------------\n\n- Tooltip now displays total booked and total tracked. [jladage]\n\n\n0.6 (2009-01-15)\n----------------\n\n- I made changes and didn't publish them in the history file. :) [laurens]\n\n\n0.5 (2009-01-09)\n----------------\n\n- Fix buttons on the 'select task for unassigned entry' form. [mark]\n\n- Reinstate class on 'book to task' button which triggers the\n KSS. [reinout, mark]\n\n\n0.4 (2009-01-07)\n----------------\n\n- Moved \"eXtremeManagement: View Tracker\" permission to\n Products.eXtremeManagement as we do not actually use that permission\n in the xm.tracker package. [maurits]\n\n- Display a warning in a task when it is orphaned (removed, in the\n wrong state). [maurits]\n\n- CSS changes to the tracker interface to visually distinguish tasks with and\n without bookings. [simon]\n\n- Added project-grouping of tasks in the tracker view. [simon]\n\n- Moved timer display to a separate viewlet. And added kss-refreshing of that\n viewlet in two places so that the timer (and especially the tooltip showing\n the booked hours) gets updated on stopping the timer, on editing the time of\n an entry and on adding entries. [reinout]\n\n- Fixed http://plone.org/products/extreme-management-tool/issues/79 by\n not using unicode in one small place. [reinout]\n\n- Added KSS and template changes to allow the 'seconds' part of the tracker\n timer to be individually styled. (This relates to kss.plugin.timer r72297.)\n [simon]\n\n\n0.3 (2008-09-18)\n----------------\n\n- Show the total hours booked plus tracked today as a tooltip on the\n timer. [maurits+simon]\n\n- Do not store the portal_url in the task_url; copying a Data.fs from\n production to a development machine would give you a url to the\n tasks on the production site, which is not handy and can be\n dangerous. After this change you need to remove existing tracker\n tasks and add them again unfortunately. [maurits+simon]\n\n- Bug fix: when the tracker pointed to a task with a Discussion Item\n (comment) in it you would get: 'TypeError: a float is required'.\n [maurits]\n\n\n0.2 (2008-09-17)\n----------------\n\n- Bug fix: a booking for 75 minutes would get stored as 1 hour and\n 75 minutes instead of 1 hour and 15 minutes. [maurits]\n\n\n0.1.1 (2008-09-16)\n------------------\n\n- Removed egenix-mx-base from the install_requires of setup.py as it\n is not easy_installable. Improved docs/INSTALL.txt to explain about\n how to install mx.DateTime. [maurits]\n\n\n0.1 (2008-09-16)\n----------------\n\n- First version. [maurits, reinout, jladage, simon]\n\nxm.tracker Installation\n==========================\n\nTo install xm.tracker into the global Python environment (or a workingenv),\nusing a traditional Zope 2 instance, you can do this:\n\n * When you're reading this you have probably already run\n ``easy_install xm.tracker``. Find out how to install setuptools\n (and EasyInstall) here:\n http://peak.telecommunity.com/DevCenter/EasyInstall\n\n * You may need to manually install mxBase from Egenix; this is needed\n as we use mx.DateTime. It was previously not easy_installable, but\n now this works fine so we have install it automatically as we have\n specified it in the install_requires. Alternatively, get it here:\n http://www.egenix.com/products/python/mxBase/\n\n Your operating system may have a package already that you can\n install. On Ubuntu it is python2.4-egenix-mxdatetime.\n\n * If you are using Zope 2.9 (not 2.10), get `pythonproducts`_ and install it\n via::\n\n python setup.py install --home /path/to/instance\n\n into your Zope instance.\n\n * Create a file called ``xm.tracker-configure.zcml`` in the\n ``/path/to/instance/etc/package-includes`` directory. The file\n should only contain this::\n\n \n\n.. _pythonproducts: http://plone.org/products/pythonproducts\n\n\nAlternatively, if you are using zc.buildout and the plone.recipe.zope2instance\nrecipe to manage your project, you can do this:\n\n * Add ``xm.tracker`` to the list of eggs to install, e.g.::\n\n [buildout]\n ...\n eggs =\n ...\n xm.tracker\n\n * Tell the plone.recipe.zope2instance recipe to install a ZCML slug::\n\n [instance]\n recipe = plone.recipe.zope2instance\n ...\n zcml =\n xm.tracker\n\n * You may need to install mxBase from Egenix manually if the\n dependency fails to install automatically. On Linux/Max you can\n use a buildout recipe::\n\n [buildout]\n # mx-base has to be the first part\n parts =\n mx-base\n ...\n\n ...\n\n [mx-base]\n recipe = collective.recipe.mxbase\n\n On Windows we have seen this fail. In that case, you can get an\n installer here: http://www.egenix.com/products/python/mxBase/\n\n Your operating system may have a package already that you can\n install instead. On Ubuntu it is python2.4-egenix-mxdatetime.\n\n * Re-run buildout, e.g. with::\n\n $ ./bin/buildout\n\nYou can skip the ZCML slug if you are going to explicitly include the package\nfrom another package's configure.zcml file.\n``Products.eXtremeManagement`` does this.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://plone.org/products/extreme-management-tool/", "keywords": "xm timetracker", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "xm.tracker", "package_url": "https://pypi.org/project/xm.tracker/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/xm.tracker/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://plone.org/products/extreme-management-tool/" }, "release_url": "https://pypi.org/project/xm.tracker/1.0.8/", "requires_dist": null, "requires_python": null, "summary": "A time tracker based on the concepts of gtimelog", "version": "1.0.8" }, "last_serial": 1126214, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "21f269faaa9634eac1ce2b32d3dd9896", "sha256": "c06e38e1fb977fba195310e998ab96de7b95c347afa012bbe5b1d2649e0020da" }, "downloads": -1, "filename": "xm.tracker-0.1.tar.gz", "has_sig": false, "md5_digest": "21f269faaa9634eac1ce2b32d3dd9896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32732, "upload_time": "2008-09-16T14:23:19", "url": "https://files.pythonhosted.org/packages/a6/89/596df13348bc858edd6f81f60411757f1fce556668aee98a8bc40dc41717/xm.tracker-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "311e21b358a07374cfdd2060d2757d70", "sha256": "33fc627590096be3f3bc1577d3bca8ef5bb546414c9145d971e6323999d6627a" }, "downloads": -1, "filename": "xm.tracker-0.1.1.tar.gz", "has_sig": false, "md5_digest": "311e21b358a07374cfdd2060d2757d70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32571, "upload_time": "2008-09-16T15:38:49", "url": "https://files.pythonhosted.org/packages/f3/f6/be98c3f9933f72dbf606b53059d8ef41fc232b80d902827d9bcfd122f9ff/xm.tracker-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ea21a6426b7102f42868c5434fc7f46a", "sha256": "3c0deb26feccd4ad44a2970f1a74499c6fa7d8256bece7d86f377b72b3320828" }, "downloads": -1, "filename": "xm.tracker-0.2.tar.gz", "has_sig": false, "md5_digest": "ea21a6426b7102f42868c5434fc7f46a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32596, "upload_time": "2008-09-17T21:05:22", "url": "https://files.pythonhosted.org/packages/9a/3f/e6873e7c6e1624e94645d26a74edb17e8681daf5d90f12d8f2a367648fe3/xm.tracker-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "7451716291b4aff6541a5e021c32c0e4", "sha256": "2923fedeef7c9ee0046e55c71bf8fdc8c7664eca1dd2db7f0ac194bb6f3510db" }, "downloads": -1, "filename": "xm.tracker-0.3.tar.gz", "has_sig": false, "md5_digest": "7451716291b4aff6541a5e021c32c0e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33340, "upload_time": "2008-09-18T17:22:08", "url": "https://files.pythonhosted.org/packages/4b/66/dbbe2870af9dfebc5ca3c1a225810ada1849a50a146c7f616cb62aff4b98/xm.tracker-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "ef4ee5dc5463d379d5225e8d6283bef4", "sha256": "e1c892cc69bfbbe90e59730490365aaadc33988802c6e3f1cefa81772486d7f7" }, "downloads": -1, "filename": "xm.tracker-0.4.tar.gz", "has_sig": false, "md5_digest": "ef4ee5dc5463d379d5225e8d6283bef4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43910, "upload_time": "2009-01-07T13:08:54", "url": "https://files.pythonhosted.org/packages/f6/30/7a644b6c1dab545199e8e35e734149c2dab40bb9bcb483b362db5e5bbc43/xm.tracker-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "2c9474eb3895b8a19701a6dbe705e083", "sha256": "9998a223247591537682776709f68d26e4421a56ff1ad9f0282737ffdfbbe43f" }, "downloads": -1, "filename": "xm.tracker-0.5.tar.gz", "has_sig": false, "md5_digest": "2c9474eb3895b8a19701a6dbe705e083", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44143, "upload_time": "2009-01-09T15:28:12", "url": "https://files.pythonhosted.org/packages/ed/e7/e2c9f2bc20f2f70cd87318274fad84a0742e0744f04d259623956118cdb3/xm.tracker-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "7314d2fef2a93843a1aa4f475de45bb2", "sha256": "cea7eeb103fd54b4d9d0487941bded239470ff639733fe5a1e928bd6d31a0a9b" }, "downloads": -1, "filename": "xm.tracker-0.6.tar.gz", "has_sig": false, "md5_digest": "7314d2fef2a93843a1aa4f475de45bb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44224, "upload_time": "2009-01-15T16:23:39", "url": "https://files.pythonhosted.org/packages/16/85/38833555c0614caac5a18239155bf9d2bcdd341d42767ffef5a49a34139c/xm.tracker-0.6.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "4fc488fa0e1100b10e390633d77c87c1", "sha256": "dabd0b40ae255c82849dba2055bdbe8f105114f33c214294426bf0ab1fc1de68" }, "downloads": -1, "filename": "xm.tracker-1.0.tar.gz", "has_sig": false, "md5_digest": "4fc488fa0e1100b10e390633d77c87c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46511, "upload_time": "2009-03-15T11:05:25", "url": "https://files.pythonhosted.org/packages/47/22/a209289d409d101b737470e81f45756ed3abd46be295c8248649efb30311/xm.tracker-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "52a3d81fc3d531e8a95a22e2b40c1ae8", "sha256": "b01e50ba5c89378a2cd63ef7237f01a404dcf6d1791c8e8fc8c5439045580ee1" }, "downloads": -1, "filename": "xm.tracker-1.0.1.tar.gz", "has_sig": false, "md5_digest": "52a3d81fc3d531e8a95a22e2b40c1ae8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46743, "upload_time": "2009-05-05T18:29:45", "url": "https://files.pythonhosted.org/packages/3d/9d/8d0d00a698712a149bd35ac3acfcc4b2dc8eec219b3a322d996f1cff8548/xm.tracker-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "43b67890fa3a1f0ef89ac1da277240a4", "sha256": "c86297811e9f6e12aeaaa7c5608486b873137a7d312f29e93e958cdbab7670df" }, "downloads": -1, "filename": "xm.tracker-1.0.2.zip", "has_sig": false, "md5_digest": "43b67890fa3a1f0ef89ac1da277240a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79974, "upload_time": "2010-05-01T01:24:49", "url": "https://files.pythonhosted.org/packages/e2/5f/d961374eab90b5b8e56daf9d9f4dbac360296e305498bdc9352003f13ae4/xm.tracker-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a89b5cc92157da81ac30066eff30aa50", "sha256": "ff565ba33d942af2e012d15dd43a6096edf955eab7aaa7fa8dd71bd4752cf5ce" }, "downloads": -1, "filename": "xm.tracker-1.0.3.zip", "has_sig": false, "md5_digest": "a89b5cc92157da81ac30066eff30aa50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80569, "upload_time": "2010-05-03T16:43:07", "url": "https://files.pythonhosted.org/packages/8d/8f/e0f8f172b95068cfcace2f800cda6564c0ff31745431eb91ea0cc2e799ec/xm.tracker-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "d00b1d3dc2a6ca21d360d95b715696e5", "sha256": "cc869da698a1ea3c9fc8872303f913d8ed8c875c9527e2a2ba6b41536f74c461" }, "downloads": -1, "filename": "xm.tracker-1.0.4.zip", "has_sig": false, "md5_digest": "d00b1d3dc2a6ca21d360d95b715696e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80927, "upload_time": "2010-09-24T04:25:13", "url": "https://files.pythonhosted.org/packages/cb/6b/0061bfe835fa74816a43f29f043e92e607b36ffa4641a969f68fae53a391/xm.tracker-1.0.4.zip" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "679267cb9e3ad1a374cbeccbf5f899e1", "sha256": "5ef2569264fa4ac84554f380649f48b987e2126b6ebed55b611928e8151ee912" }, "downloads": -1, "filename": "xm.tracker-1.0.5.zip", "has_sig": false, "md5_digest": "679267cb9e3ad1a374cbeccbf5f899e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81120, "upload_time": "2011-05-03T16:34:45", "url": "https://files.pythonhosted.org/packages/23/ee/62d44303b50726ff2bb3347df5825aee155cb8b39193cf60a90041374ce2/xm.tracker-1.0.5.zip" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "3dc520b11ca4ca310bd03d7846e7376a", "sha256": "66442b4b019c4a877b543cdb981f40fa2c4d08086c959441c1593ace30967a17" }, "downloads": -1, "filename": "xm.tracker-1.0.6.zip", "has_sig": false, "md5_digest": "3dc520b11ca4ca310bd03d7846e7376a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85848, "upload_time": "2012-09-12T16:57:30", "url": "https://files.pythonhosted.org/packages/66/04/96ba75f7b7d0a2a032b07c2420478297846b09f6de3eec8d59b646bf156a/xm.tracker-1.0.6.zip" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "80c6b1881414d056cd9af15742f1f80e", "sha256": "3b0ce3c2084fec9b20c4a64d87cb36faaa5ad1c97346187c56eb0a9730c88e2d" }, "downloads": -1, "filename": "xm.tracker-1.0.7.zip", "has_sig": false, "md5_digest": "80c6b1881414d056cd9af15742f1f80e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86098, "upload_time": "2014-03-31T11:00:15", "url": "https://files.pythonhosted.org/packages/c0/c7/40c20cd71bf179c4598461bd47b67f923bf05b1d8b38a704e6d2bd2ca85b/xm.tracker-1.0.7.zip" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "f374dff487377c8cc52c53b9dffdeee0", "sha256": "65c06f5426f8bbff2694cd0130fe32baba630ab6169bcacab38398da06c1cd6c" }, "downloads": -1, "filename": "xm.tracker-1.0.8.zip", "has_sig": false, "md5_digest": "f374dff487377c8cc52c53b9dffdeee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86693, "upload_time": "2014-06-16T10:06:59", "url": "https://files.pythonhosted.org/packages/61/f7/fec5e6dbbe1e67c11c783d13d245f7a34e33d5385034f12b3b526555fd81/xm.tracker-1.0.8.zip" } ], "1.0rc1": [ { "comment_text": "", "digests": { "md5": "855955c17ce7d0375a71ff905f1347ac", "sha256": "a293aa961b2575b5ac00315ad1995da69fbe11fe8d6868c9979c17642390e45a" }, "downloads": -1, "filename": "xm.tracker-1.0rc1.tar.gz", "has_sig": false, "md5_digest": "855955c17ce7d0375a71ff905f1347ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45720, "upload_time": "2009-01-25T20:26:57", "url": "https://files.pythonhosted.org/packages/76/c5/fdd98fb34f274b090096d0ec71ba6957b32bb0e618e2a772e6ff8def6fdb/xm.tracker-1.0rc1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f374dff487377c8cc52c53b9dffdeee0", "sha256": "65c06f5426f8bbff2694cd0130fe32baba630ab6169bcacab38398da06c1cd6c" }, "downloads": -1, "filename": "xm.tracker-1.0.8.zip", "has_sig": false, "md5_digest": "f374dff487377c8cc52c53b9dffdeee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86693, "upload_time": "2014-06-16T10:06:59", "url": "https://files.pythonhosted.org/packages/61/f7/fec5e6dbbe1e67c11c783d13d245f7a34e33d5385034f12b3b526555fd81/xm.tracker-1.0.8.zip" } ] }