[Orgmode] Re: diary in agenda

2007-10-03 Thread Christian Egli
Hi

Bastien [EMAIL PROTECTED] writes:

 Christian Egli [EMAIL PROTECTED] writes:

 Hm, I followed my own advice and set *-holidays to nil, but the
 holidays still show up in the agenda (so I guess you cannot disable
 holidays by tweaking these cars). Have to study the code some more
 as to how to get rid of these holiday entries in the agenda.

 Thursday   4 October 2007
   Holiday:Shemini Atzeret
   Diary:  Shemini Atzeret

 The strange thing here is the Holiday: line. 

 AFAIK, all diary entries that Org adds fall in the Diary category.
 Please tell us about the solution when you find it!

Don't know about the Holiday line. I think that was the OPs
problem. My issue is that I want to see the diary entries in my agenda
without the holidays (such as e.g. Shemini Atzeret). As I found out
setting {christian|hebrew|islamic|etc}-holidays to nil doesn't help. 

Some more digging in org.el, calendar.el and holidays.el revealed that
you can either disable the display of holidays altogether in your
agenda or only show specific holidays. For the former set
holidays-in-diary-buffer to nil and for the latter customize
calendar-holidays.

HTH
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: FR: toggling timestamps active/inactive

2007-10-16 Thread Christian Egli
Adam Spiers [EMAIL PROTECTED] writes:

 By the way, I probably could have coded this in the time it took to
 write the mail, but I thought that until I've sent a piece of paper to
 the FSF assigning rights for code contributed to org-mode and emacs,
 it would be better to let Carsten write it.  Is that correct or flawed
 thinking?

As far as I know you do not need an assignement, i.e. all the
paperwork for only a small patch. What constitutes a small patch I
don't know. Might be answered in one of the GNU FAQs.

HTH
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-17 Thread Christian Egli
Hi

Bastien bzg at altern.org writes:

 Christian Egli christian.egli at novell.com writes:
 
  The attached script generates a pocketMod style pdf which contains the
  next four weeks, the next three months and the current year on one
  page. It also generates a hipsterPDA style printout which contains the
  same calendars to be used in hipsterPDA style.
 
 Hey, that's great!  I didn't heard about pocketMod before.

Thanks :-)

 Can you send a PDF example of the output?

I'll try to set up a page on the emacswiki tonight where I can upload the code
and a couple of PDF examples.
 
 I tried your Makefile but could not get any output (yet).  I think it's
 mainly because I don't have any of pdfnup/pdfjoin/pdf90 - where does it
 come from?  On what system?

You need to install pdfjam. Most distros have it. Otherwise get it from
http://www2.warwick.ac.uk/fac/sci/statistics/staff/academic/firth/software/pdfjam.
  
 Maybe a bit more of explanation on how to use this Makefile would also
 be useful.

You basically just type make :-). This will produce two pdfs: pocketMod.pdf and
hipsterPDA.pdf.

pocketMod.pdf can be folded and cut according to the instructions on
pocketmod.com. In my experience it is much to small to be usefull. More tweaking
(e.g. with the fonts is needed).

hipsterPDA.pdf gives you two pages that you can cut in four sheets each. This
will give you eight sheets of size A6 (105mm x 148mm), which can then be clipped
together in the style of the hipster pda 
(http://en.wikipedia.org/wiki/Hipster_PDA).

HTH
Christian







___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-17 Thread Christian Egli
Dan Griswold dgriswol at rochester.rr.com writes:

 Because I've been trying something similar (but not as advanced), I'm
 intrigued by the possibilities of your approach. Sadly, I can't run
 your Makefile. I get an error[1]. Am I missing something?

I need more details to analyse the problem.

 About font size, I've found that for what we're trying to do, it helps
 to replace \tiny with \small globally.

I'll see what I can do without actually patching the code in cal-tex.el.
 
 Also, a little gotcha I've found, which may catch some of us org-mode
 GTD-ers: cal-tex.el does not check for the @ symbol when inputting
 from the diary, and thus does not escape it, leading to latex-errors
 on processing.

I've run into that problem also and avoided it by rewriting the one diary entry
that caused the problem :-). Yes, this problem should be reported on
emacs-devel. There is even some code in cal-tex that seems to deal with this
problem, but it is commented out for whatever reason.

Christian





___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-17 Thread Christian Egli

Bastien bzg at altern.org writes:

 Christian Egli christian.egli at novell.com writes:

  You basically just type make . This will produce two pdfs:
  pocketMod.pdf and hipsterPDA.pdf.
 
 I can't get this to work because of the issues I mentionned above 
 Here I reproduce them:
 
 ,
 | - get rid of the misplaced \verb|@|

Does Pete's patch help?

 | - get rid of the links by using their description only

This I don't understand. How do you get your deadlines to show up 
in your calendar?

 | - use a smaller normal font for tasks, since it doesn't fit sometimes
 |   (see my other PDF example...)
 | 
 |   = sadly, I guess we need to tailor cal-tex internals for that...

I looked at cal-tex.el some more and it looks like it could use some 
love :-). The font sizes for the ISO-style weekly calendar for 
example is hard coded to 11pt and the diary entries are hardcoded to 
be shown with \large\bf.

Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-17 Thread Christian Egli
Bastien [EMAIL PROTECTED] writes:

 Christian Egli [EMAIL PROTECTED] writes:

 ,
 | - get rid of the misplaced \verb|@|

 Does Pete's patch help?

 Yes it does, no problem anymore.

 | - get rid of the links by using their description only

 This I don't understand. How do you get your deadlines to show up 
 in your calendar?

 %%(org-diary :scheduled :timestamp :deadline)

 in my ~/.diary file.

Ah, now I understand. That is also the reason why your calendar looks
so crowded. So far I've only used it to show the entries from my diary
file. 

My idea was to replace the year calendar with some export of the
agenda view, maybe of the next 14 days. So you'd have an overview of
your appointments (and only your appointments) for the next 4 weeks
and the next 3 months and finally an overview of all the tasks for the
next 14 days.

Now what would be really nice is if I could export the agenda view to
latex. I couldn't find any code in org-export-latex.el to do that. Am
I missing something, Bastien?

 I looked at cal-tex.el some more and it looks like it could use some
 love :-). The font sizes for the ISO-style weekly calendar for example
 is hard coded to 11pt and the diary entries are hardcoded to be shown
 with \large\bf.

 Love for sell in orgmode list :)

Well, while it would be worthwile to do some enhancements to
cal-tex.el (some TODOs are mentioned in the Commentary section), there
is an easier way to massage the produced LaTeX code. As mentioned on
the emacswiki
(http://www.emacswiki.org/cgi-bin/emacs-en/CalendarPrinting) you can
add a hook to cal-tex-hook which can quote the @ or change the fonts
for example.

In essence this is the same as Pete's sed hack in the Makefile, just a
tad more integrated in Emacs. If this really makes such a great
difference in terms of a batch job I don't know.

Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-18 Thread Christian Egli
Bastien bzg at altern.org writes:

 Leo sdl.web at gmail.com writes:
 
  Then I guess being able to export the agenda to LaTeX makes sense.
  Can you describe what would be the expected LaTeX output for you?
 
  Anything like the following would be really really nice:
 
 
http://shopping.franklincovey.com/shopping/catalog/category.jsp?displaychildren=trueid=cat1640002crc=cat960026sc=0709_main_oct_ppc=0709_main_oct_ppproduct=PlanningPagesbyStartDate
 
 Well :)

Haha, maybe for xmas :-).

 Thanks for these example, but what I really need is some suggestions
 about the expected content of the LaTeX output itself. 
 
 Should we use `cal-tex.el'-like output (very nice but very specific, and
 not flexible)? Should we just use a straightforward verbatim display?
 Should we use sections for agenda with multiple views?

A straightforward verbatim dump of the agenda view is fine for me. In fact I was
just going to use the ps output in my Makefile.

Christian




___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-25 Thread Christian Egli
Hi Carsten

Carsten Dominik carsten.dominik at gmail.com writes:

 Hi Christian,
 
 do you have a link to the updated version of your Makefile?  Cannot  
 find one in the tread...

I haven't sent out a updated version. I have some updates sitting on my hard
drive at home. On top of that I'd like to get some nice LaTeX export of the
agenda included in the printout. I sent a proposal for the LaTeX to Bastien and
hope that he'll manage to integrate it in org-latex.el.

I'll send out an updated version of the Makefile tonight.

Christian




___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: PocketMod for org-mode

2007-10-25 Thread Christian Egli

Christian Egli [EMAIL PROTECTED] writes:

 I haven't sent out a updated version. I have some updates sitting on my hard
 drive at home. On top of that I'd like to get some nice LaTeX export of the
 agenda included in the printout. I sent a proposal for the LaTeX to Bastien 
 and
 hope that he'll manage to integrate it in org-latex.el.

 I'll send out an updated version of the Makefile tonight.

Attached is an updated version of org2pocketMod. As before you need to
have the pdfjam tools installed. Also you might want to add (setq
cal-tex-diary t) to your .emacs, so diary entries actually show up in
your printout.

The Makefile now does some changes on the LaTeX produced by
cal-tex. This will quote @, and change some of the font sizes. 

Christian

# org2pocketMod - a small utility to generate pocketMod style printouts from 
org mode 
# Copyright (C) 2007  Christian Egli
# 
# Version: 0.2
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see http://www.gnu.org/licenses/.

EMACS = emacs -batch -l ~/.emacs
LATEX = latex

hipsterFiles =  weekCalendar.pdf yearCalendar.pdf monthCalendar3.pdf 
monthCalendar2.pdf monthCalendar1.pdf
pocketModFiles =  weekCalendar.pdf yearCalendar-rotated.pdf \
monthCalendar3-rotated.pdf monthCalendar2-rotated.pdf 
monthCalendar1-rotated.pdf

all: pocketMod.pdf hipsterPDA.pdf

%.dvi: %.tex
# Quick hack to massage the LaTeX produced by cal-tex
# quote '@', then increase font size of week calendars and 
# finaly increase font of diary entries in moth calendar
sed -e 's/\\verb|@|/\@/g' \
-e 's/documentclass\[11pt\]/documentclass[12pt]/g' \
-e 's/{\\tiny \\raggedright #3}/{\\small \\raggedright #3}/g' \
 $  /tmp/temp-org-file.; mv /tmp/temp-org-file. $
$(LATEX) $^

%.pdf: %.dvi
dvipdf $^

%-rotated.pdf: %.pdf
cp $^ $@
for n in 1 2 3; do \
pdf90 --outfile tmp.pdf $@; mv tmp.pdf $@; \
done

weekCalendar.tex: ~/diary
$(EMACS) -eval (progn (calendar) (cal-tex-cursor-week-iso 4) 
(with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

monthCalendar1.tex: ~/diary
 $(EMACS) -eval (progn (calendar) (cal-tex-cursor-month-landscape 1) 
(with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

monthCalendar2.tex: ~/diary
 $(EMACS) -eval (progn (calendar) (calendar-forward-month 1) 
(cal-tex-cursor-month-landscape 1) (with-current-buffer cal-tex-buffer 
(write-file \[EMAIL PROTECTED])))

monthCalendar3.tex: ~/diary
 $(EMACS) -eval (progn (calendar) (calendar-forward-month 2) 
(cal-tex-cursor-month-landscape 1) (with-current-buffer cal-tex-buffer 
(write-file \[EMAIL PROTECTED])))

yearCalendar.tex: ~/diary
 $(EMACS) -eval (progn (calendar) (calendar-forward-month 2) 
(cal-tex-cursor-year-landscape 1) (with-current-buffer cal-tex-buffer 
(write-file \[EMAIL PROTECTED])))

pocketMod.pdf: $(pocketModFiles)
pdfjoin --outfile tmp.pdf $^
pdfnup tmp.pdf --outfile $@ --nup 4x2 --frame true

hipsterPDA.pdf: $(hipsterFiles)
pdfnup weekCalendar.pdf --outfile page1.pdf --nup 2x2 --frame true
pdfjoin --outfile tmp.pdf monthCalendar[1-3]-rotated.pdf 
yearCalendar-rotated.pdf
pdfnup tmp.pdf --outfile page2.pdf --nup 2x2 --frame true
pdfjoin --outfile $@ page1.pdf page2.pdf

clean:
rm -rf *.aux *.dvi *.tex *.log *.pdf
___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Estimated times

2007-10-29 Thread Christian Egli
Sebastjan Trepca trepca at gmail.com writes:

 I was wondering if there is a way to set a time estimate for a task
 and then match it with actual logged time? After you finish it of
 course.
 
 Maybe something similar as checkbox counters.
 
  * TODO learn about emacs [0/2, 0h/20h]
- [ ] read emacs manual (10h)
- [ ] read  elisp manual (10h)
 
 First counter counts the finished subtasks, second shows overall
 logged time and the estimate.

You might be able to do something with a column view. You define the effort as a
property and in your Column View you summarize the effort. Might be worth to
have a look at http://orgmode.org/org.html#Column-view

Christian




___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Multi-line Diary Entry

2007-11-08 Thread Christian Egli
Hi

Wanrong Lin wanrong.lin at gmail.com writes:

 It seems there is a bug in dealing with multi-line diary entries in 
 org-agenda. For example, I have a diary entry like this:
 
 %%(diary-cyclic 1 11 7 2007) 5:25pm End of Day:
   - Review tomorrow's task.
   - Check tomorrow's schedule in Outlook
   - Check weather forecast
 
 When diary entry is included in org agenda, the sub-lines are separated 
 from the main line, something like this:
 
 Thursday   8 November 2007
   Diary:  17:25.. End of Day:
   WorkEnv:Scheduled:  TODO Fill in timesheet
   Diary:  - Review tomorrow's task.
   Diary:  - Check tomorrow's schedule in Outlook
   Diary:  - Check weather forecast

The function org-get-entries-from-diary just does a (org-split-string entries
\n) on the contents it gets from the fancy calendar display. So of course
you'll get them as separate entries and then sorted (probably according to
category). 

I presume you'd like the lines to stay together?

As a workaround you could just put three separate tasks in your diary i.e. 

%%(diary-cyclic 1 11 7 2007) 5:25pm Review tomorrow's task)
%%(diary-cyclic 1 11 7 2007) 5:25pm Check tomorrow's schedule in Outlook)
%%(diary-cyclic 1 11 7 2007) 5:25pm Check weather forecast)

HTH
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: GTD LaTeX export

2007-12-10 Thread Christian Egli
Bastien [EMAIL PROTECTED] writes:

 I'm attaching the code from Christian Egli here again.  

 I don't know if it is distributed somewhere : Christian, would you be
 okay to distribute it?

I would love to distribute it, that's the whole point.

 If you don't have a web server at your disposal,

I don't really.

 I can put the code somewhere on my org-mode page, or maybe Carsten can
 put it on http://orgmode.org

It would be great if Carsten could host it. I don't want to impose any
burden on him if I need to upload a new version.

Here's an updated version which includes a few comments and feedback
from the list.

# org2pocketMod - a small utility to generate pocketMod style printouts from org mode 
# Copyright (C) 2007  Christian Egli
# 
# Version: 0.3
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see http://www.gnu.org/licenses/.
#
# Commentary:
# 
# set cal-tex-diary to true so that diary entries show up in the calendar 
#
# the pdf* commands are part of the pdfjam package which can be found
# at http://www.warwick.ac.uk/go/pdfjam

EMACS = emacs -batch -l ~/.emacs
LATEX = latex

hipsterFiles =  weekCalendar.pdf yearCalendar.pdf monthCalendar3.pdf monthCalendar2.pdf monthCalendar1.pdf
pocketModFiles =  weekCalendar.pdf yearCalendar-rotated.pdf \
	monthCalendar3-rotated.pdf monthCalendar2-rotated.pdf monthCalendar1-rotated.pdf

all: pocketMod.pdf hipsterPDA.pdf

%.dvi: %.tex
	# Quick hack to massage the LaTeX produced by cal-tex
	# quote '@', then increase font size of week calendars and 
	# finaly increase font of diary entries in moth calendar
	sed 	-e 's/\\verb|@|/\@/g' \
		-e 's/documentclass\[11pt\]/documentclass[12pt]/g' \
		-e 's/{\\tiny \\raggedright #3}/{\\small \\raggedright #3}/g' \
		 $  /tmp/temp-org-file.; mv /tmp/temp-org-file. $
	$(LATEX) $^

%.pdf: %.dvi
	dvipdf $^

%-rotated.pdf: %.pdf
	cp $^ $@
	for n in 1 2 3; do \
		pdf90 --outfile tmp.pdf $@; mv tmp.pdf $@; \
	done

weekCalendar.tex: ~/diary
	$(EMACS) -eval (progn (calendar) (cal-tex-cursor-week-iso 4) (with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

monthCalendar1.tex: ~/diary
	 $(EMACS) -eval (progn (calendar) (cal-tex-cursor-month-landscape 1) (with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

monthCalendar2.tex: ~/diary
	 $(EMACS) -eval (progn (calendar) (calendar-forward-month 1) (cal-tex-cursor-month-landscape 1) (with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

monthCalendar3.tex: ~/diary
	 $(EMACS) -eval (progn (calendar) (calendar-forward-month 2) (cal-tex-cursor-month-landscape 1) (with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

yearCalendar.tex: ~/diary
	 $(EMACS) -eval (progn (calendar) (calendar-forward-month 2) (cal-tex-cursor-year-landscape 1) (with-current-buffer cal-tex-buffer (write-file \[EMAIL PROTECTED])))

pocketMod.pdf: $(pocketModFiles)
	pdfjoin --outfile tmp.pdf $^
	pdfnup tmp.pdf --outfile $@ --nup 4x2 --frame true

hipsterPDA.pdf: $(hipsterFiles)
	pdfnup weekCalendar.pdf --outfile page1.pdf --nup 2x2 --frame true
	pdfjoin --outfile tmp.pdf monthCalendar[1-3]-rotated.pdf yearCalendar-rotated.pdf
	pdfnup tmp.pdf --outfile page2.pdf --nup 2x2 --frame true
	pdfjoin --outfile $@ page1.pdf page2.pdf

clean:
	rm -rf *.aux *.dvi *.tex *.log *.pdf


HTH
Christian
___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Feature Request - Active and inactive links.

2007-12-10 Thread Christian Egli
Tim O'Callaghan [EMAIL PROTECTED] writes:

 I have a hacked together function that i use (see my rusty elisp
 below) that creates org-files from ical URLs. I use this to
 include my google calendar and other published events in my
 agenda.

Could you not achieve something along your desired lines with using
includes in your diary file? The info on Fancy Diary Display has some
information on how to include additional diary files.

Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Feature Request - Active and inactive links.

2007-12-11 Thread Christian Egli
Tim O'Callaghan tim.ocallaghan at gmail.com writes:

 Yes. My idea was essentially, when i ask org to create an agenda
 buffer, it knows to auto-pull and process each all of these
 active links, so as to be able to display them in my Agenda.

I still don't quite understand why you do not use existing infrastructure such
as the include statement in diary files and the org-agenda-files variable which
lets you define a list files to be included for agenda generation.

Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] org2hpda now on emacswiki

2008-01-04 Thread Christian Egli

A while ago I posted a Makefile to generate pocketmod and hpda (hipster
PDA) printouts from your calendar and diary. I put the code up on the
emacs wiki. It can be found under
http://www.emacswiki.org/cgi-bin/wiki/CalendarPrinting.

While I was at it I renamed it to org2hpda because pocketmod might have
trade mark problems and has a patent pending.

Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: A7 printing

2008-01-04 Thread Christian Egli
Hi

Rustom Mody [EMAIL PROTECTED] writes:

 I want to print org files for hpda (ie in A7 size). Now strictly this is
 outside the business of org because one just exports the file to latex and 
 then
 uses latex functionality to do to go from A4 to A7. However since this is 
 under
 active consideration here (and I'm not a latex expert :-) ) I'm asking for
 pointers.

I do not quite understand what you are trying to do, but if is simply
to go from A4 to A7 then something like psnup or pdfnup should be what
you are looking for. No need to be a latex expert. The usage of psnup or
pdfnup is actually quite simple. Consult the man page for details.

HTH
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Getting org-agenda-sorting-strategy to work

2008-01-09 Thread Christian Egli
Egli Christian (KIRO 41) [EMAIL PROTECTED] writes:

 I have a patch that implements this for v5.17. Carsten is willing to
 accept it but I'm waiting on the layers to sign the copyright
 disclaimer. 

Here's the patch against 5.18a. It implements sorting by todo state and
todo keyword in the agenda. See the customize interface for
org-agenda-sorting-strategy to find out how to enable it. Should be
fairly self-explanatory.

# HG changeset patch
# User Christian Egli [EMAIL PROTECTED]
# Date 1199917882 -3600
# Node ID 48c4b74b3c08ae4e62a80422511be6ceab791582
# Parent  3285ee44e04c63c40602f7680c340b5dd0fe51ed
# Parent  4425bb2aa82bcbbac538460a39dec07cd340e975
implement sorting by todo state in the agenda sorting strategy

diff -r 3285ee44e04c -r 48c4b74b3c08 org.el
--- a/org.el	Wed Jan 09 23:18:00 2008 +0100
+++ b/org.el	Wed Jan 09 23:31:22 2008 +0100
@@ -2679,7 +2679,8 @@ a grid line.
 (const time-up) (const time-down)
 (const category-keep) (const category-up) (const category-down)
 (const tag-down) (const tag-up)
-(const priority-up) (const priority-down))
+(const priority-up) (const priority-down)
+(const todo-state-up) (const todo-state-down))
   Sorting choices.)
 
 (defcustom org-agenda-sorting-strategy
@@ -2701,6 +2702,8 @@ tag-downSort alphabetically by l
 tag-downSort alphabetically by last tag, Z-A.
 priority-up Sort numerically by priority, high priority last.
 priority-down   Sort numerically by priority, high priority first.
+todo-state-up   Sort by todo state, tasks that are done last.
+todo-state-down Sort by todo state, tasks that are done first.
 
 The different possibilities will be tried in sequence, and testing stops
 if one comparison returns a \not-equal\.  For example, the default
@@ -20867,7 +20870,7 @@ the documentation of `org-diary'.
  \\)\\))
 			   org-not-done-regexp)
 			 [^\n\r]*\\)))
-	 marker priority category tags
+	 marker priority category tags todo-state
 	 ee txt beg end)
 (goto-char (point-min))
 (while (re-search-forward regexp nil t)
@@ -20892,11 +20895,13 @@ the documentation of `org-diary'.
 	  category (org-get-category)
 	  tags (org-get-tags-at (point))
 	  txt (org-format-agenda-item  (match-string 1) category tags)
-	  priority (1+ (org-get-priority txt)))
+	  priority (1+ (org-get-priority txt))
+	  todo-state (org-get-todo-state))
 	(org-add-props txt props
 	  'org-marker marker 'org-hd-marker marker
 	  'priority priority 'org-category category
-	  'type todo)
+	  'type todo
+	  'todo-state todo-state)
 	(push txt ee)
 	(if org-agenda-todo-list-sublevels
 	(goto-char (match-end 1))
@@ -20935,7 +20940,7 @@ the documentation of `org-diary'.
 	 0 11))
 	   \\|\\([0-9]+-[0-9]+-[0-9]+[^\n]+?\\+[0-9]+[dwmy]\\)
 	   \\|\\(%%\\(([^\n]+)\\)\\)))
-	 marker hdmarker deadlinep scheduledp donep tmp priority category
+	 marker hdmarker deadlinep scheduledp todo-state donep tmp priority category
 	 ee txt timestr tags b0 b3 e3 head)
 (goto-char (point-min))
 (while (re-search-forward regexp nil t)
@@ -20958,7 +20963,8 @@ the documentation of `org-diary'.
 	  timestr (if b3  (buffer-substring b0 (point-at-eol)))
 	  deadlinep (string-match org-deadline-regexp tmp)
 	  scheduledp (string-match org-scheduled-regexp tmp)
-	  donep (org-entry-is-done-p))
+	  todo-state (org-get-todo-state)
+	  donep (member todo-state org-not-done-keywords))
 	(if (or scheduledp deadlinep) (throw :skip t))
 	(if (string-match  timestr)
 	;; substring should only run to end of time stamp
@@ -20980,7 +20986,9 @@ the documentation of `org-diary'.
 	  (org-add-props txt props
 	'org-marker marker 'org-hd-marker hdmarker)
 	  (org-add-props txt nil 'priority priority
-			 'org-category category 'date date
+			 'org-category category
+			 'todo-state todo-state
+			 'date date
 			 'type timestamp)
 	  (push txt ee))
 	(outline-next-heading)))
@@ -21094,7 +21102,7 @@ the documentation of `org-diary'.
 	 (todayp (equal date (calendar-current-date))) ; DATE bound by calendar
 	 (d1 (calendar-absolute-from-gregorian date))  ; DATE bound by calendar
 	 d2 diff dfrac wdays pos pos1 category tags
-	 ee txt head face s upcomingp donep timestr)
+	 ee txt head face s todo-state upcomingp donep timestr)
 (goto-char (point-min))
 (while (re-search-forward regexp nil t)
   (catch :skip
@@ -21114,6 +21122,7 @@ the documentation of `org-diary'.
 		(= diff 0))
 	(save-excursion
 	  (setq category (org-get-category))
+	  (setq todo-state (org-get-todo-state))
 	  (if (re-search-backward ^\\*+[ \t]+ nil t)
 		  (progn
 		(goto-char (match-end 0))
@@ -21123,7 +21132,7 @@ the documentation of `org-diary'.
 (point)
 (progn (skip-chars-forward ^\r\n)
    (point
-		(setq donep (string-match org-looking-at-done-regexp head))
+		(setq donep (member todo-state org-done-keywords))
 		(if (string-match  \\([012]?[0-9]:[0-9][0-9

[Orgmode] How to write an exporter

2008-06-24 Thread Christian Egli
Hi

I've been wanting to have an exporter for latex beamer and for
mediawiki. I thought that might be a nice summer project. How do I
write it? Do I use

 - the new mapping API
 - or the new exporter engine from Bastien which is buried away
   somewhere on a branch in git?

I guess the mapping API is included in org-mode proper but only gives
me access to the headlines AFAIK. What is the status of the exporter
engine from Bastien? Is it ever going to be resurrected?

Thanks
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Sorting by todo-keyword

2008-08-12 Thread Christian Egli
Hi

Jan Seeger [EMAIL PROTECTED] writes:
 I want to sort my todo agenda view by todo keyword. Is that currently
 possible? 

AFAIK No, currently you cannot do that.

 It seems from the org-agenda-sorting-strategy keyword, that
 this is not the case.

I posted a patch for this against org 5.18a way back
(http://article.gmane.org/gmane.emacs.orgmode/5066). You'd have to
forward port it to the current version of org, but git should help you
there. 

Let me know if you get anywhere.

HTH
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Sorting by todo-keyword

2008-08-12 Thread Christian Egli
Manish [EMAIL PROTECTED] writes:

 On Tue, Aug 12, 2008 at 1:36 PM, Christian Egli wrote:
 Hi

 Jan Seeger writes:
 I want to sort my todo agenda view by todo keyword. Is that currently
 possible?

 AFAIK No, currently you cannot do that.

 It seems from the org-agenda-sorting-strategy keyword, that
 this is not the case.

 I posted a patch for this against org 5.18a way back
 (http://article.gmane.org/gmane.emacs.orgmode/5066). You'd have to
 forward port it to the current version of org, but git should help you
 there.

 Let me know if you get anywhere.

 I tried applying the patch but it failed.

Did you apply against 5.18a? You should be able to checkout 5.18a,
apply the patch and try to do a rebase to bring the patch up to the
current version of org.

If that doesn't work then I guess some manual work is required.

HTH
Christian



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Sorting by todo-keyword

2008-08-14 Thread Christian Egli
Manish [EMAIL PROTECTED] writes:

 I tried applying the patch to 5.18a but it failed again.  How can I
 help get more debug information?

 ,
 | lappy:~/elisp/org-mode.git $ git checkout -b release_5.18a release_5.18a
 | Checking out files: 100% (112/112), done.
 | Switched to a new branch release_5.18a
 | lappy:~/elisp/org-mode.git $ git branch
 |   master
 | * release_5.18a
 |   zms
 | lappy:~/elisp/org-mode.git $ git-apply.exe 5066-001.bin
 | error: patch failed: org.el:2679
 | error: org.el: patch does not apply
 `

Yes, I know, I tried myself. The problem is most likely that Carsten
rearranged the source code substantially. My patch was for org.el but
the changes should now probably be applied to lisp/org-agenda.el.

I don't know git well enough to judge if there is an automated way to
bring this patch back to life. The only way I see ATM is to manually
port it to the current version of org.

Basically the patch is (was) fairly simple:

* add a function org-cmp-todo-state along the lines of org-cmp-* which
  compares todo states.

* add this function to org-entries-lessp

* adapt the various functions that are invoked by
  org-finalize-agenda-entries (org-agenda-get-todos,
  org-agenda-get-scheduled, etc) to include the todo state in the
  properties of the text for the agenda line. You can probably get
  some inspiration from my old patch. 

HTH
Christian








___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [O] Creating Gantt charts by Exporting to TaskJuggler 3.3.0

2012-09-25 Thread Christian Egli
Buddy Butterfly buddy.butter...@web.de writes:

 thanks for info. I will give this a try when I'll find the time.
 At the moment, because of the scrambled handling of task_ids it
 is not really usable.

What exactly is the problem with the handling of task_ids?

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] Creating Gantt charts by Exporting to TaskJuggler 3.3.0

2012-09-25 Thread Christian Egli
Yann Hodique yann.hodi...@gmail.com writes:

 At the moment I'm kinda contemplating doing a major rewrite of the TJ
 exporter to use the org-export framework

That might be a good idea. The currect tj exporter doesn't use any of
the exporting framework. OTOH it is not really a classic exporter in the
sense that it exports the content. Instead it uses the headlines as
nodes and exports those using some conventions. If this can be handled
with the new exporter then sure go for it.

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [PATCH v3 00/11] Taskjuggler exporter improvements

2012-09-25 Thread Christian Egli

Hi Yann

Bastien b...@altern.org writes:

 I have now applied those patches to master.

I guess we should update the tutorial on worg
(http://orgmode.org/worg/org-tutorials/org-taskjuggler.html). Would you
have time to have a stab at this?

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] org-caldav feedback

2013-01-21 Thread Christian Egli
Torsten Wagner torsten.wag...@gmail.com writes:

 CC. Since Sogo does not allow a print view. Does someone know how to
 create a printable weekly calendar which contains org-agenda entries?
 I barley remember there was a possibility to create a PDF but can't
 find it anymore 

There are the cal-tex-* functions which produce tex from diary files.
See the info entry on Writing Calendar Files. Also there is a Makefile
which uses the cal-tex-* functions to generate hipster style printouts
in contrib/scripts/org2hpda. This might serve as an inspiration.

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] org export Taskjuggler

2013-02-07 Thread Christian Egli
Nicolas Goaziou n.goaz...@gmail.com writes:

 If nothing has been started once the new export framework is installed
 and the early bugs are fixed, I will do the port.

I don't quite understand why we need to port anything. The taskjuggler
exporter is different than the other exporters in that it doesn't really
export the content of an org file. Instead it just goes through the
headlines (using the mapping API), takes some to be tasks and reads the
properties of these headlines to build the taskjuggler file. It pretty
much ignores any text that is between the headlines (see also the
commentary in org-taskjuggler.el). In essence it treats the org file as
a tree of nodes with properties that define the tasks, resources and
reports. It doesn't use any of the common (old) exporting
infrastructure. So woudn't a ported org-taskjuggler.el look exactly
like to one that we have today?

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



Re: [O] [ANN] TaskJuggler ported to new export framework

2013-03-04 Thread Christian Egli
Hi all

Bastien b...@altern.org writes:

 Christian, as the TaskJuggler expert out there, and if you have
 some free time in the next few weeks, please let us know if it
 works correctly (for TJ2 and TJ3).

Sorry, was down with the flu last week. I'll look at it this week.

 If the Worg page about TaskJuggler needs some update, please feel
 free to go ahead or ask some help on the list.

It does. I'll see what I can do.

Thanks

Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [ANN] TaskJuggler ported to new export framework

2013-03-04 Thread Christian Egli
Nicolas Goaziou n.goaz...@gmail.com writes:

 If the Worg page about TaskJuggler needs some update, please feel
 free to go ahead or ask some help on the list.

 It does. I'll see what I can do.

 Does it? Even though the internals have been rewritten, it shouldn't
 change anything to syntax.

 Did I miss something?

Sorry, this is completely orthogonal to the new exporter. These are
changes that should have been on the worg page before. E.g. For a while
the exporter supported tj3. This fact was never properly publizized and
the worg page still shows screen shots with tj2.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

-
Die neue Online-Bibliothek der SBS: Mit wenigen Klicks zum Buch unter 
http://online.sbs.ch



Re: [O] OT: taskjuggler question

2012-02-02 Thread Christian Egli
Nick Dokos nicholas.do...@hp.com writes:

 But I have no TaskJugglerUI executable, which seems to be what the
 exporter tries to call for export-and-open (C-c C-e J): what am I
 missing?

The TaskJugglerUI exists only if you have taskjuggler2.4 installed. The
exporter predates tj3 and naively assumes that there is a TaskJugglerUI
executable. It should really invoke a browser on the resulting HTML
report[1] when you call export-and-open, at least when you are targeting
tj3. The worst part is that it doesn't even tell the user that something
failed, as it invokes the executable asynchronously using
start-process-shell-command (info: (elisp) Asynchronous Processes). That
way you can continue to work with emacs but emacs doesn't know what
happened to the subprocess. I'll have to do some more research on how to
start a process in the background and still check if it succeeded.

Thanks
Christian

Footnotes: 
[1]  the tricky bit here is of course to find the resulting HTML, as the
name of it is defined in a tj3 report definition. I'd rather refrain
from parsing these report definitions just to find the name of the HTML
file to open.

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] Question: split up files for subprojects using taskjuggler-export (tj3)

2012-02-22 Thread Christian Egli
Hi 

m...@dittmaridoo.de writes:

 I am looking for a solution to split one project into sub-projects, so
 I can distribute the project into sub-files as suggested here:
 http://groups.google.com/group/taskjuggler-users/browse_thread/thread/a98489a0e343ddac

The export of org-mode to taskjuggler can be taken pretty far and can
handle big projects. It is meant for people comfortable with org-mode
that like to work within org-mode. However not all concepts in org-mode
for example have a corresponding concept in taskjuggler and vice versa.
The exporter tries to bridge this mismatch in some cases and ignores
others.

So, what I'm saying is that if you want the full power of taskjuggler
then by all means go for it (i.e. hack your stuff in it directly). If
you want the convenience of org-mode then stay with it and try to
organize the project within org-mode. IMHO using org-mode lessens the
need to structure the projects into sub-files as org-mode is less
verbose and inherently more structured.

If you still would like to split you project some more I'd try to do
something using (tj) include statements, e.g. defining them as your
default reports.

Hope that helps.

Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] Export to multiple HTML files?

2012-03-05 Thread Christian Egli
Nicolas Goaziou n.goaz...@gmail.com writes:

 But is there such a function ready to use? I don't think so. 

 Ready to use, no. But since you can specify your own publishing
 function, it should be doable.

Actually if you use the mapping API[1] such a function should be fairly
easy to write.


Footnotes: 
[1]  http://orgmode.org/manual/Using-the-mapping-API.html#Using-the-mapping-API
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [PATCH 00/10] Takjuggler exporter improvements

2012-08-09 Thread Christian Egli
Hi Yann

Yann Hodique yann.hodi...@gmail.com writes:

 Here are a couple of patches for org-taskjuggler.el

 My main goals with these were to:

  - be able to leverage SCHEDULE/DEADLINE information, so as to be able
to leverage org timelines in complement to the reports

  - be able to #+BIND some of the exporter variables (such as the
preamble)

  - be able to define reports in the org file itself, without having to
mess with a custom variable

 Any feedback is highly welcome.

I have looked at your patches. I have not had time to try them but
reading the diffs it looks excellent. They implement some features which
make the exporter much more flexible.

I have one comment to patch make project umbrella task optional which
I'll adress separately.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [PATCH 07/10] org-taskjuggler: make project umbrella task optional

2012-08-09 Thread Christian Egli
Yann Hodique yann.hodi...@gmail.com writes:

 +(defcustom org-export-taskjuggler-keep-project-as-task t
 +  Whether to keep the project headline as an umbrella task for
 +  all declared tasks. Setting this to nil will allow maintaining
 +  completely separated task buckets, while still sharing the same
 +  resources pool.

I'm trying to understand the use case here. If I understand correctly
the container headline will no longer unconditionally generate a root
task. So you could have multiple root tasks? Does this work in both
versions of tj?

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [PATCH 07/10] org-taskjuggler: make project umbrella task optional

2012-08-13 Thread Christian Egli
Yann Hodique yann.hodi...@gmail.com writes:

 Christian == Christian Egli christian.e...@sbs.ch writes:

 I'm trying to understand the use case here. If I understand correctly
 the container headline will no longer unconditionally generate a root
 task. So you could have multiple root tasks? Does this work in both
 versions of tj?

 Yes, basically the use case is the following.
[snip]

 AFAICT it seems to work fine with either tj2 or tj3.

OK this clears it up. So basically all the patches are fine from my pov.
Thanks again.

Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




[Orgmode] Re: Bug: LaTeX export of plain lists inside description lists [6.34trans]

2010-03-29 Thread Christian Egli
Günter Kolousek k...@htlwrn.ac.at writes:

 + one plain list item
 + just another one

 here follows a plain paragraph

 + and another new plain list
 + second item

AFAIK this is a know bug in the LaTeX exporter which is hard to fix.
Search the archives for a more detailed explanation.

HTH
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] [ANN] Exporter for taskjuggler

2010-03-30 Thread Christian Egli

Hi all

In theory we're developing according to agile methods here, but in
practice people still want to see the classic waterfall project plan.

So in order to create a professional looking gant and resource usage
charts I implemented an exporter from org-mode to TaskJuggler
(http://www.taskjuggler.org/). The code is attached and I'm looking for
feedback and would love to get this integrated in the org-mode
distribution.

TaskJuggler uses a text format to define projects, tasks and resources,
so it is a natural fit for org-mode. It can produce all sorts of reports
for tasks or resources in either HTML, CSV or PDF. The current version
of TaskJuggler requires KDE but the next version is implemented in Ruby
and should therefore run on any platform.

The exporter is a bit different from other exporters, such as the HTML
and LaTeX exporters for example, in that it does not export all the
nodes of a document or strictly follow the order of the nodes in the
document.

Instead the TaskJuggler exporter looks for a tree that defines the
tasks and a optionally tree that defines the resources for this
project. It then creates a TaskJuggler file based on these trees
and the attributes defined in all the nodes.

* Installation

Put the attached file into your load-path and the following line into
your ~/.emacs:

  (require 'org-taskjuggler)

The interactive functions are similar to those of the HTML and LaTeX
exporters:

M-x `org-export-as-taskjuggler'
M-x `org-export-as-taskjuggler-and-open'

* Tasks

Let's illustrate the usage with a small example. Create your tasks as
you usually do with org-mode. Assign efforts to each task using
properties (it's easiest to do this in the column view). You should end
up with something similar to the example by Peter Jones in
http://www.contextualdevelopment.com/static/artifacts/articles/2008/project-planning/project-planning.org.
Now mark the top node of your tasks with a tag named
taskjuggler_project (or whatever you customized
`org-export-taskjuggler-project-tag' to). You are now ready to export
the project plan with `org-export-as-taskjuggler-and-open' which will
export the project plan and open a gant chart in TaskJugglerUI.

* Resources

Next you can define resources and assign those to work on specific
tasks. You can group your resources hierarchically. Tag the top node of
the resources with taskjuggler_resource (or whatever you customized
`org-export-taskjuggler-resource-tag' to). You can optionally assign an
ID to the resources (using the standard org properties commands) or you
can let the exporter generate IDs automatically (the exporter picks the
first word of the headline as the ID as long as it is unique). Using
that ID you can then allocate resources to tasks. This is again done
with the allocate property on the tasks. Do this in column view or
when on the task type

 C-c C-x p allocate RET ID RET

Once the allocations are done you can again export to TaskJuggler and
check in the Resource Allocation Graph which person is working on what
task at what time.

* Export of properties

The exporter also takes TODO state information into consideration, i.e.
if a task is marked as done it will have the corresponding attribute in
TaskJuggler (complete 100). Also it will export any property on a task
resource or resource node which is known to TaskJuggler, such as limits,
vacation, shift, booking, efficiency, journalentry, rate for resources
or account, start, note, duration, end, journalentry, milestone,
reference, responsible, scheduling, etc for tasks.

* Dependencies

The exporter will handle dependencies that are defined in the tasks
either with the ORDERED attribute (see TODO dependencies in the Org mode
manual) or with the BLOCKER attribute (see org-depend.el) or
alternatively with a depends attribute. Both the BLOCKER and the depends
attribute can be either previous-sibling or a reference to an ID which
is defined for another task in the project.

Thanks
Christian



org-taskjuggler.el
Description: TaskJuggler exporter

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland
___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] [ANN] Exporter for taskjuggler

2010-04-06 Thread Christian Egli
Hi Carsten

Thanks for your reply. I've been a bit stumped by the zero feedback on
the mailing list. Maybe I should have added a few screenshots of fancy
gant and resource usage charts :-).

Carsten Dominik carsten.domi...@gmail.com writes:

 Hi Christian, this look interesting.  Should we put this
 into the contrib directory for now, or are you aiming
 for the Org-mode core?

I'm getting all the paper work for the assignments done, so I guess we
could put it into the core. I suppose this would give it more
credibility.

What more do you need for integration in the core? 

  - Patches for the Makefile and modules customization?
  - A section in the manual?

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: [ANN] Exporter for taskjuggler

2010-04-06 Thread Christian Egli
Hi

T Helms maxco...@gmail.com writes:

 If you had a few more example sub-trees, it would help.

If you have some org-mode files which describe a project including
effort estimates (as properties) and maybe some textual dependency
description I would gladly turn them into an example.

Otherwise I can see if I can anonymize the project I'm working on.

 How difficult would it be to add gap duration to the export?

Ah, didn't think of that. Good question. Right now dependencies are
generated on export based on either ORDERED, BLOCKER or depends
properties. I guess if you had a property section as follows

:PROPERTIES:
:Effort:   03:00
:BLOCKER:  posting_controller { gapduration 5d }
:END:

the part enclosed inside {} should not be interpreted as an additional
dependency but instead as a gap duration specification. Should be
doable. I'll add it to the list.

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: orgcard.txt in Makefile

2010-04-13 Thread Christian Egli
Hi 

Nathan Neff nathan.n...@gmail.com writes:

 I'd like to use the orgcard.txt file that's included in the org-mode source.
 I like being able to search through a text file for relevant keyboard
 shortcuts.

 It doesn't seem like it's been updated since org version 6.10.

 I tried running make doc, but I don't think that orgcard.txt is generated in
 the make doc task.

AFAIK It is not.

 Is orgcard.txt generated from orgcard.tex?  If so, can anyone tell me how
 to do it?

I presume that it is converted by hand. I tried a few automated tools
(pdftotext, latex2html + w3m) but they all give very bad results.

I would recommend to either

  a) compare the existing orgcard.pdf and orgcard.txt and update the
 existing orgcard.txt accordingly or
  b) cut'n'paste the text from a pdf viewer into emacs and do some magic
 with rectangles (as the text is in three columns) to achieve the
 desired result.

Then submit the newest orgcard.txt as a patch so you will not have to
keep it locally.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Implementing Kanban in Org-mode

2010-04-14 Thread Christian Egli
Rick Moynihan rick.moyni...@gmail.com writes:

 I've recently taken an interest in Kanban, as a means of organising
 tasks in a team.  I was wondering if anyone here has tried doing this
 with org-mode, and if they have any tips.

 I can imagine org's TODO_SEQ's map nicely onto the columns in a Kanban
 task board.

They do, yes. Very interesting idea.

 It might even be possible to integrate org-mode with something like
 this html simple kanban board:

 http://www.simple-kanban.com/

I could envision a simple solution where you export your tasks via an
dynamic block and insert that into the text area of the simple kanban
board. But that is a one way solution and fails if people start dragging
the tasks around. How does this information get back into the org file?

Maybe something simpler that is not editable as a view of the tasks and
their state, i.e. a simple static html kanban board. This could be done
again with some hacking based on a dynamic block and exporting this as
csv or you could hack up some elisp creating the html based on the
mapping API[1].

 Also how might Emacs org-mode be able to render a kanban board view?
 Would it be possible to use something like the agenda to do this and
 shuffle the tasks about?

Could you not just use the the global TODO list[2] and sort the tasks by
TODO state?

HTH
Christian

Footnotes: 
[1]  http://orgmode.org/manual/Using-the-mapping-API.html#Using-the-mapping-API
[2]  http://orgmode.org/manual/Global-TODO-list.html#Global-TODO-list

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] [ANN] Exporter for taskjuggler

2010-04-19 Thread Christian Egli
Hi Dan

Thanks for your feedback.

Dan Davison davi...@stats.ox.ac.uk writes:

 A simple org file demonstrating some of the features is the most
 important thing lacking at the moment.

I'm working on an introduction on worg. Hopefully I'll have something by
the end of this week including an example org file.
 
 I encountered problems with the fact that

 - I was using `org-odd-levels-only'

Oh, OK, I'm not using this, so there might be issues there.

 - the allocate property name is required to be lower case (unlike
   Effort)

That's a general problem. The exporter needs to map between org and tj
terminology. In most cases this is not a problem as the terminology
comes from tj, e.g. 'limits', 'vacation' or also 'allocate'. Here I
assume that the property in org mode is named the same and capitalized
the same as in tj. I guess this should be stated in the documentation.

In other cases where the exporter needs to map between org and tj, e.g.
for effort, but also for completeness or dependency information, the
exporter is more forgiving. Specifically in the case of Effort it does
the downcase as Effort is an established property on org. For
completeness information it maps the TODO state (whether it is done or
not). And dependencies are taken from the BLOCKER attribute (which is
also semi-established).

I don't know if this is a good solution. I just tried to stick to the tj
property names as close as possible and only allow different names if
those concepts and names are established in org mode under a different
terminology. Hope that clears things up a bit.

 - A Resource named with Uppercase letters will be expected to be all
   lowercase by TJ (e.g. my Alf resource below).

Well resource names in tj have to conform to [A–Za–z0–9_], so what I did
in the exporter is look for an ID attribute in the resource or silently
generate an id from the resource headline. So if do not specify an ID
your resource Alf will be converted (and made unique) in
`org-taskjuggler-get-unique-id'. I guess this is a bit behind the users
back and also needs better documentation. In your case the resource will
be downcased to 'alf'. I have resources like Domain Expert, which will
be converted to domain_expert. That's why I usually add an ID property
to resources so I can easily allocate them.

 I've put patches corresponding to the hacks I made to solve these below.

Thanks for the patches. More comments below. I have an updated version
locally which also supports optional depends attributes like gapduration
and gaplength (which were requested by T Helms on the list). I hope to
publish this on a branch in the repo.

 It would also be nice if repeated invocation of
 org-export-as-taskjuggler-and-open on the same project didn't spawn
 multiple TJ instances (TJ v2.4.3 ubuntu).

Hm, yes. Good idea. Do you have an idea how this could be done easily in
elisp?

 I had a quick look at the TJ page -- it sounded as if the cross-platform
 ruby version is advancing rapidly?

Yes, I didn't even realize that a new version has come out as I'm still
using the old C++ Unix-only version.

 Make it work if `org-odd-levels-only' is in use:

 diff --git a/org-taskjuggler.el b/org-taskjuggler.el
 index e887d33..e843dcd 100644
 --- a/org-taskjuggler.el
 +++ b/org-taskjuggler.el
 @@ -309,7 +309,7 @@ the current node such as the headline, the level, todo 
 state
  information, all the properties, etc.
(let* ((props (org-entry-properties))
(components (org-heading-components))
 -  (level (car components))
 +  (level (nth 1 components))
(headline (nth 4 components))
(parent-ordered (org-taskjuggler-parent-is-ordered-p)))
  (push (cons level level) props)

Oh, OK, good catch. Does this also work if `org-odd-levels-only' is not
in use?

 Allow variations in capitalisation of allocate property name (or maybe
 the documentation should just point out that it must be lowercase)

I'd rather have the capitalisation as closely to the tj terminology as
explained above. I'd prefer to update the documentation here.

 Always output resource names lower case

I guess this is also a documentation issue. If you know how resources
will be named (either with an ID or with
`org-taskjuggler-get-unique-id') then it should be more clear how to do
the allocations.

 More comprehensible error message if you forget to define a project...

Yes, of course. I had fixed that one already locally.

So, thanks again for the feedback. I hope to have the worg page and the
code in the branch soon so things should become clearer.

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] [ANN] Exporter for taskjuggler

2010-04-20 Thread Christian Egli
John Hendy jw.he...@gmail.com writes:

 I'd stick with looking into TJ3 org-mode integration over 2.4. Or
 perhaps take a look at the first of the references on how to use both:

 - http://www.taskjuggler.org/tj3/manual/TaskJuggler_2x_Migration.html

The exporter is pretty agnostic towards either tj3 or tj2.4. It pretty
much just exports the properties you define in your nodes. It also does
some magic with regards to dependecy and resource export, but these have
not changed in tj3. While I haven't tested it with tj3 the export from
an org file should also work for tj3. You might have to tweak the
reports some, but this can be done with the customize interface.

HTH
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: unique id=-values in aggregated html-exported docs

2010-05-11 Thread Christian Egli
Dirk-Jan C. Binnema djcb.b...@gmail.com writes:

 I found a small issue when aggregating multiple org-exported-to-html
 entries into one page. The problem is that some of the html-elements have
 id=... attributes, which are supposed to be unique in a html document;
 however, this fails when aggregating different elements into one.

Can you list which html elements are the problem? 

Does it help if you use the BODY-ONLY option (C-h f org-export-as-html)?

HTH
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: A request: Moving away from ChangeLog

2010-05-21 Thread Christian Egli
Hi all

John Wiegley jwieg...@gmail.com writes:

 The Emacs ChangeLog is a file which predates the existence of freely
 available, project-wide version control. It was a way to see, in one
 place, the stream of changes occurring in a project -- something which
 RCS could not do for you.

The only problem is that we need to have a Changelog for upstream, i.e.
Emacs.

 However, in this modern era of project-wide, atomic commits, the
 ChangeLog is not only an archaism, but is a continuous source of merge
 conflicts. For example, when I reverted Russell's latest change -- a
 one-liner that was minor in the extreme -- I had to do with a merge
 conflict in lisp/ChangeLog.

If the real problem you're trying to solve is the merge conflicts you
get with the Changelog files then the solution might be Bruno Haible’s
git merge driver for GNU-style ChangeLog files[1] (available in gnulib[2]).

Automatic generation of the Changelog file sounds like a fine solution
and I'm all for it, but when it comes down to the actual requirements of
the Changelog (such as file and especially function names) things don't
look that rosy anymore (doesn't work outside of Emacs, can no longer use
M-x add-change-log-entry, etc).

So before pouring out the baby with the bathwater maybe we should at
least try if the git merge driver solves the main problem we have with
the Changelog files.  

Thanks
Christian

Footnotes: 
[1]  http://www.mail-archive.com/bug-gnu...@gnu.org/msg09183.html
[2]  
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Re: A request: Moving away from ChangeLog

2010-06-02 Thread Christian Egli
Hi Carsten

Carsten Dominik carsten.domi...@gmail.com writes:

 are we ready to install org-taskjuggler.el into Org-mode?

I modified it so that it no longer uses the ID property, so from that
perspective it should be ready. What is missing is a little section for
the manual and the integration in the the exporter and the build system.

 Where do you want it, core or contrib?

I would want to add it to the core.

 I did not yet hear from you that the FSF assignment process
 is done, could you please update me on that?

I just today got an email from FSF saying that my assignment/disclaimer
process (for all of GNU Emacs) with the FSF is complete. If you like I
can send you copies of the signed PDFs.

Should I push to a branch (e.g. taskjuggler-export) on repo.or.cz and
take it from there?

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: any idea how to convert org file to MS WORD an retain text structure?

2010-06-15 Thread Christian Egli
Rainer Stengele rainer.steng...@diplan.de writes:

 I love to edit documents in Org.

I know what you mean.

 Unfortunately I have to finally deliver text in MS Word.

Sometimes I find myself in that situation.

 Any idea how to best export/convert my org file to Word?

I've used latex export followed by latex2rtf in the past. Most things
work reasonably well, other like toc don't seem to work. So some manual
fidgeting is required in the end.

HTH
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: [PATCH] Call `start-process-shell-command' with just 3 arguments.

2010-06-17 Thread Christian Egli
Hi David


David Maus dm...@ictsoc.de writes:

 * org-taskjuggler.el (org-export-as-taskjuggler-and-open):
   Call `start-process-shell-command' with 3 arguments.
   Passing more than 3 arguments is strongly discouraged.  See
   docstring of `start-process-shell-command'.

Excellent, thanks for this patch. That is an elegant solution, it
should also work in older Emacsen. I was going to do it in a more
complicated way, querying for Emacs versions, etc.

There is one little nit though:

 -(start-process-shell-command command nil command file-name)))
 +  (let* ((file-name (buffer-file-name (org-export-as-taskjuggler)))
 +  (command (concat TaskJugglerUI  file-name)))
 +(start-process-shell-command command nil command)))

The first argument to start-process-shell-command is the name for the
process. I guess it would be nicer if this name didn't contain the
filename. So maybe something along the following would be nicer:

  (let* ((file-name (buffer-file-name (org-export-as-taskjuggler)))
 (process-name TaskJugglerUI)
 (command (concat process-name   file-name)))
(start-process-shell-command process-name nil command)))

I just checked in a patch to that effect in the taskjuggler-export
branch. Also a patch is attached.

Thanks
Christian

From 2a52eea0d0d20bfcf68375b3aa2fe5bdf402e2d3 Mon Sep 17 00:00:00 2001
From: Christian Egli christian.e...@alumni.ethz.ch
Date: Thu, 17 Jun 2010 10:37:59 +0200
Subject: [PATCH] Change invocation of start-process-shell-command to avoid warnings

Newer Emacsen changed the API of start-process-shell-command and issue
a warning if called with more than 3 args.
---
 lisp/ChangeLog  |6 ++
 lisp/org-taskjuggler.el |7 ---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d351a8a..f3ca66c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-17  Christian Egli  christian.e...@sbszh.ch
+
+	* org-taskjuggler.el (org-export-as-taskjuggler-and-open): Fix
+	the invocation of start-process-shell-command to avoid
+	warnings in newer Emacsen
+
 2010-06-08  Christian Egli  christian.e...@sbszh.ch
 
 	* org-taskjuggler.el (org-export-taskjuggler-old-level):
diff --git a/lisp/org-taskjuggler.el b/lisp/org-taskjuggler.el
index f64138e..01bfc47 100644
--- a/lisp/org-taskjuggler.el
+++ b/lisp/org-taskjuggler.el
@@ -326,9 +326,10 @@ defined in `org-export-taskjuggler-default-reports'.
   Export the current buffer as a TaskJuggler file and open it
 with the TaskJuggler GUI.
   (interactive)
-  (let ((file-name (buffer-file-name (org-export-as-taskjuggler)))
-	(command TaskJugglerUI))
-(start-process-shell-command command nil command file-name)))
+  (let* ((file-name (buffer-file-name (org-export-as-taskjuggler)))
+	 (process-name TaskJugglerUI)
+	 (command (concat process-name   file-name)))
+(start-process-shell-command process-name nil command)))
 
 (defun org-taskjuggler-parent-is-ordered-p ()
   Return true if the parent of the current node has a property
-- 
1.7.0.4


-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland
___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: New CSS for orgmode and Worg ?

2010-07-07 Thread Christian Egli
Bastien bastien.gue...@wikimedia.fr writes:

 the current CSS for orgmode.org and orgmode.org/Worg is nice: readable
 and simple.  But I'm bugged by the feeling we can do better.

What I'd like to see is something more aligned with the css for asciidoc
which makes for a very pleasant and readable experience.

Look for the css that is delivered with
http://www.methods.co.nz/asciidoc/ or in the repository at
http://code.google.com/p/asciidoc/source/browse/#hg/stylesheets

 Anyone with CSS expertise ready to take this challenge ?

Unfortunatelly my expertise is limited to trial and error when it comes
to css.

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Re: New CSS for orgmode and Worg ?

2010-07-12 Thread Christian Egli
Bastien bastien.gue...@wikimedia.fr writes:

 Christian Egli christian.e...@sbszh.ch writes:

 What I'd like to see is something more aligned with the css for asciidoc
 which makes for a very pleasant and readable experience.

 Yes, the CSS behind asciidoc is neat.

 Unfortunatelly my expertise is limited to trial and error when it
 comes to css.

 Trial and error will be very useful for suggested CSS.

Actually, come to think of it: I had totally forgotten that I once took
the css from org
(http://repo.or.cz/w/org-mode.git/blob/HEAD:/ORGWEBPAGE/org.css) and
added some asciidoc styling to it. An example output can be seen at
http://www.daisyproducer.org/. It is in a works for me state, I think
I probably hard coded some assumptions I had on my side.

The css is attached. 

If there is demand I could merge it with the original org.css or create
a patch.

Thanks
Christian

@media all
{
body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

tt {
  color: navy;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  font-family: sans-serif;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}

div.sectionbody {
  font-family: serif;
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li  p {
  margin-top: 0;
}

pre {
  padding: 0;
  margin: 0;
}

#table-of-contents {
font-size: 85%;
line-height: 1.4em;
}

#table-of-contents ul {
list-style: none;
margin: 7px 0px 7px 15px ;
padding: 0px;
}

div.content { /* Block element content. */
  padding: 0;
}

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd  *:first-child {
  margin-top: 0.1em;
}

ul, ol {
list-style-position: outside;
}

table {
border:3px solid #527bbd;
border-left-style:none;
border-right-style:none;
margin-bottom:1.5em;
margin-top:0.25em;
}
thead {
  font-family: sans-serif;
  font-weight: bold;
  border-bottom: 3px solid #527bbd;
}
tfoot {
  font-weight: bold;
}
th, td {
border-bottom: 1px solid #527bbd;
}
tbody tr:hover {
color: #527bbd;
}

code {font-size: 10pt;}

img {
border: none;
}

.share img {
opacity: .4;
-moz-opacity: .4;
filter: alpha(opacity=40);
}

.share img:hover {
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
}


}  /* END OF @media all */


@media screen
{
  body {
	margin: 10px 6% 10px 180px;
	font-family: serif;
  }

  .logo-link {
position: fixed;
top: 10px;
left: 30px;
  }

  #table-of-contents {
	position: fixed;
	display: block;
	left: 10px;
	width: 150px;
	min-height:60px;
	max-height:90%;
	overflow:auto;
  }

  #table-of-contents h2 {
	display:none;
  }



  /* These style are only for IE: */

  * html {
overflow-y: hidden;
padding-bottom:0px;
margin:0px;
  }

  * html body {
height: 100%;
overflow-y: auto;
font-size: 100%;
margin: 0px 0px 0px 180px;
padding: 0px 10% 0px 0px;
  }

  * html #table-of-contents {
position: absolute;
width:150px;
  }

  * html h1 {
margin-top:10px;
  }

  * html .logo-link {
position: absolute;
top: 10px;
left: 30px;
  }

}  /* END OF @media screen */




/* Printing */



@page
{
	margin-top:3cm;
margin-bottom:2.5cm;
}

@page :left
{
  margin-left:1.5cm;
  margin-right:2cm;
}

@page :right
{
  margin-left:2cm;
  margin-right:1.5cm;
}


@media print
{
  body {
	margin:0px;
	font-family: Verdana, Helvetica, sans-serif;
  }

  div {
orphans:2;
  }

  p {
orphans:2;
  }

  li {
orphans:2;
  }

  .logo-link {
top: 10px;
left: 30px;
  }

  #table-of-contents h2 {
margin-top:1.5cm;
page-break-before:auto;
border-style:none;
  }

  #text-table-of-contents {
width:50%;
margin-top:1cm;
margin-left:0cm;
margin-right:auto;
text-align:left;
  }

  #table-of-contents ul {
text-align:left;
  }

  h2 {
/* page-break-before:always; */
  }

  pre {
page-break-inside:avoid;
  }

  /* Hide all org-info.js stuff for printing: */

  div#org-info-js_console-container {
display:none;
  }

  div.org-info-js_local-toc {
display:none;
  }

  table.org-info-js_info-navigation {
display:none;
  }
  div.org-info-js_header-navigation {
display:none;
visibility:hidden; /* needed to overwrite the hardcoded style setting... */
  }

}  /* END OF @media print */

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland
___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http

[Orgmode] Re: LaTeX calendar from org-mode agenda?

2010-07-15 Thread Christian Egli
Alan E. Davis lngn...@gmail.com writes:

 It seems possible that at least one of the LaTeX / org gurus on this
 list has used LaTeX monthly calendars.  I have had some problems with
 LaTeX calendars, but they look really nice, and it would seem not
 unlikely to use that format as an output from Org-agenda.

Well, I haven't used it in a while, but there is code[1] in the contrib
section that generates hipster pda style calendars[2] for you.
Admittedly it just uses the cal-tex-* infrastructure, so if you have
problems with that, I guess this is of little help.

 I found LaTeX monthly calendars pretty ridiculous when they are
 bloated with dozens of repeated tasks from the diary file.  A well
 sorted list of events would seem to me to suite this nice-looking hard
 copy calendar nicely.  

Maybe you should define what your requirements are, i.e. how exactly you
want your calendar to look. Then as a next step you might want to try to
get a mock-up using tikz (and its calendar library)[3]. Once you have
that I'd be happy to hack up some lisp that generates the tikz latex
from say an Org Mode Agenda view or from a diary file.

 The ability to print out a nice, concise hardcopy checklist from
 org-agenda would make a world of difference.

OK, this seems like another requirement unrelated to the calendar above.
You know that you can export an agenda view to PDF, html or text[4].
If that is not enough, again, create a mock-up using tikz to make it
really nice looking. I will then help you to write the lisp to generate
the needed latex. I've long wanted some nice looking export of the
agenda. Your input might just give me enough impetus to hack something
up.

Thanks
Christian

Footnotes: 
[1]  http://repo.or.cz/w/org-mode.git/blob/HEAD:/contrib/scripts/org2hpda
[2]  http://en.wikipedia.org/wiki/Hipster_PDA
[3]  http://www.texample.net/tikz/examples/feature/calendar-library/
[4]  http://orgmode.org/manual/Exporting-Agenda-Views.html
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] [PATCH] Make the number of printed weeks configureable

2010-08-30 Thread Christian Egli

This is useful for the hipster PDA where you might want to print more
weeks than just four.
---
 contrib/scripts/org2hpda |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/contrib/scripts/org2hpda b/contrib/scripts/org2hpda
index 1957aa9..6b308f3 100755
--- a/contrib/scripts/org2hpda
+++ b/contrib/scripts/org2hpda
@@ -44,6 +44,11 @@ EMACS = emacs -batch -l ~/.emacs
 LATEX = latex
 DIARY = $($(EMACS) -eval diary-file)
 
+# Number of weeks to be printed. Should be a multiple of 4, because 4
+# of them are merged on one page. Can be set when invoking the script
+# as follows: make NUMBER_OF_WEEKS=8 -f org2hpda
+NUMBER_OF_WEEKS = 4 
+
 hipsterFiles =  weekCalendar.pdf yearCalendar.pdf monthCalendar3.pdf 
monthCalendar2.pdf monthCalendar1.pdf
 pocketModFiles =  weekCalendar.pdf yearCalendar-rotated.pdf \
monthCalendar3-rotated.pdf monthCalendar2-rotated.pdf 
monthCalendar1-rotated.pdf
@@ -73,7 +78,7 @@ all: pocketMod.pdf hipsterPDA.pdf
done
 
 weekCalendar.tex: $(DIARY)
-   $(EMACS) -eval (progn (calendar) (cal-tex-cursor-week-iso 4) 
(with-current-buffer cal-tex-buffer (write-file \$...@\)))
+   $(EMACS) -eval (progn (calendar) (cal-tex-cursor-week-iso 
$(NUMBER_OF_WEEKS)) (with-current-buffer cal-tex-buffer (write-file 
\$...@\)))
 
 monthCalendar1.tex: $(DIARY)
 $(EMACS) -eval (progn (calendar) (cal-tex-cursor-month-landscape 1) 
(with-current-buffer cal-tex-buffer (write-file \$...@\)))
-- 
1.7.0.4

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Orgmode: exporter for taskjuggler

2010-09-02 Thread Christian Egli
Markus Heller helle...@gmail.com writes:

 Hello Christian,

 I'm very interested in using your taskjuggler export from orgmode.
 Unfortunately, I'm on a Windoze box, and getting TJ2 to work is a big
 pain ...  However, TJ3 is fairly straightforward, since it's Ruby, so
 I'm wondering, do you have any plans of including support for TJ3 as
 well?  I know it's still in alpha, but just asking :)

I myself use tj2, so the exporter is tested for that. Initially I had
thought that the exporter was also working for tj3 since the differences
in the syntax are supposedly very minor. But I've had reports by users
that the exporter generates code that doesn't work with tj3.

I just installed tj3 and tested it with a generated tjp file. There are
a number of problems: you need to replace all occurrences of purge
allocations with purge allocate. Also you seem to be required to mark
all milestones explicitly (with milestone). Thirdly you need to
change the report definitions.

- The issue with purge allocate needs to be changed in the exporter
  code. For now you will have to search and replace as mentioned above.

- The milestone issue can be dealt with by assigning the milestone
  property to an item. It would be nicer if this just worked if an item
  doesn't have an effort property.

- The problems with reports can be solved by changing the report
  definition (via customize) 

I'll have to work with the taskjuggler list to see if and what we can do
about these issues, if we can somehow ease the migration.

Hope that helps
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: task juggler export

2010-09-06 Thread Christian Egli
Eric S Fraga ucec...@ucl.ac.uk writes:

 However, org-taskjuggler seems to use the global value regardless.  

Hm, org-taskjuggler doesn't do anything magic here. It just takes the
value of org-export-taskjuggler-default-project-duration.

 Is there something I need to do to get it to pay attention to my file
 local variable value? A pointer to a relevant section in the emacs
 lisp manual would suffice

I just looked at the help string for defcustom (C-h f defcustom) where
it says: 

 If symbol has a local binding, then this form affects the local
 binding. This is normally not what you want. Thus, if you need to load
 a file defining variables with this form, or with `defvar' or
 `defconst', you should always load that file _outside_ any bindings
 for these variables. (`defvar' and `defconst' behave similarly in this
 respect.)

So if I understand this correctly it appears that defcustom is
overwriting your file variable. I don't understand however how you could
make your file variable work.

Maybe the variable org-export-taskjuggler-default-project-duration needs
to be buffer-local. How does this interact with defcustom?

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: FLOSS Weekly show about Org-mode

2010-09-27 Thread Christian Egli
Bastien bastien.gue...@wikimedia.fr writes:

 Jeff Horn jrhorn...@gmail.com writes:

 I wanted to mention how great it would be to have an org-mode
 conference. 

 If many people support this idea, this is how we could do it:

 1. list ideas of things we would do there

Meet and talk about org-mode :-)

 2. find out what would be the best location/date

We could probably get a developer room at next years FOSDEM[1]. They
provide rooms where projects can organize their own schedule, made of
presentations, brainstorming and hacking sessions. You have to apply[2]
for such a developer room as they always receive more requests than
they can host.

Also of course Carsten would make for a good main track speaker[3].

 3. figure out how much money does it requires

I don't know the details but I could imagine that this would not require
any money.

 4. decide (or not) to go for it

Write the application and see if they'll give you a room :-). If there
is a room I'll come and do a presentation :-).

Thanks
Christian

Footnotes: 
[1]  http://www.fosdem.org/2011/
[2]  http://www.fosdem.org/2011/call_for_devrooms
[3]  http://www.fosdem.org/2011/call_for_main_speakers

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Orgmode meetup at FOSDEM, February 2011. Who would come?

2010-09-29 Thread Christian Egli
Carsten Dominik carsten.domi...@gmail.com writes:

 Please reply to this email if you'd consider to come to FOSDEM[1,2],
 February 5 and 6 next year in Brussels, in order to join an Org-mode
 meet-up there.

Thanks for getting this started.

 - [X] I would come and listen

I always like to go to FOSDEM and eat some Belgian waffles :-)

 - [X] I would come and give a talk in the devroom

Sure, I could talk about taskjuggler integration.

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: How do I convert org to OpenOffice?

2010-09-30 Thread Christian Egli
Matt Lundin m...@imapmail.org writes:

 Lennart Borgman lennart.borg...@gmail.com writes:

 There is a way, isn't there? ;-)

 I've had great success with LaTeX2rtf (i..e, org-LaTeX-rtf). As long
 as you are not using too many exotic packages, it works like a charm.

It works fairly well with LaTeX2rtf. Cross references didn't work
though.

A colleague just showed me PyODConverter[1] which seems to be some kind
of command line remote control for OO.o. So what you do is to export org
to html and then use PyODConverter to convert html to doc. According to
him it works well.

HTH
Christian

Footnotes: 
[1]  http://www.artofsolving.com/opensource/pyodconverter
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: TaskJuggler 3, revisited

2010-10-18 Thread Christian Egli
Anthony Lander anthonylan...@yahoo.com writes:

 Is anyone interested in the changes I've made for tj2? I unfortunately
 don't have time to document them, except in point form as above, but I
 am happy to put together a patch and send it to the list for others to
 bang away on.

I'm very interested in these patches and would definitely like to see
them, documented or not. It sounds like they should be integrated in the
exporter.

 2. Carsten, would you be interested in these changes, and/or a
 taskjuggler3 exporter?

I was hoping to have only one taskjuggler exporter which can handle both
tj2 and tj3, possibly depending on a defcustom.

Thanks
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: TaskJuggler 3, revisited

2010-10-18 Thread Christian Egli
Eric S Fraga ucec...@ucl.ac.uk writes:

 For the recent project I had to prepare, I did have to generate a
 GANTT chart.  I tried using TJ2 via org but found the current
 implementation not suitable for my way of working.  

What are the problems you encountered?

 Instead of using TJ, either 2 or 3, I simply created my own chart
 using tikz in latex. 

Sweet hack! And looks quite nice too.

Thanks

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Re: TaskJuggler 3, revisited

2010-10-19 Thread Christian Egli
Hi Anthony

Anthony Lander anthonylan...@yahoo.com writes:

 Please find attached a somewhat improved version of your TJ2 exporter,
 a drop-in replacement that exports to TJ3, and also a sample .org
 file. 

This is all exciting stuff. It's a little hard to digest (many changes
rolled into one, white space formatting changes that make it hard to find
the real change, common lisp idioms which I'm not familiar with). Let me
get back to you with some questions and then we can discuss how to most
easily merge the stuff.

- Why did you compute the leafiness? I seem to have experienced that tj3
  has a problem with zero effort tasks that aren't marked as milestones.
  Is that the reason?

- Why do you add a duration of 1d if the task has neither a duration, an
  end, a period nor an effort? Shouldn't that be a milestone instead?

- I see that there is a need to annotate a project with stuff such as
  scenarios, etc and I was missing a way to have file specific reports
  or other globals. Your additional tags solve that problem. However I'm
  a bit reluctant to add more magic tags that mark the trees in some
  way. I was hoping to find a more general way for this problem. So far
  I haven't found a good solution though.

- I like the idea of the TJ drawer, but in the end you just seem to use
  it for the project node and the globals node. So in essence they are
  taskjuggler source code blocks (in disguise) which are tied to a
  particular node. In fact they are not even really tied to a particular
  node, especially in the case of the globals. This goes back to the
  previous question about a good way to add file specific globals. Maybe
  some kind taskjuggler specific export option is really what we are
  looking for.

As an aside, I think it's better to post the source code to the list.
There might be other people interested in it and pitching in with
opinions and improvements.

Thanks
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] [PATCH] Fix an error in org-taskjuggler-get-unique-id

2010-10-20 Thread Christian Egli

Don't try to pop from an empty list and downcase the result
---
 lisp/org-taskjuggler.el |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lisp/org-taskjuggler.el b/lisp/org-taskjuggler.el
index 23f4b62..6367b7a 100644
--- a/lisp/org-taskjuggler.el
+++ b/lisp/org-taskjuggler.el
@@ -503,7 +503,7 @@ finally add more underscore characters (\_\).
 (parts (split-string headline))
 (id (org-taskjuggler-clean-id (downcase (pop parts)
 ; try to add more parts of the headline to make it unique
-(while (member id unique-ids)
+(while (and (member id unique-ids) (car parts))
   (setq id (concat id _ (org-taskjuggler-clean-id (downcase (pop 
parts))
 ; if its still not unique add _
 (while (member id unique-ids)
-- 
1.7.0.4


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Re: TaskJuggler 3, revisited

2010-10-28 Thread Christian Egli
Hi Anthony

Anthony Lander anthonylan...@yahoo.com writes:

 Is the unfamiliar idiom the backtick list with the ,variables in it,
 by chance?

No it was more stuff like `return' and `return-from'.

 Ah, sorry. This I should have documented. The problem is that TJ3
 fails to compile the file if there is a leaf node with no computable
 end date. TJ2 happily ignored the situation, but TJ3 throws an error.

OK, I understand. I managed to slowly integrate (some of) your changes.
It should now generate milestones for nodes that cannot be scheduled and
are leaf nodes. So basically it should export valid code for tj3 if you
set org-export-taskjuggler-target-version to 3.0. Of course the report
definitions in the defcustom org-export-taskjuggler-default-reports are
not compatible with tj3 so you will need to change these.

I have (or I guess rather had) some fondness for recursive functions, so
I re-implemented your leafiness function recursively. However I ran into
problems with max-lisp-eval-depth and it appears that recursion is not
encouraged in Emacs lisp
(http://www.gnu.org/s/emacs/manual/html_node/elisp/Compilation-Tips.html#Compilation-Tips).
So I guess it's back to iterative style.

 In any event, the TJ drawer is my attempt at a catch-all solution. It
 at least allows a user to use missing features without waiting for a
 development change. So for example, I personally will never use the
 accounting stuff, and would not be very motivated to add it to the
 exporter, but if someone needed it, they could put the required code
 in the TJ drawer, and they could still use the TJ exporter for their
 project instead of having to abandon org-mode entirely for one missing
 feature.

I like the drawer stuff and will integrate it.

 Interesting thought. I very much like the idea that you can do other
 things with your org-file than export it to taskjuggler. For example,
 keep actual notes in the file, and export it to other formats like
 html or LaTeX, for purposes other than project planning. 

Absolutely, I agree.

 Being able to say no, this is not a task in the task tree would be
 very useful. I don't know how to do it nicely either (yet).

Hm, no this is not possible right now. Why would you want to do this?
Maybe we could just mark it as a comment and make the exporter honor
comments.

 How about if we set up a git repository on github
 with the files, and then post the link on the mailing list? 

I set up a repo and pushed my changes to the code there
(http://github.com/egli/org-mode).
 
 I think we should put your email, and this reply to the
 list as well.

Yes, I almost forgot. Would you mind doing that?

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: TaskJuggler 3, revisited

2010-10-29 Thread Christian Egli
John Hendy jw.he...@gmail.com writes:

 - is there any progress on an exporter for tj3?

Yes there is. See
http://github.com/egli/org-mode/blob/master/lisp/org-taskjuggler.el

 - does anyone have a vague sketch of what needs to happen?

The export to tj3 should basically work now. Just customize
`org-export-taskjuggler-target-version' to 3.0 and you should be set.
You still need to adapt the default reports[1], as they no longer work
with tj3.

`org-export-as-taskjuggler-and-open' needs to be adapted and also there
are some other incoming patches from Anthony Lander that I need to
integrate.

 - can I do grunt work for someone to make this happen?

Testing would help.

Thanks.


Footnotes: 
[1]  `org-export-taskjuggler-default-reports'

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: TaskJuggler3, revisited

2010-11-08 Thread Christian Egli
John Hendy jw.he...@gmail.com writes:

 Nice! I was able to do the following:

Heh, I assume you used Anthony's fork of the exporter. There's lots of
good stuff in there that I'd like to integrate. I have asked Anthony if
he has a copyright assignment with the FSF.

 - swap out the default export with the code below and run tj3 tj3-test.tjp 
 and get a nice html report!
 --- If you're looking for a default tj3 export... perhaps start with what's 
 below?

My exporter currently has one customize variable to define global
reports, so if you want to use tj3 you'll have to change this. We could
add another customize variable where you can define global reports for
tj3 and put your defaults in there.

 The export code that creates quite a nice html report (from tj3
 documentation)

This seems like a good default. Did you take this from the tj3
documentation? I believe it is released under the GFDL. Can you just
include GFDL code in the taskjuggler exporter which is GPL3+?

Thanks
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: TaskJuggler3, revisited

2010-11-08 Thread Christian Egli
John Hendy jw.he...@gmail.com writes:

 On Fri, Nov 5, 2010 at 7:29 AM, Anthony Lander anthonylan...@yahoo.com 
 wrote:

 If you grabbed the code I wrote, you can export the file, and
 compile it directly with tj3 using C-c e J, saving a step.

 That would be awesome.

On C-c e j the current exporter just exports to tj2. On C-c e J it opens
the TaskJuggler GUI (which compiles and visualizes). Now for tj3 I would
assume that a corresponding action would be to let tj3 compile the
exported tjp file and open the resulting reports(s), be it in a browser
or a text editor. In theory we would probably need another key binding
to just compile the tjp file. This is similar to the LaTeX exporter
where you can (1) just export, (2) process the exported LaTeX and (3)
open the resulting PDF.

Opening report files (text or html) should be fairly simple using
org-open-file. The hard part is knowing what files to open without
having to parse the report definition to figure out the file names.
Maybe the output of tj3 gives a hint what report files were produced.

 - swap out the default export with the code below and run tj3
 tj3-test.tjp and get a nice html report!
 --- If you're looking for a default tj3 export... perhaps
 start with what's below?

 But note that I have to do some manual steps on the .tjp before
 compiling with tj3. My main issue is defining the report. How do you
 define the report manually in the .org file or elsewhere so that tj3
 doesn't try it on the default tj2 report instead. When I do C-c e J
 currently, I get no output files; essentially it's just a silent fail.

Currently the way to define reports is through the customize variable.
But this is then used for all taskjuggler exports. To support file
specific reports I was thinking that we should use the #+BEGIN_foo
mechanism, i.e. introduce a TaskJuggler blocks with #+BEGIN_TaskJuggler
and #+END_TaskJuggler. These could then be used for example to define
reports. This would require some changes to org-exp.el.

Thoughts? Ideas?
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Re: Project management Dynamic block per tag + [Babel]

2010-11-26 Thread Christian Egli
Francesco Pizzolante
f...@missioncriticalit.com writes:

 I'm using Org to manage a project.

 I need to output a tasks list for every of my colleagues, person per person.

 I'm currently using tags to assing people to tasks (even if I'm not completely
 convinced that this is the right way to go).

Babel is of course one way to do this. Another way would be to export
your org file to taskjuggler[1] and define a resourcereport[2] which
shows you all the resources and their tasks. The tutorial has an
example screen shot where you see a resource report[3].

Hope that helps
Christian

Footnotes: 
[1]  http://orgmode.org/worg/org-tutorials/org-taskjuggler.php
[2]  
http://www.taskjuggler.org/manual-2.4.3/generating_reports_of_the_scheduled_projects.html
[3]  http://orgmode.org/worg/images/taskjuggler/resource-graph.png
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [O] What to do with taskjuggler's Plan.html report?

2014-10-31 Thread Christian Egli
Hi Thorsten

Thorsten Jolitz tjol...@gmail.com writes:

 when I run 'tj3' on a taskjuggler file (.tjp) exported from Org, I get
 the reports as 'Plan.html' file.

 I can have a look with my browser, but thats not really what I want - I
 want to integrate the reports in a LaTeX document (exported from Org). 

 Did anybody try to use TJ3 with Org-mode and has some insights here?

I've never tried it but tj3 has the possibility to also generate reports
csv or XML. So you might be able to create a report which dumps the list
of tasks and their dates into a csv. Given this you could try to create
a LaTeX document (maybe even using the pgfgantt[1] package).

Thanks
Christian

Footnotes: 
[1]  http://www.ctan.org/pkg/pgfgantt
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [RFC] Change property drawer syntax

2014-10-31 Thread Christian Egli
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 As discussed previously, I would like to modify property drawers syntax.
 The change is simple: they must be located right after a headline and
 its planning line, if any.

 Feedback welcome.

 If there is no more feedback or objection, I will merge the branch on
 Tuesday.

I see that it is too late now, but let me still note that the
taskjuggler exporter is quite liberal in what attribute values it allows
for exporting. I've never used it and I haven't ever seen anyone using
it, but in theory you could give a task a note or a journalentry which
spans multiple lines. This will no longer be possible with this change.

I guess if anyone ever wants to specify notes and journalentries for a
task and export this to taskjuggler they will have to put it on one
line.

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] Proper settings for tj3 report directory/output?

2014-10-31 Thread Christian Egli
Hi John

John Hendy jw.he...@gmail.com writes:

 I just re-set up tj3 on a new work computer and am a bit puzzled by
 the report directory structure.

 If I use C-e J p instead, I get:
 ~/working_dir/file.org
 ~/working_dir/file.tjp
 ~/working_dir/reports/Overview.html
 ~/working_dir/reports/taskjuggler/{css,examples,icons,scripts}

I cannot reproduce this behaviour. 

 I'm a bit confused by both behaviors. The variables I've defined in .emacs 
 are:

 org-taskjuggler-target-version: 3.5
 org-taskjuggler-default-reports: include reports.tji (custom report
 I've defined)

 As far as I know, these are relevant but left as the default that came with 
 org:
 org-taskjuggler-proces-command: tj3 --silent --no-color --output-dir %o %f
 org-taskjuggler-reports-directory: reports

Your analysis is correct. The pertinent vars are mostly
org-taskjuggler-reports-directory, org-taskjuggler-proces-command and to
some extent org-taskjuggler-target-version. And as you see the exporter
just delegates to tj3 to put the reports in a specific directory by
using --output-dir. This should work.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [RFC] Change property drawer syntax

2014-11-03 Thread Christian Egli
John Hendy jw.he...@gmail.com writes:

 I use this, or at least things like this. For example:

 * task
 :PROPERTIES:
 :start:2014-11-03-08:00
 :task_id:  task_d
 :depends: task_a task_b task_c
 :duration: 30min
 :END:

 Not multi-line, but currently I can feed any property that matches a
 tj3 attribute (e.g. task_id) and Org will do the right thing.

This usage is perfectly fine and will continue to work. There are some
very obscure attributes that taskjuggler (and the exporter) support,
such as note and journalentry. These can span multiple lines. They can
be used to add notes or more structured journal entries. A
journalentry has several subparts (headline, summary, etc) but I don't
think we need to support this. IMHO the best resolution to this is to
simply take the two attributes note and journalentry out of the list of
exported attributes.

Or maybe better yet, add a note to the docstring. Maybe I'll just do
that.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [RFC] Change property drawer syntax

2014-11-03 Thread Christian Egli
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Hello,

 Christian Egli christian.e...@sbs.ch writes:

 I see that it is too late now, but let me still note that the
 taskjuggler exporter is quite liberal in what attribute values it allows
 for exporting. I've never used it and I haven't ever seen anyone using
 it, but in theory you could give a task a note or a journalentry which
 spans multiple lines. This will no longer be possible with this
 change.

 I'm not sure to understand what is a note or a journalentry which spans
 multiple lines. Could you give an example?

Speaking in taskjuggler syntax it would be as follows:

task alpha Alpha Test {
  effort 1w
  depends !!software
  allocate test, dev2
  note Hopefully most bugs will be found and fixed here.
  journalentry 2002-03-01 Contract with Peter not yet signed {
author boss
alert red
summary -8-
  The paperwork is stuck with HR and I can't hunt it down.
-8-
details -8-
  If we don't get the contract closed within the next week,
  the start of the testing is at risk.
-8-
  }
}

AFAIK the org-mode taskjuggler exporter was previously able to handle
this if given the following headline:

* task
:PROPERTIES:
:Effort:  1w
:depends: software
:allocate: test dev2
:note: Hopefully most bugs will be found and fixed here.
:journalentry: 2002-03-01 Contract with Peter not yet signed {
author boss
alert red
summary -8-
  The paperwork is stuck with HR and I can't hunt it down.
-8-
details -8-
  If we don't get the contract closed within the next week,
  the start of the testing is at risk.
-8-
  }
:END:

Oh, and btw: there can be more than one journalentry. So, given this
taskjuggler feature is not very often used and drawer machinery is not
really suited for this use case I suggest we just drop support for it.
Maybe the user can just squeeze the whole entry on one line interspersed
with \ns.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [BUG] ox-taskjuggler: unable to use depends {gapduration}

2014-11-05 Thread Christian Egli
John Hendy jw.he...@gmail.com writes:

 I ran into an odd issue with a taskjuggler task tree I'm working on
 when trying to apply a gapduration attribute to a task dependency.
 Typically, I can just pass any valid taskjuggler attribute through
 using properties, but my export was producing an error when trying to
 use:

 :depends: task {gapduration 1h}

 Oddly, the output is as follows (task section):

 #+begin_src test.tjp

 task test test {
   task task1 task1 {
 milestone
 start 2014-11-05-08:00
   }
   task task2 task2 {
 depends !task1 t :taskjuggl
 duration 1h
   }
 #+end_src

 For some reason it's grabbing the taskjuggler tag! I tried with the
 example in ox-taskjuggler.el with the same result.

 Is this a bug or am I mis-interpreting how this would work?

No it is indeed a bug. At first I thought this was simply no longer
working in the new exporter but I was wrong. Nicolas of course
implemented it and way more. But there is a subtle bug. I actually found
it because I wondered about the funny t :taskjuggl in the output.
Here's the fix.

diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
index 807d702..9e977f6 100644
--- a/contrib/lisp/ox-taskjuggler.el
+++ b/contrib/lisp/ox-taskjuggler.el
@@ -600,7 +600,7 @@ doesn't include leading \depends\.
   (let ((id (org-element-property :TASK_ID dep)))
 (and id
  (string-match (concat id  +\\({.*?}\\)) dep-str)
- (org-match-string-no-properties 1
+ (org-match-string-no-properties 1 dep-str
  path)
  ;; Compute number of exclamation marks by looking for the
  ;; common ancestor between TASK and DEP.

Nicolas, I can push this myself but I haven't pushed to the repo in
years. What is the current way? Do I just push to master?

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [BUG] ox-taskjuggler: unable to use depends {gapduration}

2014-11-06 Thread Christian Egli
Nicolas Goaziou m...@nicolasgoaziou.fr writes:

 Nicolas, I can push this myself but I haven't pushed to the repo in
 years. What is the current way? Do I just push to master?

 I think you should push to maint, so that users of org+contrib package
 can benefit from your fix soon enough.  You then need to merge maint
 into master.

OK, the fix is pushed to maint and merged to master.

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [bug] ox-taskjuggler

2015-01-26 Thread Christian Egli
Søren Mikkelsen so...@aamikkelsen.dk writes:

 On 2015-01-23 09:59, Christian Egli wrote:
 Søren Mikkelsen so...@aamikkelsen.dk writes:
 
 It works, but only for tasks that aren't having a start
 attribute. It is possible to give a warning if the start
 attribute already exists and make the default one, the one
 specified in the attributes (drawer)?
 
 What exactly doesn't work? Are there two start entries in the task?
 One because of the SCHEDULED property and one because of the the
 start property?
 
 Then you might have to remove the start property from 
 org-taskjuggler-valid-task-attributes before adding the other
 valid attributes i.e.
 
 ;; Add other valid attributes. (org-taskjuggler--indent-string 
 (org-taskjuggler--build-attributes task
 org-taskjuggler-valid-task-attributes))
 
 Might have to become (untested)
 
 ;; Add other valid attributes. (org-taskjuggler--indent-string 
 (org-taskjuggler--build-attributes task (remq 'start
 org-taskjuggler-valid-task-attributes)))
 
 HTH Christian
 
 The problem by removing the start attribute is that it destroys the
 backward compatibility. I want ox-taskjuggler to accept both methods,
 where the start property attribute overrules the scheduled attribute,
 if this is present.

I don't understand. You get the start of a task using
org-taskjuggler-get-start. This can be either the start attribute or the
SCHEDULED attribute. Then you insert this in the task if it is non-nil.
Since you have dealt with this attribute already you don't need to
handle it in org-taskjuggler--build-attributes. Hence you remove it
(just for this call) from the list of task attributes that need to be
handled.

HTH
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [bug] ox-taskjuggler

2015-01-22 Thread Christian Egli
Søren Mikkelsen so...@aamikkelsen.dk writes:

 It would, however, make sense to be able to scheduled tasks where
 interpreted as the start time, if the org-file is used for more than
 just generating the report.

I agree that it would make sense to use the scheduled date as the start
time. The same is probably true for DEADLINES as well. IIRC there was a
patch once for deadlines which I never managed to integrate.

Anyway what you would like doesn't seem very hard to implement: Just add
another statement to the (let*) of org-taskjuggler--build-task where you
get the start time using the org-taskjuggler-get-start function. Then
just insert the start time in the (concat) statement maybe right after
(and priority (format   priority %s\n priority))

Let me know if you need any help

Thanks
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] [bug] ox-taskjuggler

2015-01-23 Thread Christian Egli
Søren Mikkelsen so...@aamikkelsen.dk writes:

 It works, but only for tasks that aren't having a start attribute. It
 is possible to give a warning if the start attribute already exists
 and make the default one, the one specified in the attributes (drawer)?

What exactly doesn't work? Are there two start entries in the task? One
because of the SCHEDULED property and one because of the the start
property?

Then you might have to remove the start property from
org-taskjuggler-valid-task-attributes before adding the other valid
attributes i.e. 

;; Add other valid attributes.
(org-taskjuggler--indent-string
 (org-taskjuggler--build-attributes
  task org-taskjuggler-valid-task-attributes))

Might have to become (untested)

;; Add other valid attributes.
(org-taskjuggler--indent-string
 (org-taskjuggler--build-attributes
  task 
  (remq 'start org-taskjuggler-valid-task-attributes)))

HTH
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] Editing the taskreport plan width value in taskjuggler taskreport output

2017-03-07 Thread Christian Egli
Rob Stewart <robstewar...@gmail.com> writes:

> The contents of the exported TaskJuggler .tjp file includes:
>
> # A traditional Gantt chart with a project overview.
> taskreport plan "" {
> headline "Project Plan"
> columns bsi, name, start, end, effort, chart
> loadunit shortauto
> hideresource 1
> }
>
> This renders HTML with a fairly narrow Gannt chart on wide screens.
>
> To widen the rendered Gannt chart, I modify the .tjp file manually
> using { width 1000 }, i.e.:
>
> columns bsi, name, start, end, effort, chart { width 1000 }
>
> Is there a way to set an option at the top of my org file, to
> manipulate the "columns... " line in the taskreport { .. } ?

Have you tried to customize org-taskjuggler-default-global-properties?
That might do what you're after.

HTH
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: [O] taskjuggler subtract scheduled and deadline

2018-05-15 Thread Christian Egli
Bastien <b...@gnu.org> writes:

> @Christian: I don't remember if you are still using and
> maintaining ox-taskjuggler.el -- feel free to correct me
> if I'm wrong!

No I'm barely using it anymore, let alone maintaining it.

As for Edgars question

> Is there a way to set starting and ending times with a resolution of
> hours or minutes to be exported with taskjuggler?

AFAIK there isn't. Your patch was good start, but your expressions
inside the (or ...) were such that the one that collected the time was
never executed.

I see three options:

1. Hack the exported taskjuggler file. A hack but gets the job done
2. Try to use the START attribute on the node
3. Improve the source of ox-taskjuggler.el as you've started.

Hope that helps
Christian

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Org mode for meeting minutes

2019-10-31 Thread Christian Egli
Hi all

I'd like to revisit a very old thread[1] where Adam Spiers asks if there
is support in Org mode for

1. Allow *fast* production of meeting agendas and minutes, exportable in
   a good-looking legible format which non-org readers can digest.

2. Allow minutes to be taken as the meeting progresses, minimising the
   amount of work required after the meeting.

3. Allow actions to be captured and then automatically extracted into a
   simple tabulated report which clearly shows actions grouped by owner.

4. Track progress of actions *after* the minutes have been issued.

He goes on to say that org mode handles (1) and (2) just fine, but he
wasn't sure about (3) and (4).

His mail is from 2008 and a lot has happened in the mean time. I would
suggest that today (1) and (2) can be handled with normal org export or
even pandoc. Inline tasks[2] help a lot to add, well inline tasks. For (3)
and (4) he mentions a dynamic block that could collect all action items.

I never found that dynamic block he mentions, so I hacked one up (which
was suprisingly easy). I haven't packaged it but the gist of it is
below:

``` elisp
(require 'org)
(require 'dash)

(defun org-actionitems-extract-entry ()
  (-let* ((entries (org-entry-properties))
  (( "ITEM" "TODO" "DEADLINE") entries))
(list ITEM TODO DEADLINE)))

(defun org-dblock-write:actionitems (params)
  (let ((match (or (plist-get params :match) "/+TODO")))
(insert-before-markers "| What | Who | When |\n")
(insert-before-markers "|-\n")
(let* ((tasks (org-map-entries 'org-actionitems-extract-entry match))
   (rows (-map (lambda (task)
 (->> task
  (-map (lambda (item) (or item "")))
  (apply 'format "| %s | %s | %s |")))
   tasks))
   (table (string-join rows "\n")))
  (insert-before-markers table))
(org-table-align)))
```

The idea is that you use type todos using the people involved at the
meeting. Below is an example how this could look:

``` org
#+title: Meeting minutes

#+TYP_TODO: Fred Sara Lucy Mike | DONE

** Present at meeting
- [X] Fred
- [X] Sara
- [X] Lucy

** Agenda
- Reports from the sub teams
- Discussion

** Notes
*** Reports from the sub teams
- The order has arrived
*** Fred Check if the order is complete
DEADLINE: <2019-11-04 Mo>
*** END
- The next talk is scheduled
*** Mike Organize a speaker
DEADLINE: <2019-11-12 Di>
*** END

* Actions
#+BEGIN: actionitems :match "/Fred|Sara|Lucy|Mike"
| What   | Who  | When|
|+--+-|
| Check if the order is complete | Fred | <2019-11-04 Mo> |
| Organize a speaker | Mike | <2019-11-12 Di> |
#+END:
```

Before I go on with this I'd like to know

1. Is the worg page[3] the state of the art in taking meeting minutes
   with org mode?
2. Is it worth packaging this code snippet or should I try to submit it
   to org mode proper?

Any thoughts on this or other ideas very welcome!

Thanks,
Christian

Footnotes: 
[1]  https://lists.gnu.org/archive/html/emacs-orgmode/2008-02/msg00117.html
[2]  https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-inlinetask.el
[3]  https://orgmode.org/worg/org-tutorials/org-meeting-tasks.html





Re: Org mode for meeting minutes

2020-03-26 Thread Christian Egli
Hi Timm

Timm Lichte writes:

> Glad you find it interesting. I think both ways of taking notes have
> their merits and use cases. In small productive project meetings, I'd
> rather use more of the org-mode infrastructure. When there is a larger
> event with changing participants and its really important to document
> and keep track of what is going on, simple annotated lists fare better
> in my experience.

I think you are probably right. When taking notes quickly your approach
without having to fidget with Tasks is probably faster. I just did not
want to stray too far off plain org-mode notation.

>> If I understand correctly you are defining some kind of extra list
>> markup (is something a task or a decision, etc) and the you wrote a
>> custom exporter that produces fancy LaTeX for the minutes (well, if I
>> understand correctly it really is a custom exporter that generates
>> org-mode and then LaTeX from there).
>
> Yes, I'm basically extending the syntax for descriptions and
> overlaying it with some convenient font-lock. My custom exporter
> pushes everything in a temporary buffer and replaces the minutes
> notation with LaTeX expressions and then starts the regular
> org-export. This probably looks awkward but gives me full flexibility.

Well, it might look weird, but I think the idea is good. TBH, I'm not
sure if there is another (programatic) way to derive from an existing
exporter.

> The LaTeX document is just a list of sections with nested itemize
> environments. One item would look like this:
>
> \item \ActionTag{Peter}{::} \ActionTagMargin{Peter}Something to do.
>
> I've pushed the TeX file of the example to the repository. Hope this
> makes it clearer.

Ah, yes, this makes it much clearer. I really like this.

> I'm really hesitant to make this a MELPA package right away, if this
> is what you mean. The font-lock and everything is really individual
> and non-generic. But I'll think about it.

I understand. Now that I think of it it might be better to package the
LaTeX commands into a package on CTAN. I looked at the various LaTeX
minutes packages and so far yours seems almost the nicest.

Thanks
Christian

--
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



Re: Org mode for meeting minutes

2020-03-23 Thread Christian Egli
Hi all

I'm picking up this thread again since I think I have solved the issue
for myself. I do use org-mode for meeting minutes now. Thanks to the
input from this list I managed to solve the outstanding issues such as
tabular reports of action items.

I wrote a blog post summarizing my findings which you can find here
https://egli.dev/posts/using-org-mode-for-meeting-minutes/

Hope that helps
Christian

"Fraga, Eric"  writes:

> On Thursday, 31 Oct 2019 at 15:03, Christian Egli wrote:
>> His mail is from 2008 and a lot has happened in the mean time. 
>
> Although a lot has happened in the meantime, I've not seen anything pass
> by which addresses minutes of meetings and tracking actions.  I used to
> use org to take minutes but haven't done so in a very long time
> (advantage of having somebody else do it for me now ;-)).  What you've
> done with an active dblock (and TODO states being the names of people!)
> looks good and should definitely be put on Worg at the very least.

-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland




Re: Org mode for meeting minutes

2020-03-24 Thread Christian Egli
Hi Timm

Timm Lichte writes:

> Just for your amusement: I've developed a very different but effective
> way of taking minutes with org-mode that uses just lists and
> enumerations. I have been using this solution for more than a year on
> a daily basis and I'm really happy with it (and colleagues don't
> complain). Speed, simplicity and readability for non-emacsers is
> critical in my job, so the solutions you are proposing would be
> overkill.

This is really interesting! I can see that you are very efficient with
this. I think my solution is more using the standard org-mode
infrastructure, I don't define any export for example.

> You can have a look at the style and code here:
>
>   https://github.com/timmli/org-minutes-dev

If I understand correctly you are defining some kind of extra list
markup (is something a task or a decision, etc) and the you wrote a
custom exporter that produces fancy LaTeX for the minutes (well, if I
understand correctly it really is a custom exporter that generates
org-mode and then LaTeX from there).

I don't quite understand how the LaTeX works. Is this some kind of two
column layout or do you keep the action item markers and the assignees
in the margin? Can you post the produced LaTeX?

> Any feedback is greatly appreciated. But keep in mind that the code is
> not polished at all -- this is a hobby project of an elisp dilettante.

It would be good to package this. The code would get more usage and
you'd get more feedback.

Thanks
Christian

--
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland



<    1   2