-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exclude patterns GUI improvements #907
Comments
BackInTime also has a sensible set of default excludes:
|
We discussed adding defaults before and the feedback wasn't good due to the large variety of OS and use cases. So if we add defaults, they will be OS-specific and disabled by default. |
Suggested by @Wikinaut in #970
|
Getting close to starting this feature. Was thinking about this a bit more and would want those features:
Anything to add? @Hofer-Julian @bastiencyr ? |
Sounds good.
How about allowing comments with |
I like the idea of making the import/export file a valid patterns file. In the UI, I'd prefer to have pattern and commend separate. Else we literally have a free text box again. |
Souds good too.
For naming, maybe some more meaningful names for users like "User Temporary Files", "Dev Irrelevant Files". Its more user orientated and may not know what a cache is. |
Adding my own excludes:
|
I think it's great. 🙌 Not much to add. So the data model is like description, pattern, OS, on/off? Some of those are built-in and some are supplied by the user? We should put the built-in patterns in a reusable format, since they may be relevant for other projects, if we end up collecting enough. |
https://gitlab.gnome.org/World/pika-backup/-/merge_requests/69 might be interesting for this effort too |
There patterns that can be grouped together with a name. They can be toggled through the GUI or by commenting them out in raw text. We can integrate online sources for patterns like gitignore.io or github/gitignore for excluding different development files. |
I had a look at Pika Backup. It seems like they only allow excluding existing files/folders that can be added to the exclusion list through a file chooser. |
That's not very flexible. E.g. to exclude a type of files. |
That specific feature is not released yet. |
Yeah, having multiple patterns in a group makes sense too. So the data struct would be like: group description, [list of patterns], OS (as per Python |
Yes, that would be a good start. However the user should be able to toggle single patterns, edit the predefined patterns and add own patterns. This could be realised in two database tables:
Thanks. I like that the mockup shows the size of the excluded files. |
Hello everyone. Could you please point me to the current list of different exclude defaults/suggestions? Maybe I missed the link here, or did search for the wrong keywords. I thought I could look the exclusions up here in the repo, without installing Vorta (as I’m basically using borg without GUI for my macOS backups). Here’s what I came up with for now; it’s a mixture of Arq’s exclusion list as well as the suggestions from the previously linked reddit thread and from the posts in this very GitHub issue … comments and feedback very much appreciated; this is macOS-specific.
|
Thanks for sharing! We don't ship a default list yet. Still work in progress. Based on the current plan, we may do different groups that can be toggled. Since exclusions are really OS-dependent and personal. |
Yes, the definitely are; been looking for the macOS-specific list.
That’s the part I obviously have missed reading through this issue; will keep an eye on future updates. PS: I’ll be doing some more research on this matter, and in case of any new insights, I’ll be editing/updating my list above. |
Do you mean there should be another tab? What will this tab show? I think the check input below is sufficient for debugging. |
Preview tab could show all rules combined how they are passed to Borg later. Raw would be just for user input. If you combine both, how do you know what the user edited and what's from our own presets? |
Okay, and how do you recommend the separation of user added rules and vorta preset rules be done in the preview tab? |
Also, I'm concerned that having four tabs and too many features may be counterproductive, as it could make the interface more difficult for novice users to navigate. |
I like @m3nu suggestion. What about having two tabs: Patterns and Raw. The pattern tab shows the patterns and collapsible pattern groups including added presets. The raw tab shows the custom patterns at the beginning and the preset patterns appended to the end. However the section of the textedit with preset patterns is greyed out and can't be edited. There won't be any merging of preset and non preset patterns, borg can handle duplicates. |
Cool, if that's what we decide, then I'll edit my design to accomodate groups and single rules both in the patterns tab.
|
This is great that you are doing this. While researching I found this repo for list of excludes for linux /home with rsync, it should be good for this feature |
Thankyou! This is really helpful :) |
Thanks to everyone who participated in this thread! The current iteration after community review and feedback from the maintainers can be found here - https://www.figma.com/file/Y70aJFOpJ1VT59lWzUZEoQ/Exclude-GUI?type=design&node-id=0-1&t=vXY1HiJ152wU6FhF-0. Attaching screenshots here too: This is one of my GSoC projects, and I'll start coding in a few weeks. Please let me know if anyone has other suggestions/improvements that I can look into before that! |
Looks good and what I imagined really. Minor thoughts:
|
It might be good to include a field that you can provide exclusion lists to, it's not currently clear if the UI supports .lst files or not. e.g, the vorta equivalent of running Where the .lst contains items such as: # Siri
! **/Library/Assistant/SiriAnalytics.db
! **/Library/Assistant/SiriSyncItems.db
! **/Library/Assistant/SiriVocabulary/sv.db
# Logs and Monitoring
- **/Logs/ |
The current mockup doesn't allow patterns afaik but only excludes. There is a TextEdit for pasting in your own excludes e.g. from a different file. |
Hey, I have started work on this feature and will soon get started with the Presets tab. These presets will be shipped by Vorta and you'll just have to select some presets and all patterns included in that preset will be excluded from the created archive! I need some feedback/suggestions for these presets though, the format I need is - Preset Name Preset 2 Name So if anyone has a grouped list (or even one set of patterns), like this - #907 (comment) it'd be helpful to get things started on this feature. Thanks! P.S. you can add your preset by opening an issue after this feature is shipped too. These presets will be a json file in the Vorta codebase itself. |
Parsing this will be a minefield and we may want more metadata. Would use a dict/json format. name, desc, os, rules format, list of actual rules, maybe? |
Oh yeah, the implementation itself will be a json, I just meant to list what's needed 😅 |
If it helps these are the excludes I use on macOS:
|
Sounds awesome @diivi 👍 Looking forward using this feature. |
Love all the input, @jakesmolka and @sammcj . Will be great to bundle this knowledge with Vorta. We just need to group it all a bit. @diivi , you see your feature is already very popular. I suggest to add the most obvious input from here to the first version, but also prioritize getting something usable out of the door and then add more exclusion rules over time. |
Thank you for the flexible interface for "exclude"! There is one point that is quite confusing in borg - and since Vorta is referring to the borg documentation, this applies to Vorta too. In borg there are two distinct sets of options which can be used for excludes: Only the second set of options uses the term "pattern" in its name.
If I understand correctly, currently, Vorta only supports |
Closing this, since the feature is done. Move the last comment by @goebbe to a new issue. |
Hi there, i'm only seeing this now while the issue was just closed, but perhaps this exclusion list for macOS is still useful...: https://github.com/SterlingHooten/borg-backup-exclusions-macos |
Could be. Made a new issue for this. Thanks for the link! |
Just noticed that Nextcloud (desktop client) comes with a nice list of default exclusions. Maybe something for Vorta to assimilate.
I agree that one simple kind of patterns would be enough.
Originally posted by @m3nu in #838 (comment)
The text was updated successfully, but these errors were encountered: