[Orgmode] Blogs, org-mode, and wordpress
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)
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)
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
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
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
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?
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
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
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