New to ETM

123 views
Skip to first unread message

Tim

unread,
Feb 20, 2012, 5:52:35 PM2/20/12
to Event and Task Manager
I just discovered ETM. I was using the online "Plancake", but had
some issues with some of their non-GPL restrictions.

I would suggest the freecode.com (formerly freshmeat.net) tags for ETM
include "GTD". If that had been there I might not have wasted time
with Plancake.

Anyway, after using ETM for a few weeks, I've got some ideas for
additions:

1) Optionally store the data in CouchDB documents instead of flat
files. This would allow you to have ETM instances run on multiple
machines and sync up with each other.

2) Create an Android version. Coupled with #1, this would allow you
to make changes on-the-go while having a background service sync up
with your "main" instance. (CouchDB is available for Android.) Being
written in Python, I don't know how hard this would be since most
Android apps are written in Java. Use Jython, perhaps? I started
digging into the code to see how hard this would be to port to
Java.... ETM seems to make heavy use of the DateUtils python package.
I couldn't find a Java package that does some of the cool things the
python package does, unfortunately.

3) Web interface, perhaps?

Even if no one wants these features, I may still work on them in the
future (in my huge amount of free time... hahahaha!) and submit them
back in case anyone else wants it...

Keep up the good work!

- Tim

Dan

unread,
Feb 21, 2012, 5:37:29 PM2/21/12
to eventandt...@googlegroups.com
Tim,

Welcome to etm and thanks for your suggestions.

I've added "GTD" to the freecode tags.

As you suspect, dateutils is essential to etm. In fact, I think of etm as a user-friendly wrapper around dateutils. And even if there were a java alternative for DateUtils, I love python too much to switch.

If I were ever to adopt a client-server framework, it would most likely be based on web2py and Google's App Engine.  This would be a big change, though, and I'm not sure how many would be interested.

Still, I am thinking of providing a database alternative to flat file storage using SQLite which is a python built-in and does not require running a separate server. Part of this development would be support for Qt using  PyQt or PySide.  QtMobility would then allow deployment on various mobile devices including android.

So far as syncing is concerned, there is an easy current alternative for single users using Dropbox or some other similar service. Just put your etm data directory in your Dropbox folder and every computer you use will have access to the current data since etm automatically checks for file changes once every minute and reloads the data if any changes have occurred.

-Dan

Tim

unread,
Feb 22, 2012, 11:44:18 AM2/22/12
to Event and Task Manager
I'll look at those ideas you mention. I've never done much with
Python, but need to learn it for another project I'm working on. I
was considering just doing an rsync to keep things in sync, but
dropbox sounds like a better idea. I'll definitely look into that!

Tim

lawquest

unread,
Feb 26, 2012, 6:05:21 PM2/26/12
to eventandt...@googlegroups.com
I'm walking in some tall cotton here.   But I might have something to add on the issue of whether there would be interest.  Generally probate and bankruptcy proceedings require lawyers and paralegals to submit hourly based time records for approval prior to payment.  My probate paralegal has some interest in using ETM to keep her time.   She recognizes that ETM is better at this than her current way of doing it, being to keep her time as a google docs text file.  At the end of the month, I put my etm hours up on google docs.  The bookkeeper keeps the text and puts the hourly totals and client information into our accounting program.

If the paralegals starts using ETM, we would inevitably soon want to figure out how we could coordinate our calendars, deadlines, etc.

Also, my bookkeeper tells me that I should learn how to save my gnucash accounting records to SQLite.  Another project.  Another day.

John

Adam

unread,
Feb 29, 2012, 4:27:17 PM2/29/12
to Event and Task Manager
lawquest,

We are currently using ETM in a multi-user environment by leveraging
ETM plain text files and a version control system (such as
Subversion). We are able to see shared calendar items as well as log
time and generate reports of time for one or more people. It has been
working pretty well for over a year now. The version control system
also provides a permanent, traceable history of every change to
calendars and time logs and can be used for making and archiving
billing reports as well.

Our basic file structure looks like this:
- etm data directory
| personal task files calendar items, etc.
| shared data
| shared calendars
| time logs

Everything in the shared data directories and below is part of a
version control system. Each person puts their time entries in a file
dedicated to them (e.g. actn_xyz.text where 'xyz' is person's
initials). We have a company calendar file as well a user-specific,
shared calendar files in the shared calendar folder. Each time a
calendar item is modified, the file is committed to the version
control system and other people can update and see it immediately. At
least once at the close of each month, everybody commits their final
monthly time logs, which can then also be seen by everyone after they
update. Even if two people modify the same calendar file (i.e. the
company calendar), the version control system is able to merge the
changes together in most cases because they are plain text. There is a
permanent history of all of these changes. For example, we could go
back to a calendar from 9 months ago if we needed to, or we could find
a time entry error from 6 months ago if there was some question.

The personal area is where you can keep your tasks or other personal
calendar items that you don't need to share with others. Using filters
on files, such as '-f !calXYZ', allows you to hide items from other
people that you don't care to see all the time. At the same time, a
single person is able to roll up the action entries of any person or
group of people for billing/accounting purposes. Because of the unique
files that each person uses for action entries, we don't need to use
the @U user field in our entries.

Hopefully this helps give you an idea how we have set up ETM for a
multi-user environment. We are in a virtual office as well, so we are
all located in different places yet are able to share information
seamlessly.

lawquest

unread,
Mar 1, 2012, 5:06:22 AM3/1/12
to eventandt...@googlegroups.com
Wow.  Impressive.  I have read your email a couple of times and need to read it at least a couple of more times.  But I think I get the general idea.  Am I right to assume that you are doing this on a network, or some kind of common hard drive?

John

Adam

unread,
Mar 2, 2012, 9:35:35 AM3/2/12
to Event and Task Manager
John,

Yes, we run a version control system server on a server within our own
network. There are many possible arrangements on this ranging from
externally hosted to file shares to WebDAV. The particular setup that
you select might affect the implementation slightly.

Adam

Dan

unread,
Mar 17, 2012, 9:30:08 AM3/17/12
to eventandt...@googlegroups.com
Adam,

Thanks very much for sharing this!

From what you say I'm guessing that you use actions but not events for accounting purposes and that you use the project / file for totals and subtotals. Do you make any use of keyword or context for accounting?

-Dan

Adam

unread,
Mar 19, 2012, 10:43:02 AM3/19/12
to Event and Task Manager
Dan,

Yes, we use actions for accounting purposes. The automatic inclusion
of events in time roll-ups within etm actually requires us to filter
out everything except for action entries. Otherwise, events get added
in as well. If we attend an event, we simply make a corresponding
action entry that has the actual time commitment (if the meeting goes
long or short, for instance).

We actually use keywords and contexts for accounting. Our keywords
handle the breakdown of customer:project:category:etc. The keywords
file is shared within the version control scope so that everyone is
making entries that are identical. The ability to further filter
deeper keyword depth (similar to pre-800 releases; beyond k3) would be
a welcome return to etm! We're using contexts to be able to filter
classes of work (e.g. admin vs. technical) to flag different billing
rates in our accounting system.

For final end-of-month roll-ups, we generally go across project files
(people) and group by client and project, although we certainly use
many other groupings for business analysis purposes.

Dan

unread,
May 11, 2012, 1:09:31 PM5/11/12
to eventandt...@googlegroups.com
Adam,

Arbitrarily deep keywords are indeed planned for etm 2.  The issue is how to represent the parts when grouping for reports. If, for example, all keywords had a depth of 3 or more then you could use something like -g (k[:2], (y,m), k[2:]) to group by the first two keyword components combined, then year and month and finally the remaining keyword components combined.  Alternatively, -g (k[0], (y,m), k[1], k[2:]) would group by the first component, then year and month, then the second component and finally the remaining components combined.  Would something like this work for you?  Let me know as precisely as possible what you would like to be able to do and I'll try to make it work.

-Dan  

lawquest

unread,
May 15, 2012, 1:04:07 AM5/15/12
to Event and Task Manager
Adam/Dan,

Could one of you explain the basic advantages/disadvantages of doing
it Adam's way versus just putting etm in the dropbox folder?

John

lawquest

unread,
May 31, 2012, 2:51:01 PM5/31/12
to eventandt...@googlegroups.com
Well, silence is golden, I suppose.  I am going to try etm on google's new drive.  As I understand it, I first create a google group consisting of those I want to be able to see my etm, then upload it to google drive, then share with the group.  I will try this as time permits and report.

Rodrigo Bistolfi

unread,
May 31, 2012, 3:24:03 PM5/31/12
to eventandt...@googlegroups.com
Sorry guys, I wanted to send a mail to my friend John and I hit the
wrong button. I will pay more attention the next time :)

Adam

unread,
Aug 18, 2012, 12:27:31 AM8/18/12
to eventandt...@googlegroups.com
Dan,

Sorry for the delay. Things have been busy lately and I've had to keep my head down and focused. I think what you have said here sounds workable from an interface standpoint. I'll keep thinking about it. I need to review and comment on the Sneak Peak as well.

Adam
Reply all
Reply to author
Forward
0 new messages