Usage scenario for sheets

I am currently looking closely at using the new sheet function of Devonthink Pro and wondered what power-users use them for. Any bright and innovative uses of sheets in DTPro ?


to be honest, I am disappointed about the sheets. As long as links do not work to sheets, they are of no use in my data base.

Hope this changes soon…


I list keywords in a sheet, that’s the only use I have for this feature.

Because sheets can do limited calculations (like a mini-spreadsheet) I sometimes put into a project group a sheet containing records of expenses for doing the project.

I was a bit shocked to see how much I had spend on inkjet cartridges and paper for a volunteer project!

Links work to but not from records in sheets. I agree with Maria that hyperlinks in sheet would greatly multiply their usefulness to me.

I second (or third) this! Devonthink developers, are you listening? :wink:

Christian is quite aware of the issue. Records contain plain text, and plain text cannot “do” hyperlinks.

The possibility of linking from records/sheets is one of a great many things on the list of future development projects. :slight_smile:

I’ve used sheets to import data from FileMakerPro databases I had compiled. I got this idea from a blog (in German):

I also had the idea of compiling bibliographical information in a sheet. But unfortunately, the lack of links eliminates that possibility. I, too, would like to see a more robust functionality for sheets. It would also be nice to be able to do complex boolean searches within sheets (by field), with the possibility of exporting the results.

I use sheets to build vocabulary databases for technical disciplines, and likewise mini-“dictionaries” of translated terminology from one language to another. Thus, when on of these words are in a note or piece I am writing within DT, the instant wiki-linking allows me to go to that entry, in which I include: 1. the term; 2. the translation of the term; 3. the definition in the original language; 4. the translation of the definition; 5. notes; and 6. sources.

Quite useful.

I’m using a sheet to log water test results for my aquarium. I have columns for date, pH, GH, KH, Calcium, Ammonia, Nitrite, Nitrate, Phosphate, and Iron).

It would be nice if a future version could graph this data, but for now I can just export to Excel for that.

Ask and you shall receive :wink:

Actually this has long been a weekend project waiting for me to learn applescript. I was experimenting with importing files of data points at work (binary file -> csv -> DT -> sheet,very tedious… what about them custom file loaders?) and found that once the data was imported, it was kind of useless.

-- Return the absolute path to GnuPlot. Handles Fink, Darwin Ports, and locations in the system path.
on detect_gnuplot()
	set gnuplot_bin to do shell script "which gnuplot"
	if (items 1 thru 10 in gnuplot_bin as text) is "no gnuplot" then
			-- detect fink binary
			set gnuplot_bin to do shell script "ls /sw/bin/gnuplot"
		on error
				-- detect darwin ports binary
				set gnuplot_bin to do shell script "ls /opt/local/bin/gnuplot"
			on error
				set gnuplot_bin to ""
			end try -- port
		end try -- fink
	end if --which
	set result to gnuplot_bin
end detect_gnuplot

-- escaped newline for the echo -e statement
set nl to "\\\\n"

-- default line style
set line_style to "lines lt 3 lw 2"

set gnuplot_bin to detect_gnuplot()
if gnuplot_bin is "" then error "Cannot find GnuPlot!"

-- default to persistent aquaterm windows
set gnuplot_cmd to gnuplot_bin & " -persist"
set gnuplot_data to "set terminal aqua" & nl

tell application "DEVONthink Pro"
	set rec_list to the selection
	repeat with rec in rec_list
		if type of rec is not sheet then error "A sheet must be selected."
		set graph_title to name of rec
		set plot_cmd to "plot \\'-\\' title \\'" & graph_title & "\\' with " & line_style
		set gnuplot_data to gnuplot_data & plot_cmd & nl
		set sheet_data to ""
		repeat with row in children of rec
			copy cells of row to cell_list
			repeat with c in cell_list
				set sheet_data to sheet_data & (c as text) & " "
			end repeat
			set sheet_data to sheet_data & nl
		end repeat
		set gnuplot_data to gnuplot_data & sheet_data & "e" & nl
	end repeat
end tell

do shell script "echo -e " & gnuplot_data & " | " & gnuplot_cmd

When I get time I want to make this a bit more useful, for example by allowing the line style to be set in the Comment of the sheet, and using the name of each column for its line label. Also supporting > 2 dimensions would be nice, it’s just a switch based on the number of cells per row. I might post it in the scripts forum then.

Oh, right, almost forgot: requires gnuplot and aquaterm.