I just noticed this today, and while I don’t especially care for it, I don’t object strongly either. However, my usual practice when starting Notenik is to open a project (previously a “Parent Realm”, of which I only use one), and the window for the project gets the “(E)” in the title bar.
I believe this is a bug because as a project and not a collection, I think this cannot be the essential collection. Choosing File->Open Essential Collection does not open it.
When this project window is front-most, File->Make this Collection Essential is enabled (i.e., not grayed out) but I believe it should be disabled, since as a project, it apparently cannot be the essential collection.
I am confused by one aspect of the essential collection feature. I do not have one (as far as I know, and with no windows open, File->Open Essential Collection does nothing). But if I did have one, how could I remove that attribute of the collection, that is, make it not the essential collection, other than by designating some other collection as essential?
By experiment, it seems that if I do designate a collection as essential, one way to remove that attribute of it is to choose Make this Collection Essential when a project window is front-most. But that seems like sort of a UI problem, since that menu item probably shouldn’t be enabled when a project window is front-most (since a project is not a collection and so cannot be the essential collection).
Where is the fact that a collection is designated as the essential collection stored?
I’ll look into this a bit more to investigate, but let me address a few items now.
The essential collection url is stored in the Notenik application preferences, which uses the macOS User Defaults system. The data store cannot be reliably accessed other than through the Defaults API.
Notenik typically doesn’t gray out menu options, but instead opts for providing an informative error message if the user tries to select that option in an inappropriate context. Simply graying out a menu item doesn’t really tell the user why it’s grayed out, so I’ve generally avoided that practice.
You’re right that there is no way to simply forget about any Essential Collection, once one has been specified. Having an Essential Collection doesn’t hurt anything, as far as I can tell, so I’m not sure what purpose there would be for simply clearing out that selection.
And now to your central issue: should a Project Folder be allowed to become an Essential Collection – even if it is only a pseudo-collection, and not a real Collection? And while I can’t say I’ve thought about this before, or have done anything particular in code that I can recall to either enable or forbid this, I’m not sure why Notenik shouldn’t allow this. But I need to look into this further.
Thanks very much for your prompt response, Herb. To be clear, I was not necessarily requesting the ability to make a project folder the essential collection, more just noting what I saw as a UI oddity: the project was marked with the “(E)” in its title bar despite not actually being the essential collection.
I say “despite not actually being” because I have no recollection of trying to make the project the essential collection (though I cannot swear to that) and because Open Essential Collection does not open it.
I don’t have a view on whether it should or shouldn’t be possible to designate a project as the essential collection. I have not so far made any use of that feature.
As for not disabling inapplicable menu items, I’ll just say that I find not doing so unexpected and confusing, and the more usual macOS convention of doing so helpful.
Continuing with the current example, with my project as the front-most window, it’s possible to:
(1) choose Make this Collection Essential; nothing (visible) happens
(2) close the project
(3) choose Open Essential Collection; nothing happens
And this seems confusing. If Make this Collection Essential was disabled when the project window was front-most, that would indicate (to me, at least) that it is inapplicable to that window, which it seems in practice to be.
I say “nothing (visible) happens” in (1) above because I see now that the project folder is in fact recorded as the essential collection in Notenik’s defaults.
But to be clear, I’m not asking you to reconsider or change this behavior. If your long-standing convention is to not disable inapplicable menu items, that’s fine.
It seems I can almost never make a comment here without finding myself needing to reply to my own comment shortly after.
The only reason I commented in this thread was that I happened to notice the “(E)” in the title bar of my project window and had no idea why it was there. It was only after I later happened across this thread that I understood why. I took time to comment on the fact that it did not seem to work for projects and so marking a project window that way seemed probably unintentional.
As mentioned, I have not intentionally used the essential collection feature in the past and don’t really expect to in the future, so this is not really a concern for me. Probably I shouldn’t have said anything at all.
Thanks Herb. I assume that I must have at some point prior to yesterday designated the project as the essential collection, either intentionally or inadvertently. I don’t recall doing so but it’s possible and I don’t think there’s any good way now to determine whether I did or not.
By now, I have done so intentionally a few times while investigating how this feature worked, so at the moment, it is designated that way in Notenik’s defaults, but for my purposes, that’s harmless.