I believe this idea has been alluded to in other posts, but I might have a solution that hasn’t been suggested yet.
I use DTP, the whole DTP, and nothing but the DTP as the environment for planning and executing stuff I write. I use the 3-pane view exclusively, although it has some shortcomings. One of these is that if I make the document pane (lower right) larger, the group contents pane (upper right) becomes smaller. Since I often have a hundred or more documents in each group, that little pane gets very irritating to scroll through.
I could add subgroups, but I really don’t want to. If I have a top-level group for each volume in a ten-volume series of books and within each twenty or so groups for chapters, I don’t really want to make a group on the same level for characters, one for settings, and so forth. At the same time, I don’t want to create a different hierarchy at the top level of the database, since that violates the first Common Sense Rule of Organization: Keep things you use together in the same place or as close to the same place as possible.
The easiest solution would be to have something in between a group and a document – something that shares some features of each but lacks others. Essentially, I am thinking of a group that is shown in the same places that documents are shown and invisible in the places that only groups are shown. With the 3-pane view, such a “Groukument” would be invisible in the left pane but visible in the upper-right pane.
Since the Groukument is visible in the document list pane, it should behave in some ways like a document. I can think of three different behaviors when “viewed”:
- The document view pane shows a list of the Groukument’s contents, much like the Search window (or a second document list pane, or whatever – anything would work).
- The document view pane shows a default document associated with the Groukument, much like the Apache web server’s default behavior of returning an “index.html” or “index.php” or whatever when a surfer requests a directory with no specified page. This default document could be specified much the way we currently specify script attachments for documents and groups, or even be generated through the use of an attached script. This would be my preferred behavior, since my note below would make #1 redundant and #3 is just plain lame.
- The document view pane shows nothing. Hey, it’s easy to code.
There would be no benefit to having Groukuments if all they did was sit in the document list view. I would assume it would be most useful if it could be “expanded” or “collapsed” to show the contents, indented a tad perhaps for readability, in the document list pane. I figure that it could use much the same, ah, arrangement that the current “state” checkboxes use. Check it to show the contents or uncheck it to hide the contents.
So, in conclusion, I could see this doing a lot of good things – fighting clutter in the document list pane, fighting clutter in the group list pane, increased accuracy for the DEVON AI (I assume more groups and tighter classifications are better for it), less screen real estate required for the document list pane, and so forth.
As it is basically just a group that’s invisible in the group list pane and visible in the document list pane, I would expect that it would be somewhat less daunting of a task than other ideas that might accomplish similar things. Even if this is all that is done, and “Groukuments” essentially act only as replicants of invisible groups, I think all of the benefits listed above still work. If nifty enhancements are provided like displaying a default document in the document view pane, the ability to view its contents in the document list pane, and so forth it takes a clever hack and turns it into a killer feature.
Since I’m on the topic of different ways this could be implemented, I think that (in DTP 1.X, at least) it can be viewed as a combination of a couple comparatively minor alterations to DEVONthink:
- Allow invisible groups (shown or hidden with a preference, naturally).
- Allowing a new type of document that, when viewed, redirects to an invisible group. This might be possible already through attaching an AppleScript to a document. (I’ll see if I can hack this out later)
Also, if there were a way through AppleScript to allow the document list pane and document view pane to be set independently, that would probably take care of the “default document” feature. Something like
tell application "DEVONthink Pro"
view record 243 in document list pane with independence
view record 387 in document view pane with independence
Just an idea. I understand that functionality would still have to be added to DEVONthink Pro, that it’s non-trivial and probably impossible (or impractical, requiring rewriting of some basic frameworks or something), but I thought I’d suggest it anyway.
I’m not sure how many people would find these features useful, but I’ve seen questions about similar things in the past (one recently, although I can’t seem to find the thread). I figure I’m not the only person who’s anal-retentive about his group hierarchies.