Multiple document view!

Is it possible to add view style like this attachment?
(When I select multiple files)…:face_with_hand_over_mouth:

4 Likes

Possible? Many things are possible. :slight_smile:
How easy it is to implement, and whether there is a large enough need for the feature are a different matter.

The request is noted though.

2 Likes

Not sure about how to vote on this feature, but I have a need.
Its a highly usable feature if you write longer documents with sections/subsection in multiple files.

1 Like

Welcome @anderswt

There isn’t an official voting mechanism, but we frequent these forums and read the posts, so your vote is noted.

Anything happened with this feature request?

No. And as you can see, there has been no further interest shown.

Well, count my vote in please… :slight_smile:

This reminds me of a similar functionality in Ulysses and would be a useful addition for anyone using DT with “atomic notes”.

I.e. individual concepts per note, where viewing them in sequence makes sense in certain cases but creating a merged document would be overkill.

You can already do similar things.

Command-click to highlight multiple documents. Right click one of them and use the merge documents feature. That will create a new document, leaving the originals unchanged, with the selected documents concatenated.

That’s a snapshot.

For a real-time merged document, if you use Markdown, create a “merged” document with transclusion:

{{document 1}}

{{document 2}}

Or, set a group’s script to Markdown transclusion.scpt, which I think can be found in Devonthink’s forums. Each time you click on the group, it will create a merged view of all the documents in the group. You can still expand/collapse the group without triggering the script, which is how you can get to the created document.

Fun fact which might cause Bluefrog a facepalm - you can set this script on a tag. The created transclusion will appear as a member of the tag, and will physically be in the database’s local inbox.

Since clicking on the group now triggers the script, you remove the script by right-clicking the group, select get info, and remove the script in in info panel. That feature is found by clicking “script” in the info panel.

Just a few thoughts.

Hmmm… Can’t find that script… Here’s what I have. Usual disclaimers, this works for me, your mileage may vary, it could blow out your refrigerator light, etc.

Trust your backups more than any script.

property selectTransclusionRecord : true -- if false Transclusion record opens in a new window

on triggered(theGroup)
	tell application id "DNtp"
		try
			set theResults to search "kind:markdown comment:\"Transcluded group contents\"" in theGroup
			if theResults ≠ {} then
				set theTransclusionRecord to item 1 of theResults
			else
				set theTransclusionRecord to create record with {name:"_Transclusion - " & (name of theGroup), type:markdown, source:"", comment:"Transcluded group contents"} in theGroup
			end if
			
			set theChildren_ReferenceURLs to reference URL of children of theGroup whose type = markdown and comment is not "Transcluded group contents"
			if theChildren_ReferenceURLs = {} then error "This group doesn't contain Markdown records"
			set theTransclusionRecord_Source to "{{" & my tid(theChildren_ReferenceURLs, "}}" & linefeed & "{{") & "}}"
			set plain text of theTransclusionRecord to theTransclusionRecord_Source
			
			if selectTransclusionRecord then
				set selection of think window 1 to {theTransclusionRecord}
			else
				open window for record theTransclusionRecord
				activate
			end if
			
		on error error_message number error_number
			if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
			return
		end try
	end tell
end triggered

on tid(theInput, theDelimiter)
	set d to AppleScript's text item delimiters
	set AppleScript's text item delimiters to theDelimiter
	if class of theInput = text then
		set theOutput to text items of theInput
	else if class of theInput = list then
		set theOutput to theInput as text
	end if
	set AppleScript's text item delimiters to d
	return theOutput
end tid
2 Likes

Hi @Amontillado,

Thanks for expanding on this, I think your suggested solutions will be beneficial to quite a few readers here.

I’m aware of the merging and transclusion option, and even of the script you posted. There is also a version of this script, which @pete31 was kind enough to adapt for my needs, such that the transclusions are created automatically via a smart rule.

But what if a user just wants to preview several (markdown) notes in context and doesn’t want to create a new document, which then needs to be either “managed” or deleted lateron?

As a suggestion, selecting multiple markdown documents could show a view such as the one described by the OP, instead of the current preview (“x items selected”). It would fulfill the same function as Quick Look on MacOS, so the purpose would purely be to increase usability in certain scenarios. The functionality itself is already available in DT if one is willing to create a new document.

1 Like

I completely agree. A smart rule can take care of the transcluded output from the script (and kudos to @pete31), but it would be ideal for multiple selected documents to appear as one in the edit pane, with live editing.

It would also be cool to have a Keynote-like feature. Not necessarily for creating presentations, but for putting instances of notes on a whiteboard. A concept map/mind map view.

1 Like

Nice touch with the live editing, hadn’t thought of that but definitely +1 if that’s feasible.

1 Like

Hi Bluefrog,

a pity that you don’t yet have an voting mechanism…

Please cont me in as well. Would be such a productivity gain.

A workaround could be making the panes “floatable”, so that one can arrange it on different displays. But that needs to be implemented by DEVONthink…

Welcome @ranger_dan

The vote is noted.

A workaround could be making the panes “floatable”

What panes?

The preview panes, which do have a handle to control the size, but afik only within the one window on one screen. Is my post better understandable now?

You can open documents in independent document windows. While they don’t float, doesn’t that alleviate the panes request?

One more ’vote’ for this feature. I use transclusion to achieve kind of a similar effect, but it’s a bit of a hassle.

This of course works for static documents, but searching for a specific document (up/down-keys) does not work here, only if the preview pane were movable to a different screen. This hopefully backs up my vote for the multi screen support…

I still don’t see the purpose. If you’re searching for a document, the view/edit pane displays the current document selected in the item list as the selection changes.

This is true, thank you. The preview window is displaying the selected document… Almost the solution I was looking for.

You’re most welcome :slight_smile: