Ming-Li Wang,
Thanks for taking the time to beta test QRecall. You certainly get points for persistence.
Ming-Li Wang wrote:Not to be detered, I tried to use drag-n-drop (from finder) instead, and was delighted to find that worked. The joy was shortlived, however, as I soon realized the "-" button was broken, too, and there was no way to remove an excluded item. Can't edit them out from the plist file either as they are now encoded therein.
Fixed.
Next I tried to use the new QRecall Capture Preferences service, only to find it nowhere to be found, not even in System Services Configuration (the one at "System Preferences - Keyboard - Shortcuts - Services"). Reinstalling didn't help.
It would appear that your initial install of QRecall 2.0 failed spectacularly. If you still have the QRecall.log for that time period, please forward it to
support@qrecall.com. (You'll want to compress it first, as it can often be rather large.)
The QRecall Capture Preferences service was there, finally, though I had to enable it manually in System Services Configuration.
That, unfortunately, is now standard for OS X. New services are disabled by default; you must explicitly tell OS X which services you want to use.
Time to test it out. I set several folders on my system partition to "Do not capture contents" with the "Exclude from all archives" option enabled, and then back it up to a new archive. It went smoothly, but several excluded folders were still backed up despite the setting. I soon realized the extended attribute wasn't really set because those were privileged folders (owned by root). QR really should ask for permission to set the XA, or at least give a warning about not being able to set the XA. It did neither.
Sorry about that. When I went to check this out, I even found a note in the code: "TODO: Handle xattr set failure here." Obviously, I hadn't gotten back to that.
Anyway, I went ahead and implemented a warning dialog that will now pop up if QRecall can't set the capture preferences for an item.
It was never my intent to allow the QRecall service to set the capture preferences for items not owned by the user, although it's theoretically possible to do via an authorization request, and I'll add that to the wish-list.
A few suggestions:
1. The ability to save a folder without capturing its content has been one of my most wanted features. Restoring the system partition with QR has been a pain without this feature as I always have to spend much time recreating the excluded system folders with the right ownership and permissions.
The new QRecall Capture Preferences service is thus a great addition, but it needs to be able to work on privileged folders, and I hope the same functionality can be extended to per-archive exclusions.
To set the capture preferences for an item you don't own, use the sudo and qrecall command line tools:
sudo qrecall captureprefs exclude /Path/to/excluded/item
2. The "Exclude from all archives" option is confusing. I first thought it meant excluding from all archives instead of just this archive, only to realize soon that this is not a per-archive exclusion, so the "Do not capture" setting can't be archive specific. I had to dig out the release notes to know its true meaning. I would suggest something like "Override archive setting" instead.
I'm afraid it's going to be confusing either way.
Essentially, the "exclude item" setting is QRecall's version of OS X's "exclude item from backup" attribute, designed principally for Time Machine. When you configure your archive, you can choose to honor or ignore OS X's "do not backup" flag, and you choose to honor or ignore QRecall's "exclude item" setting.
So, basically, you have two ways of marking items to be excluded from a capture (OS X's and QRecall's) and you have the choice of excluding those items from the capture, or ignoring the settings and capturing either, or both, sets.
I'll try to make this clearer when I get around to updating the help. And I might change the name of the "Exclude from all archives" setting to something like "Setting cannot be ignored," or something like that.
3. I don't know how difficult this is, but I truely hope there is a way for v1 and v2 betas to co-exist on a system, so I could try out the betas without messing with existing archives and backup routines.
If it was easy, I'd do it myself. (Probably the most frustrating part of QRecall development is not being able to use QRecall all the time.) The main problem is that QRecall installs system services that are identified by name, and only one service with that name can be running. And for security, QRecall insists that
all installed components must be the same version. This makes it an all-or-nothing deal.
Thanks for the great work. V2 does look promising.
Thanks. I look forward to you trying it again soon. The next (b10) release should include the fixes I mentioned here.