[Orgmode] Blogs, org-mode, and wordpress

2010-01-28 Thread David Thole
Hey all,

I wasn't sure if anyone tried to do something similar or not.

I am moving web services, and moving blog engines to wordpress - and I
thought about org-mode and how much it'd be better to have blogs
inside org mode.  For the past month and a half or so, I've been
working on that solution.  The reason I'm emailing the group is to get
a feel for all those who've done something like this before, what
their solution was, and if anyone is interested in this solution.  So
this email I hope to gather that feedback, and explain what I've done
in a fair bit of detail as well.

The organization of the blog-setup is fairly simple.  In a dedicated
directory, named blogs, I have an index.org file.  Inside that org
file, I have the following general structure:

#+CATEGORIES: Blog_Category_1 Blog_Category_2 ...
...

* 
   Status: 
   Categories: Blog_Category_1 Blog_Category_2 ...
   File: [[file:-MM-DD.org][-MM-DD]]
   CMD5: 

For each blog file, there's 1 per day.  The general format of the file
is just the straight up content of the blog.  Right now it supports
links, bold, and italics.  I hope to add others as needed, including
images later.

For the actual program itself, there are two parts:
org-sync.lisp
cl-wordpress

cl-wordpress is simply a library for common lisp, that will interface
with wordpress through XMLRPC.  I spent a large amount of time on
this, and this project itself will be published fairly soon.

org-sync.lisp does the following operations on a sync:
- Parse index.org
- For any blogs that are in state "Publish", create a MD5Sum of the
file, convert the org-specific tags to HTML tags, and push to
cl-wordpress.  After that, change the state from "Publish" to
"Published"
- For any blogs that are in state "Draft", do nothing.
- For any blogs that are in state "Published", read the blog file
itself.  Generate an MD5 of the file contents, and compare with the
stored value for the MD5.  If they differ, call an updateBlogEntry
function within cl-wordpress which will update the blog.  In short,
this is determined by the title, that doesn't change in this system.
- At the end, write all the index.org file once again, with the
changes to the org-objects.

The goal of this was to be able to write the org-files locally, and
when I want them to be published, I change the state accordingly.  I
would then have a cron job that would:
- Update museorg (my git repository of org, org-notes, and some
muse-mode documents)
- Run the sync function from the org-sync.lisp file
- Run git commit && git push.

I hope this makes sense on the general way I went with this, and why.
I hope to eventually be able to change this to using cl-org-mode, but
that depends on how useful it'd be for others to have this library
published.  Right now as it stands, I'll have cl-wordpress up by the
end of next week, hopefully on common-lisp.net, but org-sync is the
one I'm not sure yet.  If others find it interesting, and helpful,
I'll clean up the code, document, test, and push it out to github or
common-lisp.net.

Thoughts and feedback definitely welcome.

-David
http://www.thedarktrumpet.com


___
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] Using Git to update more than one machine (one without network access)

2009-02-25 Thread David Thole

Paul,

The way I've accomplished the task you're talking about is instead of 
trying to push and pull *to* the work machine, I use another machine with 
less restrictive firewalls to push and pull from.  This is how I do it...


Work <-> Web Server <-> Home

The web server acts as my "USB Key", and I have cron jobs to pull and push 
updates to and from the servers.  So at 7:30, I can have a "git pull" on 
my work machine - so it would go to the web server, pull in and merge my 
changes before I got to work.  Then when I go home, say at 5:10, do a "git 
push" back to the web server.  At 5:30 or so my home machine can do a "git 
pull" and at 7:00 AM do a "git push".


This works pretty well so far.  Another solution is to set up your home 
machine to have dyndns and enable SSH.  You can then just ssh into your 
home machine, and use org-mode that way too.  I've tried this quite a bit 
as well, and am kinda at a crossroads on which I like the most yet...


I hope this helps.

-David

On Wed, 25 Feb 2009, Paul Mead wrote:


I recognize this is more a git question that org-mode, but...

I'm trying to use git to keep my org-mode version up to date on my personal and
work laptops.

The only problem is that my work laptop has a firewall on it which does not
allow git traffic to pass.

I use a repo on a usb drive to keep my emacs init files in sync, but have
absolutely no idea how to do this for my org-mode files. In essence, I'm trying
to first pull changes from //repo.or.cz to my laptop, and then either have a
second repo on the usb drive which I can pull changes onto, or pull from the
laptop to the usb.

Then I have to somehow get the work laptop to pull changes from the usb.

Am I asking for too much here? I want to avoid all the downloading and unzipping
where possible.

Paul



___
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




___
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] Auto-saving/loading files (without prompts)

2009-03-05 Thread David Thole

Hey all,

One thing I noticed about org mode I'm hoping to resolve.  Basically with 
using git, and having something pull into the specific org file, the 
contents of the file change often.


The problem I'm having is that what I'd like to do is to refresh the 
buffer, and reload this file on specific intervals.  When changes are made 
to the file - say a state changes or something like that, I want to 
automatically save back to the file near immediately.  I'm trying to 
reduce the amount of race conditions I have in if I run from the following 
type of workflow:


- Load agenda
- clock in, out, add notes
- refresh file from ticket tracker
- Try to save file - fail because file potentially changed.

I'd like to try and get it to work as the following:

- Load agenda
- auto save file every 20 seconds or so: clock in, out, add notes
- Refresh file from ticket tracker (this is done, already merges with 
current org file)
- reloads buffers automatically (no prompt on "this file has changed", 
automatically reload first then allow the edit to go through again.

- auto save file and repeat the above 2 steps.

I'm not totally sure if this would work, but right now what I do is:
- Load agenda
- Edit agenda as necessary
- Save Manually
- run python script to pull redmine stuff which will save it to the same 
file, merged.
- hit refresh, confirm a few times that I want to reload the file and 
continue from step 2 on.


The main thing I'd like to fix if the overal solution doesn't work is a 
way to reload the file without confirming.  So if I try to refresh the 
agenda buffer that it would automatically reload the file too, without 
confirmation.  I have an emacs lisp command I created that does this for 
me.


Any ideas on how to handle this, or how to streamline this process at all?

Thanks,

David



___
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] Workflow Ideas/questions

2009-03-24 Thread David Thole
Hey all,

I was thinking a bit about my workflow with org-mode, and I'm thinking
that I should change up a bit of how I'm doing stuff.  Basically what I do
now is use org-mode for my GTD stuff (that is, ticket management, notes
about tickets, etc), and then use muse mode for other stuff.

Right now my structure is:
ris.org = my tickets specific to work
work.org = my work tasks that aren't tickets
home.org = my home tasks

The problem I have now is that I use muse-mode for project notes, which
can be on multiple machines sometimes. So the agenda itself loads those
three org files to display the ris/work/home tasks, and I use follow mode
and add a few notes here and there to the tickets, (ris.org files that
is).

So really my curious workflow questions are:
* Ticket information - SQL statement, code, etc..that can get pretty
verbose.  Is a drawer OK for that? How do others handle that information
* Meeting notes - would another org file be useful for that?  If I want to
publish the file into something that could have a TOC and all that...I
don't know how to explain this better, I kinda want something to be able
to view this through a browser sometimes.  *shrug* some ideas on this
would be helpful
* Organization - Could I organize things more efficiently?  Thinking of
maybe using properties drawer a bit more.

General ideas would be appreciative.  Thanks for the help.

-David


___
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] Ticket Management integration, muse mode, etc

2009-01-20 Thread David Thole
Hey,

This is the first time I ever posted to this list - but did search the
archive, and google significantly before posting so I hope this hasn't been
asked yet.

Right now I use org-mode to manage my tasks.  I built scripts to pull from
Redmine (a ticket tracking system), and pull it in.  That's all working, but
there are some notes I really would rather have locally on my disk - like my
own notes and all.

The problem I'm thinking is that I wouldn't mind pulling this information in
my script down to the disk, into muse-mode - so creating my own TOC, and my
own files for each issue (say, [[Issue1000]])  What I'd like to do, though,
is in the org-file, to have [[Issue1000]] in the file (e.g. ** TODO: [[Issue
1000]]) or maybe a subitem, (e.g. *** [[Issue1000]]) and have it link to the
muse mode file itself.

Muse works well indepently and I can do this pretty easy, org-mode
integration for the link in doing this isn't possible yet.  Does anyone know
a good option on how to get this working?  Is there a workflow thing that
may be better for me to do instead?

Thanks,

David
___
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: [Orgmode] Ticket Management integration, muse mode, etc

2009-01-20 Thread David Thole
Thank you to the both of you for responding so quickly.

Basically the reasoning why I' doing all this is to try and take more
detailed notes on stuff that maybe the end user should not see in the ticket
- which right now I kinda have to do.  I still want to capture this
information, so muse-mode kinda made partial sense for documentation
needs.   The goal again is really to have my own "private notes" in the end.

Matthew hit it right on the head about what I was trying to do - and that's
using the file.  I apologize for my newbieness with org-mode (I admit while
I've used it awhile, I never really scratched much more than the bare
surface of this extension), and yes the following would work perfectly
fine.  The only problem is that a lot of my stuff is automatically generated
in one of the files - so keeping notes in the same file complicate matters a
bit when it comes to my matching those notes in regard to the next entry.

I don't know if I'm being clear about what I'm bringing up, but Matt's post
really helped in explaining how to get by with what I feel I need now - but
I think I'll need to spend some time and reconsider all this.

Thanks,

David


On Tue, Jan 20, 2009 at 12:32 PM, Matthew Lundin  wrote:

>
> "David Thole"  writes:
> >
> > The problem I'm thinking is that I wouldn't mind pulling this information
> in
> > my script down to the disk, into muse-mode - so creating my own TOC, and
> my
> > own files for each issue (say, [[Issue1000]])  What I'd like to do,
> though, is
> > in the org-file, to have [[Issue1000]] in the file (e.g. ** TODO: [[Issue
> > 1000]]) or maybe a subitem, (e.g. *** [[Issue1000]]) and have it link to
> the
> > muse mode file itself.
>
> Why doesn't the following work for you?
>
> ,
> | *** [[file:/path/to/muse/Issue1000][Issue1000]]
> `
>
> You can type C-u C-c C-l within org for a prompt to link to a file.
>
> Or you can type C-c l in the Muse file to store the link and C-c C-l
>  in org-mode to insert the link.
>
> The manual has a very clear section on hyperlinks.
>
> That said, is there a compelling reason for you to keep your notes in
> muse rather than org-mode? Org-mode was created to handle both
> ticket/task management and note taking in the same file. You could
> keep all the relevant notes (and any data pairs as properties) under
> each issue headline. E.g.
>
> ,
> | *** TODO Issue 1000
> |
> | Notes and subheadings go here.
> `
>
> Feel free to let me know if I am misunderstanding the nature of the
> problem.
>
> Best,
> Matt
>
___
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: [Orgmode] org-mode to iphone?

2009-01-22 Thread David Thole
I've been tempted to create a frontend web site devoted toward very simple
operations in regard to using org-mode - something say in Django or
something, and using sync scripts to the org files.The idea I was thinking
is just a simple CRUD operation with that file (either that or use a sql
database such as sqllite and use a cron job that "syncs" these together).  I
wouldn't mind still completing that if people are interested in such a
tool.  Since I have just an ipod touch, I've been reluctant to build it
since I don't have access 100% of the time to the app.

-David

On Thu, Jan 22, 2009 at 2:06 AM, Carsten Dominik wrote:

> Hi Christopher,
>
> I am extremely interested in what you write here about using HTML
> to look at the agenda, sending automatic emails for completed
> tasks, and even the IMAP store idea.
>
> So please get back to it when you find time and keep us
> posted.  I could tweak the HTML exporter where necessary
> to make a good mobile access idea for Org-mode stuff
> a reality.
>
> - Carsten
>
> On Dec 22, 2008, at 11:10 PM, Christopher DeMarco wrote:
>
>  As a more-useful alternative to my ha-ha-only-serious "email"
>> response, look at the export-to-HTML functions.  I haven't gotten here
>> yet with org-mode, but I understand they're pretty powerful -- and
>> HTML is perfect for the iPhone.  A robust HTML interface to your
>> org-mode would be much more useful than a native iPhone app, IMHO, and
>> without the landmines of interfacing with iCal et.al.
>>
>> My previous organization system (Python-based) had a simple CGI
>> interface to parse my sources into HTML with CSS for the iPhone; it
>> worked surprisingly well, including hyperlinks that sent me email
>> noting that I'd "checked off" an item -- I didn't trust myself to
>> actually change state from the iPhone, but sent a "check off the item
>> manually" reminder.
>>
>> Once I've got my Emacs-native org-mode where I want it, I plan on
>> tackling the iPhone display and sharing my code with the list.  It
>> should be pretty easy to write a mod_python handler to pull org-mode
>> source from Git or Subversion and run that through the elisp
>> interpreter...
>>
>> But seriously, you could totally expose your agenda view as an IMAP
>> store...
>>
>>
>> --
>> Christopher DeMarco 
>> IT Director
>> MAYA Group
>> +1-412-708-9660
>>
>>
>>
>> ___
>> 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
>>
>
>
>
> ___
> 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
>
___
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: [Orgmode] icalendar importing

2009-01-30 Thread David Thole
I'd be interested in finding this out as well.  Could you provide details
Dale on how you got it to import correctly into Diary even?  There's a huge
disconnect right now for me between my calendar and what I do my GTD stuff
in.

Thanks,

David

On Fri, Jan 30, 2009 at 1:18 PM, Dale Smith  wrote:

> Howdy list,
>
> My company recently moved to an exchange server (ugh!) and so now i've
> been getting icalendar meeting requests.  I have
> icalendar-import-buffer in my gnus-article-prepare-hook, and that
> works well enough to add things to my diary.  Diary entries show up im
> my appointemts, so that's good, but I'd like to add them to an org
> file instead.  Is there anything similar to icalendar-import-buffer
> but creates a task in org format insteat of diary format?
>
> Thanks!
>  -Dale
> --
> Dale P. Smith
> da...@vxitech.com
> 216-447-4059 x2018
> 216-447-8951 FAX
>
> (Company mandated disclaimer follows...)
>
> This email is covered by the Electronic Communications Privacy Act, 18
> U.S.C. 2510-2521.
>
> This information is confidential and is intended only for the use of
> the individual or entity named above. If the reader of this message is
> not the intended recipient, you are hereby notified that any
> dissemination, distribution, or copying of this communication is
> strictly prohibited.
>
> If you have received this communication in error, please notify the
> sender by reply transmission and delete the message without copying or
> disclosing it.
>
> Thank you.
>
>
>
> ___
> 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
>
___
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: [Orgmode] Automatic Update of Org files

2009-02-06 Thread David Thole
Something I've been working on and am continuing to work on is kinda a
middleware script like what you're doing.  It's in python now - and have a
few who contacted me personally who are interested in this once I get the
refactor complete.

Basically what I've done is try to merge stuff in from our Redmine system
here (Redmine is another ticket tracking system).  The workflow I came up
with, at least for the script is:

1.  Query redmine, get all my assigned issues.
2.  Open the org file, read and parse through everything in there (currently
it goes for the dates that I have for scheduled, and I want to eventually
get it so that all the notes as well as time logging will be captured too.
3.  Merge the two sources together (I use two hashed arrays, basically it's
something like array[ISSUEID] = array, where the second array contain
inforamtion such as the title, project, due date, date scheduled, etc).  I
use rules such as that the deadlines are determined in the Redmine system,
so that takes priority over my due date - but the date scheduled would be
captured, and the state (TODO/DONE/ETC). The status is determined,
currently, within Redmine - I haven't figured out a good way yet on dealing
with that yet.

Kinda on my wishlist:

1. A "postback" to Redmine, say I update the status to complete, I wouldn't
mind if there was a good way to push that information to redmine, using my
comments in my ticket to add perhaps - or maybe allowing for a certain type
of tag.
2. To handle notes, the checked sub-items that can occur, etc.

It's still a work in progress, but part of my work is to try and allow a
more pluggable system so that other ticket management systems can be
represented.

Still working on the refactoring..let me know if this interests you at all.

-David

On Thu, Feb 5, 2009 at 5:13 PM, Mark Elston wrote:

> Samuel,
>
> Thanks for the info.  I will have to digest this and see if it
> fits.
>
> One concern I have with this approach (and I may not have fully
> grasped what you intended) is that the original source files have
> the current information like deadlines, etc that I want used
> when creating my agenda for the week.  If I want more information
> about the agenda item I will navigate to it and hit  which
> takes me to the generated Org file.  Once there, I would like to
> be able to add notes as necessary.
>
> Alternatively, I suppose I could navigate to the notes if there is
> a simple mechanism for this.  I don't really understand all you
> described below but I will try playing with it and see what comes
> out.
>
> Mark
>
> * Samuel Wales wrote (on 2/5/2009 2:40 PM):
>
>  IIUC, source is not under your complete control.  You need it orgified
>> but also annotated.  There are various annotation mechanisms.  My
>> comments on the remember redesign might be relevant.
>>
>> You could consider going backward.  Have your org file contain links
>> to the read-only stuff.  Put entry IDs in the read-only stuff.
>>
>> Dunno if this helps.
>>
>> Here is something I had lying around:
>>
>> Another feature is to have org-registry show on the mode
>> line when a link points to the current buffer's object (w3m
>> page, file, dired, etc.).  You click on it to go to the org
>> file link.  See my remember suggestions in a previous thred
>> for more re annotations, bookmarks, and registry.
>>
>> I proposed this before:
>>
>> === snip
>>
>> Extension #2 to the bookmark idea.
>>
>> My idea is to always have annotations available for
>> emacs-w3m, dired, files, like org-annotate-file, just with
>> more modes.
>>
>> You can see in the mode line that whatever buffer you are in
>> has an annotation, and you can make an annotation.  You can
>> also go to the annotation.
>>
>> The annotations are stored in an org file anywhere in the
>> hierarchy.  Thus, if you want, annotations on a doctor's web
>> site can be stored in the entry for that doctor that is in
>> your org file.  If you visit that web site from any source,
>> even Google, the mode line says that it is annotated.  Then
>> you can pull up that entry with a command.
>>
>> Likewise with files or dired or whatever.  For example, you
>> can comment org.el or /etc/passwd without having to modify
>> them.
>>
>> Remember code seems a plausible place to arrange for
>> choosing a location and putting a note into it.  Annotations
>> are like bookmarks with text that also go the other
>> direction.  It's natural to combine the idea of a bookmark
>> and the idea of an annotation.
>>
>> You might want the mode line to say "there is bookmark to
>> this (web page, file, etc.)" as one character and "there is
>> a text note about this" as another character.  Thus, if you
>> have annotated a file and the file is unmodified, you will
>> see "-u:--!!" and if you have merely bookmarked the location
>> without commenting on it, then you will see "-u:--!-".
>> === snip
>>
>>
>>
>
> ___
> Emacs-orgmode mailing list
> Remember: use `Reply Al