emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adding Org Files to org-agenda-files


From: Tim Cross
Subject: Re: Adding Org Files to org-agenda-files
Date: Sun, 29 Nov 2020 16:23:05 +1100
User-agent: mu4e 1.5.7; emacs 27.1.50

daniela-spit@gmx.it writes:

>> Sent: Sunday, November 29, 2020 at 4:51 AM
>> From: "Tim Cross" <theophilusx@gmail.com>
>> To: daniela-spit@gmx.it
>> Cc: emacs-orgmode@gnu.org
>> Subject: Re: Adding Org Files to org-agenda-files
>>
>>
>> daniela-spit@gmx.it writes:
>>
>> >  #44935
>> >
>> >> Initially, I put pretty much everything into the agenda file list. This
>> >> worked fairly well until the size of these files began to get very
>> >> large. The biggest problem I had was my agendas were just getting too
>> >> large and complicated/distracting.
>> >
>> > I have constructed four different Capture Templates and four Org Agendas
>> > and then I can fire up the ones I want as I am working.
>> >
>> >> I then moved to a workflow where the agenda files really only contained
>> >> tasks and notes, references, pretty much everything else was put into
>> >> other org files not part of the agenda file list. I didn't like that
>> >> workflow. It complicated refiling and I lost the ability to keep all
>> >> related things together in a meaningful way.
>> >
>> > Have made capture and agenda by project, and then some functions
>> > that group some of them together.  Not so sure how good it is going
>> > to until I have used for proper work.
>> >
>>
>> I went down a similar route initially. In the end, found it was much
>> better to define your capture templates to be generic i.e. not tied to a
>> specific project, but rather based on what you are capturing and then
>> use things like tags and properties (which you can have capture prompt
>> for) to capture project specific information.
>
> That looks adequate at first, but what if you want the history for a project
> and gaant charts on how time was spent.  I mainly want it to figure out
> if jobs are worth stopping or changing.
>

Not a problem. The thing to remember is that org allows you to 'report'
at different levels. You can have a report which considers all your
agenda files, or one which only considers a specific file or one which
only considers a specific subtree within a file.

I have an org file for each major project and a projects
file for smaller projects (and an org file for each client, which I view
as really being a project!).

The tasks associated with a project belong in the appropriate project
file (which is where they end up when I refile them).

I may have multiple 'sub-projects' within a project. This is determined
by what 'level' the task sits at. I might have a project
my-big-project.org. Inside that project, I might have headings for
Research, Development, Maintenance, Bugs & Issues, Documentation,
Meetings etc. Inside each of those headings I might have tasks (possibly
with sub-tasks and sub-sub-tasks etc).

So, lets say I have a Research subtree with the following tasks

* Research
** TODO Explore enhancement to HTTP/2 [0/4]
*** TODO Research HTTP/2
*** TODO Implement HTTP/2 in feature branch
*** TODO Test and benchmark HTTP/2
*** TODO Generate report for board
** TODO Migrate from REST to GraphQL API
*** TODO Research graphql
*** TODO Plan graphql implementation
*** TODO Implement new API
*** TODO Plan migration to production
**** TODO Merge into master
**** TODO Update API documentation
**** TODO Coordinate release with PROD team

All of the tasks have been captured using the same TODO capture
template. I can easily generate reports on total time spent in
development, total time spent in development for each main 'feature' or
time spent in each sub task or sub-sub task etc simply by selecting
different 'scope' and 'level' settings for the clocktable report.

In my project org files, I have a heading called '* Clocks', where I
have all my clock reports. I will have as many different clock reports
as required. For example, I might have one which clocks the time for all
tasks in the file with up to 3 levels, then I might have one which only
clocks the time for tasks in a specific subtree or perhaps one which
only clocks/summarises times for tasks with a specific tag. It is very
flexible.

I can easily see breakdown of time spent on specific tasks, groups of
tasks, project tasks, all tasks etc. All my tasks have basically the
same format and are captured using the same capture template. when a
clocktable report includes multiple files, there is a column which tells
you which file the task is in (if you want it). The clocktable can use a
single file, all files in your agenda, a list of files you specify, a
subtree within a file etc.

When I was forced to generate gant charts etc, I actually used task
juggler. There is a contrib library for it to make it work with org
files. It is a bit dated now and probably needs to be 'refreshed'. There
were a couple of irritating limitations which needed some hand tweaking
of the generated task juggler files, but it worked pretty well. Luckily
for me, I don't tend to work in projects which use gant charts anymore,
so it isn't something I've needed for a while. However, there was no
need for special capture templates (from memory, it was some years back,
I think there are some additional properties you may need to add, but
you can incorporate those into a capture template as well or just add
them afterwards when required).

>> So I have the following capture templates
>>
>> - TODO to capture basic tasks
>>
>> - phone which I use to capture phone call information and track time.
>>   Actually, although it is called phone, I use it for any meeting type
>>   thing. I have to track time for billing purposes and need to record
>>   date and time of call for tracking purposes
>>
>> - Mail to track important emails. Adds a link to the original message (I
>>   read email using mu4e).
>>
>> - Notes For capturing general note information
>>
>> - Bookmarks - I have a bookmarks.org file where I keep links to
>>   'interesting' things. Might be web sites, man pages, info pages etc.
>>
>> - protocol capture - for org protocol capture handler e.g. capturing
>>   info from web pages in chrome.
>
> I got the same things actually.  Nothing too drastic.
>
>> That is about it. My approach is to make capture as quick and easy as
>> possible. I usually just want to capture something and file it away to
>> get it out of my head and let me focus on what I was doing.
>
> Same here, except for the tracking bit.
>
>> All my capture templates write to a file called refile.org. When
>> capturing data, I don't need to think about where it goes, just capture
>> it an move on. At the start of each day, I open up the refile.org file
>> and 'refile' the entries, which is just a couple of key presses, into
>> the most appropriate org file. Many (not all) of the headings I refile
>> under will add appropriate tags via the org tag inheritance process,
>> which I use in various agenda views. This reminds me of what I have on
>> my plate and helps me plan my day. I was initially worried that having
>> to do this refiling every day would be a hassle. In fact, it has turned
>> out to be a bonus and rarely takes more than a couple of minutes, yet
>> not having to worry about where to file something right when I'm
>> capturing it is a great bonus as it makes it really fast. A meeting or
>> phone conversation which a client might result in me using capture
>> several times as I record tasks or notes.
>>
>> I have a few stored agenda searches and a couple of customised agenda
>> views, plus I frequently make use of the tags to do ad hoc searches. I
>> have also defined additional TODO states (TODO, NEXT, STARTED, HOLD,
>> DELEGATED, CANCELLED and DONE). Some are setup to prompt for an
>> additional note e.g. DELEGATED to let me specify who it is delegated to
>> and HOLD to specify why it is on hold).
>
> I have done that but not done any customised agenda views.  Seems quite
> difficult for me.
>

You are unlikely to need any customized agenda views initially. It
really just depends on how you like to work. I have one I use daily, but
can achieve the same thing using the existing capabilities - having a
custom agenda view just means a few less key presses.

>> The rest of my org customisation is mainly about data exports (tweaking
>> PDFs, HTML, Markdown exports, babel settings and specialised reports,
>> such as timesheets or invoices). I use org for all my documentation and
>> some work situations and clients want these documents to comply with
>> their corporate standards e.g. include logos, specific colours and fonts
>> etc).
>
> That's too advanced for me.

and you probably don't need to worry about it. It is all about what you
need. In fact, most of the advanced customisation I did to have colour
and logos in generated PDFs was for a specific government client where
bureaucracy and forced standards were easier to comply with than argue
against. I have used Latex for many years, so am quite comfortable with
making changes to how Org generates PDFs. If you have that knowledge, it
is actually very easy.

My invoicing stuff was something I put together just for my own
specific needs (someone else has actually asked about it, so I'm
creating a github repo for it).

--
Tim Cross



reply via email to

[Prev in Thread] Current Thread [Next in Thread]