From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 27ChNWEww19xTwAA0tVLHw (envelope-from ) for ; Sun, 29 Nov 2020 05:23:45 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id eDcGMWEww1/bTgAA1q6Kng (envelope-from ) for ; Sun, 29 Nov 2020 05:23:45 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 26E4494023A for ; Sun, 29 Nov 2020 05:23:45 +0000 (UTC) Received: from localhost ([::1]:56190 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjFBY-0007zp-3N for larch@yhetil.org; Sun, 29 Nov 2020 00:23:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41880) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjFB3-0007xK-Lr for emacs-orgmode@gnu.org; Sun, 29 Nov 2020 00:23:13 -0500 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:47007) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kjFB1-0004Y1-L6 for emacs-orgmode@gnu.org; Sun, 29 Nov 2020 00:23:13 -0500 Received: by mail-pl1-x635.google.com with SMTP id v3so75287plz.13 for ; Sat, 28 Nov 2020 21:23:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:message-id :date:mime-version; bh=VxZ5VFt0hViojKKMyJbsaxF2IDynsHtMRo56Jo1Lkac=; b=tWKuzVNdKsfAJVWi7uM+I0qnGLsXkUA/hItxU65MzbKuovp5zCpANlz5QnS4BEQ5jk tNKZTRG6AbqDzJMUSINb5HgexySS5cgEaMZ1Ih/VvRmhNomvV0j/kOCMrdva37VCDfVw em+893HxxH8gj32LDhHVIvWc+lsd6jUM08hCkTZX/+RZBzqUV9KYi86BsfyxPje2PLzx RUfCXI9k0cB15rytAZfLvBju8IG0jnSjSvX5Rl6S2kxg/QRt4KokzCQ3jFfyMclV4l2c 1wDCuInOIYnQZ64MFJ9g8KjgHlr7DpFUVah+zeXtzxTMPSZHgm5zoQDf9XTK8CetHYRl c0RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:message-id:date:mime-version; bh=VxZ5VFt0hViojKKMyJbsaxF2IDynsHtMRo56Jo1Lkac=; b=d3dV2z/4xhj0D7/fWRJlah1khA/a0nixEuxWzC5WmSC5eC9OqR8vC1a8uwDgPIjNx8 4u+gRDVbbwckVPyYIRcVK3emEGjiMIh0gT3zAi+apxMPAAe7elQdio6InAL0fwh6suKk gLi0ZUsOTXpA08Is5cufKAk4s/E+4z2UUf0EgrWOfxV6N5+mCWbQt6SOfqWzsoCtzg9o XHPCdbqy2k8uA3NPFKlXUhpQIsdCHiBtpd0Vt52kGDs9cx2uHITAE91HrLUgw2V5tGmv tE9wIGx3xlcGlwLs2l4WJcEvOOqymTsv06VT3bxihlSSI3/dhIP8+w5vZmwGIIJTcVyu vpew== X-Gm-Message-State: AOAM5301I8BazPkaruAFt0WnmCntHnxTsMU4hqQ4nehYcH40PJhwwSSh KpQ7SR4GZdjggNVQnny4zu9Li6qbTFLoUg== X-Google-Smtp-Source: ABdhPJw1oOAHyGmTZA6hrEI56A4QKgSmrwSLhk8XpGZ98VUvetc1imrNh0TwAiI2r0nqET+rx7DR4A== X-Received: by 2002:a17:902:c411:b029:d9:f0db:75d1 with SMTP id k17-20020a170902c411b02900d9f0db75d1mr13204025plk.36.1606627389607; Sat, 28 Nov 2020 21:23:09 -0800 (PST) Received: from tim-desktop (106-69-142-109.dyn.iinet.net.au. [106.69.142.109]) by smtp.gmail.com with ESMTPSA id q21sm11578894pgk.3.2020.11.28.21.23.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Nov 2020 21:23:09 -0800 (PST) References: <87ft4tfgpv.fsf@gmail.com> <874kl9fe7m.fsf@gmail.com> <87wny5dy6j.fsf@gmail.com> <87r1od181i.fsf@gmail.com> <87h7p9135u.fsf@gmail.com> <87sg8tymeb.fsf@gmail.com> <87k0u4zupw.fsf@gmail.com> User-agent: mu4e 1.5.7; emacs 27.1.50 From: Tim Cross To: daniela-spit@gmx.it Subject: Re: Adding Org Files to org-agenda-files In-reply-to: Message-ID: <875z5ozqh2.fsf@gmail.com> Date: Sun, 29 Nov 2020 16:23:05 +1100 MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=theophilusx@gmail.com; helo=mail-pl1-x635.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.97 X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=tWKuzVNd; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-TUID: 36hPMHFHv7dY daniela-spit@gmx.it writes: >> Sent: Sunday, November 29, 2020 at 4:51 AM >> From: "Tim Cross" >> 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