Timesheet file build processing


The first step of the timesheet processing cycle (see user ‘how to’ notes document), takes in the individual note files and create a timesheet, one for each note file.  The time sheets first three lines


Wednesday 1-4


=time.



The first line of the timesheet comes from the first line of the note file, character for character.  After that the program starts inserting time entries that line up with the times on the text blocks that are not marked ’n’.  All time text blocks marked with an ’n’ are ignored in this part of the process.


Let’s assume look at the sample note file shown above.  The first line shows…



611-8 / triage emails / 09:00-09:30 / t




Since the header has a ’t’ notation, it will be included in the timesheet.  If this was the only entry in the file, the finished timesheet file would look like this…


Wednesday 1-4


=time.

@ 0900 - p06011 - #0008 - triage emails

@ 0930 - leave  -

=end.



Each time file has a “=time.” and “=end.” entry in it to bookend the individual time entries.  The program assumes that you really can only do one thing at a time and that from the start time you are engaged in the activity described by the codes and description from the note file.  In this situation, the user started ‘triage emails’ for client 6, task 11, subtask 8 at 9am and finished at 9:30am.  The format of this file is important for the summation program to work correctly.  If the format is violated, the summation program will not work properly. 


The second text block header in the file looks like this…



61-2 / 09:30-10:00 / x




Since the type code is an ‘x’, this line also ends up as a entry into the timesheet.  The timesheet line description comes from the first line of the text block.


Wednesday 1-4


=time.

@ 0900 - p06011 - #0008 - triage emails

@ 0930 - p06001 - #0002 - look at promotes - scott-a finished 42294

@ 1000 - leave  -

=end.



The third text block header in the file looks like this…



61-2 / n




This header has a type code of ’n’, so it will not be used in the timesheet build.


The fourth text block header in the file looks like this…



61-2 / 10:00-10:25 / x




Since the type code is an ‘x’, this line also ends up as a entry into the timesheet. 


Wednesday 1-4


=time.

@ 0900 - p06011 - #0008 - triage emails

@ 0930 - p06001 - #0002 - look at promotes - scott-a finished 42294

@ 1000 - p06001 - #0002 - lmeeting: january window review

@ 1025 - leave  -

=end.



Note that the description came from the first line of the text block. 


Each line of the timesheet is processed until the timesheet is completely built.  Any gaps in time are accounted for as ‘lunch’ times and are ignored by the timesheet summary program.  The final timesheet for this note file is as follows…


Wednesday 1-4


=time.

@ 0900 - p06011 - #0008 - triage emails

@ 0930 - p06001 - #0002 - look at promotes - scott-a finished 42294

@ 1000 - p06001 - #0002 - meeting: january window review

@ 1025 - p06008 - #5047 - talked to john heid and he says that what we have is ok

@ 1040 - p06024 - #0005 - talked to tom about fixing up correct backstock fact programs

@ 1050 - p06017 - #6966 - worked with tom on some basic environment setups

@ 1145 - p06002 - #0001 - showed tom some odds and stuff with the mac software

@ 1200 - lunch  -

@ 1315 - p06011 - #0010 - look at blue light from last week

@ 1330 - p06002 - #0005 - volunteered to help CPI with test plan information

@ 1335 - p06001 - #0002 - agreed to the company ethics policy and filled out necessary forms

@ 1340 - p06011 - #0008 - triage emails

@ 1400 - p06011 - #0008 - pulled together some emails for jlat

@ 1500 - p06001 - #0002 - meeting: weekly leadership meeting

@ 1520 - p06011 - #0008 - got a call from flat

@ 1530 - p06001 - #0002 - meeting: weekly leadership meeting

@ 1600 - p06002 - #0002 - DKHI0004 is getting patches from IBM after 5pm on Thursday

@ 1620 - p06011 - #0008 - pulled together some emails for jlat

@ 1640 - lunch  -

@ 2145 - p06001 - #0001 - get organized

@ 2200 - leave  -

=end.



The gap between 12pm and 1:15pm was not in any time block listed and is marked as ‘lunch’.  ANY time gap will be marked that way as you can see from the tape between 4:40pm and 9:45pm is also recorded as ‘lunch’.


A text block can have multiple time spans as in the following…


611-8 / 14:00-15:00 / 16:20-16:40 / x

pulled together some emails for jlat

first were VASNs that came down very twice very close

i asked what types of VASNs they were

then i saw some larger ones that were split between two files

do we have the data corresponding to my L3 files on tape?

yes, did some searches to find it

got the tape with the data on that matches my data 

i got two tapes to pick from 

PL 12-11 is AP0615 and PL 12-18 is AP0632 and AP0633 *****

i can move AP0633 to test and keep it around for an extra 30 days 

i can get the data off of the tape and see what they sent me

i'll take two examples and work them out i suppose



This time block will cover two time spans, from 2pm to 3pm and from 4:20pm to 4:40pm and if you review the timesheet, it has been recorded this way.


Overlapping times are resolved by the processing program as per a set of rules.  The largest time span is always considered the primary time span and any other time spans within that split the largest time span into parts.    This particular example does not have any overlaps in it but the process can handle these situations.


Let’s assume that two more text blocks are in the file and that they look like this…


62-1 / 14:10-14:20 / x

talk to help desk about user password procedures


62-5 / 14:40-14:50 / x

dan-d concerning next week’s design meeting for TPE



Both of these tasks are in the time described by this block…


611-8 / 14:00-15:00 / 16:20-16:40 / x

pulled together some emails for jlat

first were VASNs that came down very twice very close

i asked what types of VASNs they were

then i saw some larger ones that were split between two files

do we have the data corresponding to my L3 files on tape?

yes, did some searches to find it

got the tape with the data on that matches my data 

i got two tapes to pick from 

PL 12-11 is AP0615 and PL 12-18 is AP0632 and AP0633 *****

i can move AP0633 to test and keep it around for an extra 30 days 

i can get the data off of the tape and see what they sent me

i'll take two examples and work them out i suppose



The original timesheet file is altered to look like this instead.  The part changed is bolded.


Wednesday 1-4


=time.

@ 0900 - p06011 - #0008 - triage emails

@ 0930 - p06001 - #0002 - look at promotes - scott-a finished 42294

@ 1000 - p06001 - #0002 - meeting: january window review

@ 1025 - p06008 - #5047 - talked to john heid and he says that what we have is ok

@ 1040 - p06024 - #0005 - talked to tom about fixing up correct backstock fact programs

@ 1050 - p06017 - #6966 - worked with tom on some basic environment setups

@ 1145 - p06002 - #0001 - showed tom some odds and stuff with the mac software

@ 1200 - lunch  -

@ 1315 - p06011 - #0010 - look at blue light from last week

@ 1330 - p06002 - #0005 - volunteered to help CPI with test plan information

@ 1335 - p06001 - #0002 - agreed to the company ethics policy and filled out necessary forms

@ 1340 - p06011 - #0008 - triage emails

@ 1400 - p06011 - #0008 - pulled together some emails for jlat

@ 1410 - p06002 - #0001 - talk to help desk about user password procedures

@ 1420 - p06011 - #0008 - pulled together some emails for jlat

@ 1440 - p06002 - #0005 - dan-d concerning next week’s design meeting for TPE

@ 1450 - p06011 - #0008 - pulled together some emails for jlat

@ 1500 - p06001 - #0002 - meeting: weekly leadership meeting

@ 1520 - p06011 - #0008 - got a call from flat

@ 1530 - p06001 - #0002 - meeting: weekly leadership meeting

@ 1600 - p06002 - #0002 - DKHI0004 is getting patches from IBM after 5pm on Thursday

@ 1620 - p06011 - #0008 - pulled together some emails for jlat

@ 1640 - lunch  -

@ 2145 - p06001 - #0001 - get organized

@ 2200 - leave  -

=end.



There is no requirement for the times of the text blocks in the note file to be in ascending order.  The program reads the blocks and re-sorts them in start time sequence and then remediates the time overlaps.  However, time spans which are later in the file have more precedence that time spans which are later in the file. 


Time overlaps can be pretty messy with multiple overlapping time spans but the program should be able to sort them out.  However, if the two different text blocks claim parts of the same time span, the program will choose one over the the other and you might not be happy about this choice it makes so it is best to clean up the note files as much as possible before running them through the processor.  In general, it will start with the time block with the earliest starting time and cut up that time span to fit any subsequent time spans. 


The overlap remediation process is designed to process one large block of time that covers a couple smaller blocks of time that occur with in it’s span.  So, if you are working all afternoon on some sort of coding project, you’d record that as one time block spanning from 13:00 through when you finished, say 17:30.  The overlap process let’s you define several small blocks within that bigger time span which would represent interruptions or other tasks that came up and had to be dealt with. 


Here is an example of that..


611-8 / 14:00-16:40 / x

pulled together some emails for jlat

first were VASNs that came down very twice very close

i asked what types of VASNs they were

then i saw some larger ones that were split between two files

do we have the data corresponding to my L3 files on tape?

yes, did some searches to find it

got the tape with the data on that matches my data 

i got two tapes to pick from 

PL 12-11 is AP0615 and PL 12-18 is AP0632 and AP0633 *****

i can move AP0633 to test and keep it around for an extra 30 days 

i can get the data off of the tape and see what they sent me

i'll take two examples and work them out i suppose


62-1 / 14:10-14:20 / x

talk to help desk about user password procedures


62-5 / 14:40-14:50 / x

dan-d concerning next week’s design meeting for TPE


611-8 / 15:10-15:45 / x

asked mike-h about outsourcing comments during his presentation last week

push from prashoon to use some outsourcer contracting company

use this relationship as much as possible for contracted info

we need to have them send us resumes

ok, we can fix that game if we need to



In this situation, the main block runs from 14:00 through 16:40 and is split by three other smaller tasks.  There’s nothing wrong with the last 15:10 through 15:45 task running later than 16:40.  The program should be able to handle this though for best results and more predictable results, it might be best to resolve that yourself before you run it through the processor.


In certain circumstances it is possible for a time span of a text block to be completely eliminated and the entry turned into note entry.  For example, two text blocks may have the identical time spans in the note file.  The system will turn the first into a note and will record the time in the timesheet under the second task.  The first text block won’t disappear but the text block time span will be squeezed out of the timesheet.


Please be aware that the final timesheet output file is an RTF file format and can be edited by any word processor or text editor which can handle RTF format.  So if there is something that you don’t like in there, you can edit it out after Timesheet Builder+ has done most of the initial work.