C-Command Software Forum

Storing Notes

That EF creates separate files for Notes is a lovely feature. But why are these stored in a separate directory, and why do the files automatically receive such esoteric names?! It would be powerful if there was an option to store Notes files in the same location as the patent file, and if the Notes files received a name that resembles that of the parent files.
Thanks.

At the time I judged that the costs (much greater code complexity and possible confusion when the folder in the Finder doesn’t match the folder in EagleFiler) were not worth the benefits.

Could you explain more about how this would be useful to you?

I use notes extensively to annotate primary sources (mainly articles in PDFs, webarchives, etc). I also want to easily drag these notes to other applications (like Scrivener). Right now notes are relagated to a small window in the Inspector. For EF to be a more useful research tool for me (and not just a searchable archive) I prefer more direct access to the Notes.
A workaround could be a Smart Template that inherits the name of the parent document, contains the same useful links that the current Notes files have, and which is stored alongside the parent document. This way these Notes would be easy to identify and find.

So, hypothetically speaking, would it solve your issue if there were an easy way to drag the note content from EagleFiler’s main browser window, without opening the Info inspector?

Would it solve your issue if there were an easy way to drag the note content from EagleFiler’s main browser window, without opening the Info inspector?
If by note content you mean the text in the body of the Note, than no, it would not be that useful. What I would like to drag is the Note that is stored in the Notes directory, because that contains links to the parent document. I would also like this exported with the Note’s title being the filename, as that is identical to that of the parent document. Finally, it would be even nicer if tags applies to the parent document would apply also to the attached Note. (This would be a nice feature independent of the current discussion.) Thanks.

p.s. It would also be very handy to be able to add Notes without opening the Inspectors, perhaps thorough a shortcut or a contextual menu.

So you are trying to copy the entire note file and embed it in another document? The note files are accessible via AppleScript, so perhaps it would be useful to write a script that gets the notes for the selected records and copies them somewhere.

What does that mean? How could tags be attached to a note file?

Do you mean that you want to bring up a temporary dialog box?

Perhaps it would be useful to write a script that gets the notes for the selected records and copies them somewhere.
Yes, that would be very useful. Especially if the script creates an exported file that contains the very useful links that the current Notes have as their “header”.

How could tags be attached to a note file?
The currently available Notes are stored as RTF. Why not assign tags (as OpenMeta) that reflect the tags assigned to the parent document?

Do you mean that you want to bring up a temporary dialog box?
Yes, that would be useful. Especially if it is a HUD that can stay open while reading the parent document.
Thanks much for considering all this!

Here’s something to get you started:

tell application "EagleFiler"
    set _records to selected records of browser window 1
    repeat with _record in _records
        set _noteFile to _record's note file
        set _notePath to _noteFile's POSIX path
        set _basename to _record's filename
        -- assumes the name is short enough and contains no forbidden characters
        if _notePath ends with ".rtfd" then
            set _name to _basename & ".rtfd"
        else
            set _name to _basename & ".rtf"
        end if
        set _destFolder to path to desktop
        set _destPath to _destFolder's POSIX path & _name
        set _script to "cp " & _notePath's quoted form & " " & _destPath's quoted form
        do shell script _script
    end repeat
end tell

That’s certainly possible, but I was curious how useful it would be since it sounded like you wanted to embed the note file somewhere, in which case the OpenMeta tags would probably be ignored.

Here’s something to get you started:
This works great; thanks much! I trust you appreciate how a drag/drop method that achieves the same would be useful.

I was curious how useful it would be since it sounded like you wanted to embed the note file somewhere, in which case the OpenMeta tags would probably be ignored.
This would be useful in allowing searches of said tags in Spotlight and other OpenMeta-aware applications.
Thanks again!

I have been trying, unsuccessfully, to modify the script you provided to create a system for note taking. Instead of the notes being created in the desktop, as in your script, I would like them to be stored in EF, in the same folder as the ‘selected record’ (the parent record). Also, I would like the Notes field of the ‘selected record’ (the parent record) to be populated with the new file’s link information. The latter (which really stumps me) has the advantage of providing bidirectional links between the parent record and the new one, and the advantage of setting the parent record’s Tag to Note, so remind that it has an attached note. Help, please?

Here’s a script that will do that:

tell application "EagleFiler"
    set _records to selected records of browser window 1
    repeat with _record in _records
        set _noteFile to _record's note file
        import files {_noteFile}
        set _noteRecord to item 1 of the result
        set _noteRecord's filename to my noteNameFromRecord(_record)
        set note text of _record to _noteRecord's URL
    end repeat
end tell

on noteNameFromRecord(_record)
    tell application "EagleFiler"
        set _name to _record's filename
        set _name to do shell script "basename -s .rtf " & _name's quoted form
        set _name to do shell script "basename -s .rtfd " & _name's quoted form
        set _name to _name & " Note"
        return _name
    end tell
end noteNameFromRecord

Brilliant. Thanks so much!

EagleFiler 1.5 does this.

Just wanted to express my appreciation for this thread. I was trying to figure out a few things related to notes, and this thread answered every query. Great!!