Showing posts with label search. Show all posts
Showing posts with label search. Show all posts

Sunday, January 19, 2025

Creating a macOS Spotlight indexed archive of completed tasks and notes: Microsoft To Do via Outlook.com PDF

I like having local Spotlight indexed "standard" file format archives of completed tasks and calendar items. This is not a popular feature for most people so it's not widely supported. Today I found that this is possible with Microsoft To Do [1] (which replaced old Outlook Tasks).

Microsoft's free To Do.app for macOS has a web store that is shared with Outlook.com (and with Outlook for macOS, but I did not want to install that even though I have a 365 family account).

To Do has no print or archive facility. However Outlook.com does and it shares the To Do sync data. (I think Outlook.com is free for anyone who has a Microsoft ID.)

So:

  1. Go to outlook.com and open task list (same Microsoft ID as To Do)
  2. View All or Completed or whatever list and click ellipsis to see print
  3. When Print choose to include notes. 

I get a multi-MB decently formatted PDF that Spotlight indexes for me.

In the general Outlook.com view has print capabilities the To Do app lacks.

[1] To Do is the only Microsoft product I routinely used. They bought it from somebody a decade or so ago. I could now switch to macOS Reminders but I find it oddly useful to keep Reminders as an aide to my declining short term memory and use To Do for small projects, shopping and so on. I put quite a bit of information in To Do notes and often find value in looking it up.

Sunday, March 12, 2017

Escape from Outlook Notes - export as text files, import into NvAlt or other

Back in 2010 I wrote Gordon’s Tech: Escape from Outlook Notes - ResophNotes, Simplenote for iPhone and Notational Velocity.

Seven years later ResophNotes, Notation Velocity (I now use nvAlt), and Simplenote are still around — despite lack of a revenue stream for any of ‘em. Not only are they still around, but it’s still possible to keep notes in plain text or RTF — which is as future proof as computing gets.

They are still around — but not in great health. ResophNotes was last updated in 2012 or so and it is donation ware (always was). Simplenote was purchased by Automattic (WordPress) and is now open source and apparently run as some kind of charity operation [1]. nvAlt is ancient but Brett Terpstra recently updated it to run on Sierra (a notoriously buggy version of macOS).

These apps are old and kind of worn — but so am I. So we’re a good fit. 

Recently I had another set of Microsoft Outlook Notes files to move to Simplenote. Talk about old and kind of worn! Outlook Notes is old, odd, and useful. It’s a winner in a category of one. Functionally it’s a lot like Simplenote — though you can’t print from Outlook [2].

The problem with Notes isn’t that it’s old and odd, it’s that everyone has given up on it. Microsoft tries to make it invisible. Apple dropped support for Notes sync via iTunes/iCloud — though I think Exchange sync may still work. Google ignores them too.

Which is why I needed to again move a data set of out Outlook Notes. I think export to Outlook CSV them import to ResophNotes is still the best bet. From there to Simplenote and from Simplenote to nvAlt, etc.

There’s another way to go though. You can use VB to script export from Outlook to c:\notes:

Sub NotesToText()
    
Set myNote = Application.GetNamespace("MAPI").PickFolder
  
For cnt = 1 To myNote.Items.Count
        
noteName = Replace(Replace(Replace(myNote.Items(cnt).Subject, "/", "-"), "\", "-"), ":", "-")
        
myNote.Items(cnt).SaveAs "c:\notes\" & noteName & ".txt", OlSaveAsType.olTXT
   Next
End Sub

The key thing is this script creates file names with the note title. It’s not a perfect result because the top of each file looks like this:

Modified: Thu 1/12/2017 2:36 PM

accidents and injuries

In this case ‘accidents and injuries’ becomes both the file name and the third line of the note. The “Modified: …” bit is just annoying. I suppose it could be removed using regex and a text editor that can iterate over a set of files … or script the removal.

I imported the plain text notes into nvAlt where they got the title from the file name so it looks something like this:

accidents and injuries

Modified: Thu 1/12/2017 2:36 PM

accidents and injuries

A bit of redundancy in there, and, of course, the Modified string is still around.

Overall this doesn’t work quite as well as the ResophNotes method, but it’s helpful to have options.

- fn -

[1] Automattic recently released a redo of the macOS Simplenote client. I haven’t tried it, but I hope it fixes the perennially broken search of the current client. In any case, Simplenote is not dead yet.

[2] Outlook 2013 broke Notes by essentially removing the list view — I think this might have been fixed in Office 365.

Update 3/13/2017

Speaking of ResophNotes, the current version has an impressive set of import options. Outlook CSV, Toodledo Notes CSV, text files, single file with note separator …

ResophNotesImport

I donated years ago, time to send another donation.

Saturday, October 05, 2013

Integrating Google Drive Google Docs into Spotlight search: "Webpages", Kinds and Smart Folders

Mac Spotlight was behaving oddly with my Google Drive. It's not the obvious issue with indexing Google Docs files in Google Drive; was more subtle but it was fixable.

To begin with there's no problem with searching PDFs and other relatively standard files that are stored in Google Drive. They are fully indexed and searchable by title and contents. [4]

The problem is with Google documents, like those with the extension of .gsheet. Of course Spotlight can't index the contents; for most of mine there's nothing there to index anyway.[2]. What's odd is that Spotlight search on the file name didn't work from the spotlight title bar [1], but it did work from the folder search UI.

It turns out that I'd configured Spotlight preferences to exclude web pages from search results, and for Spotlight a Google Doc is a web page reference [2]. So the Google Docs were excluded from results. They showed up in the folder search because evidently Spotlight disregards file type preference there.

Next I had to address Mountain Lion's Folder Bar 'All My Files' list. Even after I revised Spotlight preferences that list didn't include my Google Folder docs.

I right clicked on 'All My Files' to see the Search Criteria -- mine showed Documents and "Kind is Other - com.microsoft.com" (Silverlight files it seems). 

So all I needed to do was add the "Kinds" for the different Google Docs. I'm embarrassed to admin I tried file extensions and Google and Terminal.app and Get Info trying to figure out what "Kind" Spotlight assigned to these files (as distinct from Type, which was "Webpages"). The answer, of course, is simply to look at the Finder's detail list (duh). The kinds in my Google Drive were:

  • "Google document" (extension .gdoc)
  • "Google spreadsheet" (extension .gsheet)
  • "Google drawing" (extension .gdraw)
I didn't have any presentations, but you can guess that one. [3]
 
Once I added those (with quotes) to the 'All My Files' criteria [7] in the Finder Sidebar they showed up in the All My Documents list. Problem is, even in Mountain Lion you can't save your edits to "All My Documents" [6]. Indeed, any editing of a saved search is weirdly obscure (no edit in context menu).
 
There was still one problem.  'All My Files' -- at best I could remove the original and save a new one with a less appealing icon. The trick, of course, is to change the icon (see comments, also [5]).
 
Alas, I couldn't put my Saved Search back into the Finder Menu! I could drag folders there, but not a File. I had to use an obscure trick - Select the file then type Cmd-T. I think this is a Mountain Lion bug, possibly for non-admin users.
 
At last all seemed well; except the Finder Sidebar persistently showed the old gear icon, even though Get Info showed the current icon. A Finder Restart didn't fix this, so I'm a bit stuck for the moment. I suspect it's a Mountain Lion bug [8].
 
(BTW, if you're a new Mac user and you do this, you probably want to set New Window Default to Home Directory or something similar. Unfortunately you can't make a smart folder a default.)
 
See also:

[1] BTW, if you use the titlebar spotlight search and mouse over a result, you get a preview. You don't see filename or path though. If you hold the command key down, you will first see filename below the preview, then, after a second or two, it will alternate with path name.

[2] Here's what a gsheet content looks like in textwrangler (GUIDs truncated for security reasons)

{"url": "https://docs.google.com/spreadsheet/ccc?key=0AtgMeRwpi&usp=docslist_api", "resource_id": "spreadsheet:0AtgMec"}

[3] I'm guessing Google Drive installation tells OS X what Spotlight Kinds to associate with these file extensions.

[4] BTW, you can use Google Drive to convert Microsoft file types to Google formats.

[5] OS X Mountain Lion: Change the icon of a file or folder. Don't try to copy the preview icon, copy the wee icon at top of get info.

[6] It is a "Canned Search" Kind, not a "Saved Search" -- and it's a System File.

[7] Get Info shows the native search language version. Here's what I got when I added kinds without quotes:

(true) && ((((kMDItemContentTypeTree = public.content) || (kMDItemKind = "com.microsoft.*"cdw) || ((kMDItemKind = "Google*"cdw) && (kMDItemKind = "Spreadsheet*"cdw)) || ((kMDItemKind = "Google*"cdw) && (kMDItemKind = "document*"cdw)) || ((kMDItemKind = "Google*"cdw) && (kMDItemKind = "drawing*"cdw)))))

Here's the better results with quotes:

(true) && ((((kMDItemContentTypeTree = public.content) || (kMDItemKind = "com.microsoft.*"cdw) || (kMDItemKind = "Google Spreadsheet"cdw) || (kMDItemKind = "Google document"cdw) || (kMDItemKind = "Google drawing"cdw))))

[8] I'm not sure if this is new with Mountain Lion, but it looks like display of custom icons in the Finder Sidebar is a known issue.

Saturday, September 28, 2013

The personal (corporate?) search tool I want

The modern publicly traded corporation is to data as water is to iron. Corrosive. There are reasons why this is getting worse - legal, regulatory, economic, political, technological. It's a long story, but trust me on the corrosion part.

Now if I kept all my data  on my personal dry dock workstation (we still have them) I could resist this, but there's power in sharing. So over time pieces of my extended (work) memory have fallen into abandoned repositories. Recently the number and complexity of these abandoned repositories ran past my cognitive limits.

In the long run part of the the solution is a corrosion resistant knowledge repository, but in the short run I need a way to track and search my archives and working repositories. I need an integrated personal search tool for pulling in data from a variety of server based search APIs. [4].

I haven't seen a tool like this and I can't be the only one who needs one; there's probably a (very) wee market here [1]. At least 10 people. Worldwide.

It's not too hard to imagine how it might work as a web app:

Search

There's a search box, a drop down with "All" or single target searches. Send (?Customized) strings to APIs of various repositories like SharePoint_1, SharePoint_2, Yammer, XWiki, Confluence, Rally, JIRA and so on. Get results back, convert to a normal form, display in a grid.

On the other hand, a web page of links to the various search engines would be better than nothing, and an embedded set of search forms would be quite good esp. with a little javascript to copy a string from one field to every search string.

So what I need is an environment that lets me start with a simple web page of links, then add embedded forms, and gradually build more capability over time. A kind of hobby project I can work on when I'm stalled on my real work and need something to that's plausibly work related.

Maybe Meteor ... 

[1] Before Google there were tools like this for the public net, but post-Google those have been relegated to (mostly) failed meta-search engine projects like dogpile, search.com, and, arguably, duck duck go. I haven't found tools that work inside corporate firewalls.

[4] My personal custom search engine fills a similar role for the Google-accessible net.

See also

Sunday, August 04, 2013

Spotlight Calendar searches in Lion and Mountain Lion - kind of weird

In Lion and Mountain Lion Apple gave this Spotlight search example:

Except I tried in Lion and Mountain Lion and that search string didn't do anything whereas iOS 6 Siri returns a list of meetings for 'tomorrow' (and comments first that I have "quite a lot of them, which is funny).
 
A partial fix  is to use the Events Keyword (see also: Mac 101: Use Spotlight for quick review of Calendar events)

Calendar events

kind:event

kind:events

Alas, when I tested this is Spotlight and Calendar search things got weird. I think because all of my Calendars are synchronized from Gmail/Google I exposed some Spotlight bugs. At first searching for Kind:event would only display "Birthdays" (From Facebook?), but then I added a single Event on my iCloud Calendar (no way to create a purely local Calendar any more?). That seemed to awaken Spotlight and soon kind:even generated a LOT of hits from ALL my Calendars (same as searching on the '.' (dot) operator - old trick post Agenda removal).
 
Then I tried date operators while searching within Calendar.app

kind:event date:today

That returned an event from over a year ago (7/5/2012). Ok, that's bizarre.
 
So then I tried a date range using spotlight as a guide

kind:event date:6/29/13-7/25/13

That returned the same person's Facebook birthday, but from 2013 and 2014.
 
Then I tried the same search string in Spotlight, and I got a funny mixture of Calendars back.
 
So then I filtered out all the calendars I didn't want and I showed that either the old '.' or the newer Kind:Event search in Calendar.app would return a 10.5 style event list. Still, i couldn't get a date operator to work in Calendar.app search though -- it just interpreted it as a string (so 8/5/2013 worked to show events on that date, but 8/5/13 didn't work). The OS X date:tomorrow documentation didn't work.
 
So I hit a wall on this project, but I figure its worth sharing my experience for anyone looking further. If nothing else the links may be useful, and it was interesting to learn why Lion tips on changing days displayed in week view no longer work.
 
Editorial Comment: In my work day on Win 7 and Outlook 2007, I routinely use Calendar searches like <after:today Fred>. Apple's inability to support this kind of basic operation in their Calendar.app isn't a good sign.
 
See also

Thursday, June 27, 2013

Indexing Freemind documents for Windows Search: just add extension as free text

There are a lot of software domains that disappoint me. It's a 'get off my lawn' kind of thing. Enormous excitement about cosmetic changes to iOS 7, but nobody cares about applications for knowledge visualization. Sob.

Sure, there are some good apps for OS X [1] (though even they lack innovation [2]), but my work day is spent in the software desert of Windows 7, a forgotten platform served only by minor vendors slowly degrading once half-decent products.

On the Windows 'mind mapping' front MindManager is expensive, increasingly slow and burdened by feature cruft, and locks data up in a proprietary format. I liked XMIND for a while, but then a software update slowed it to a crawl. It also seems to have been abandoned.

So, lately, I've turned to FreeMind. Not because it's open source and free, not because there's ongoing development, and definitely not because it's a Java app or "cross-platform". I've turned to Freemind because, despite being homely [3], slow to launch, and having an eclectic UI, it has users, performs quickly when it's running, and, above all, it has the closest thing to a standard file format in the industry. A file format that's plaintext.

More and more, I love plain text.

I think I can live with FreeMind -- but only if I can retrieve documents using Windows Search. I live and die by free text search. I took a look at the FreeMind IFilter ($20) for Windows Search, but I was unimpressed with the klunky install and configuration requirements. It had a bad smell.

Fortunately, there's a simple workaround. FreeMind .mm files are plain text (did I mention I love that?). All I had to do was tell Windows Search to index .mm files as free text:

That worked.

[1] I'd love to see OMNI Group enter this market, possibly building on OmniOutliner. I use MindNode on OS X.
[2] Rereading my 10/2011 idea for implementing a graph app atop simplenote nodes I'm sad nobody has done this. If I lose my job maybe I will.
[3] Worse than homely, FreeMind currently has a major usability problem. There's nothing in the UI to tell you that a node has collapsed children. It's quite weird.