Page 1 of 2
IgnoreList by Group
Posted: 2009-07-09, 10:20 UTC
by Balderstrom
IgnoreList and the QuickSearch are definitely some of the best new features of TC 7.5. I also find that adding to the ignoreList to filter out directories during Synchronize Dirs is easier to do than writing filters in the [*.*] box.
Except that afterwards you need to delete those from the IgnoreList.
I suppose an alternative would be to change which file Ignore reads from.
If possible though, I'd like to see IgnoreList Groupings wherein you can enable/disable multiple groups of folders/files with one checkmark.
Code: Select all
[x] RootIgnores
\Recycler\
\System Volume Information\
\ntldr
\AUTOEXEC.BAT
\NTDETECT.COM
\arcldr.exe
\arcsetup.exe
\boot.ini
\ntuser.ini
\CONFIG.SYS
\IO.SYS
\MSDOS.SYS
[x] TempFoo Ignore
\UsR\Foo\Documents\"My *"\
\UsR\Foo\My Documents\
This would allow you to create a GroupName, add files/folders to that group and selectively enable/disable everything in that group - as opposed to only enabling or disabling everything in the Ignore List.
Thoughts?
Posted: 2009-07-09, 10:30 UTC
by fenix_productions
2Balderstrom
Nice idea but because someone can have folder called [x] RootIgnores (and similar ones) I propose to use forbidden characters to create group name (i.e. [|] group name).
Posted: 2009-07-09, 10:36 UTC
by Balderstrom
You misread, sorry the [x] is a checkmark

in a box.
I wonder if thats been misinterpreted in other threads/posts of mine, I've done it a number of times, and not explained implicitly that its representing a checked box...
Meaning:
[x] is enabled...
[ ] is disabled (no checkmark)
Posted: 2009-07-09, 10:46 UTC
by fenix_productions
2Balderstrom
I thought about extending ignore list and not about implementing new one. That is why I didn't see it as checkbox.
The reason behind my solution is that sometimes Christian assumes that someone will need to use new INIs in old TC and he doesn't want to break that. Keeping old format but with little change behing parsing engine, could make it real.
Posted: 2009-07-09, 11:20 UTC
by Balderstrom
I believe the old .ini format could still be used, anyone not using GroupNames for their lists would be no change at all.
When a group is enabled it would be in the .ini/.txt file as:
[GROUP_NAME1]
When a group is disabled it would be in the .ini/.txt file as:
*[GROUP_NAME1]
The one caveat perhaps, if you are using GroupNames would be the requirement of an empty header [] header in the actual .ini/.txt.
A sample IgnoreList.txt file:
Code: Select all
[]
\FooBar\Foo
[RootIgnores]
\Recycler\
\System Volume Information\
\ntldr
*[TempFoo Ignore]
\UsR\Foo\Documents\"My *"\
\UsR\Foo\My Documents\
In the above, everything under *[TempFoo Ignore] is disabled.
Everything else is active. And everything under [] has not been placed into a Group/Label.
Also within TC itself, the ability to "click" on the Label/GroupNames to expand/unexpand them as opposed to it just being a static text field - but thats more of a "oh that would be awesome but I don't expect it", kind of thing

Posted: 2009-07-09, 11:49 UTC
by fenix_productions
2
Balderstrom
I agree with your idea but not with your way of naming.
I might complain too much but please remember that you can't use any character to visualize the groups. The only ones you can have are those from
forbidden by Windows group which are not already used as wildcards. The rest of them can appear in folders/files names.
Easy way of enablind/disabling such groups could be very nice improvement. Perhaps it could be merged with current Custom filter (Ctrl+F12) implementation.
Posted: 2009-07-09, 12:09 UTC
by Balderstrom
@Fenix : I'm not sure what you mean exactly, TC currently uses [LABELS] in its config files for sections of the config. Thus this is an extension of that...
Visualizing the Groups within the TC Config/Ignore list would be displaying the labels name that is in the IgnoreList.txt file, and the files/directories listed underneath it.
I must be missing something you are saying. I don't understand why within TC it wouldn't just do:
Code: Select all
√ RootIgnore :
\Recycler\
\System Volume Information\
\ntldr
TempFoo Ignore :
\UsR\Foo\Documents\"My *"\
\UsR\Foo\My Documents\
Where RootIgnore is enabled, has a check beside it and "TempFoo Ignore" is not enabled: has no check beside it.
Posted: 2009-07-09, 12:31 UTC
by fenix_productions
2Balderstrom
TC uses labels in configs because these are INI files which already have some kind of structure.
Ignore list is plain text file with files/folders names within only. That means that you can't simply use the same content as for configs. You need one name per line and nothing more. You can't use labels because each bracket will be treated like the part of the name and, since brackets are not forbidden in Windows, they can be incorrectly interpreted.
Let's assume you've got [first group] line in IngoreList.txt file.
TC will read its content and "think" that there is a directory called [first group] on your drive which should be ignored.
Same thing might happen with any other character which can be used in names.
There are two ways to solve it:
- change ignore list file structure
- use forbidden characters to indicate grouping.
First solution is definitely impossible to do if we consider that some old TC could use newer ignore list.
Second solution might be easier to implement if TC just compares files names from directory with those stored in list. This might neither break anything nor be misinterpreted.
Posted: 2009-07-09, 12:42 UTC
by Balderstrom
Ah

Sorry sometimes this old dwarf is a little thickheaded!!
Yes, without changing file structure something like:
?First Group?
would need to be done
and a disabled group:
*?First Group?
Posted: 2009-07-09, 12:51 UTC
by fenix_productions
2
Balderstrom
I am glad we found same tune
P.S. Asterisk is already used in ignore list and question mark can be used too (as single character substitute IIRC) :p
Posted: 2009-07-09, 13:03 UTC
by StickyNomad
The ignorelist grouping is a very good idea, although I have no idea how to solve the problem discussed above.
I shortly thought about a single ignore file for each group, e.g. 'tcignore_firstgroup', 'tcignore_secondgroup' etc., but there certainly exists a better solution...
Posted: 2009-07-09, 13:08 UTC
by Balderstrom
*GRIN* OK!
<FIRST GROUP>
and disabled:
|<FIRST GROUP>
or disabled:
:<FIRST GROUP>
Sheesh, should prolly just be if it reads a .txt file, it parses the entire list as normal, and if it reads an .ini file it would only parse the text underneath non-disabled labels, [GROUP1]
and skip any files underneath *[GROUP2]
But the latter would require a change by Mr.Ghisler, and the former might be doable with a plugin?
Posted: 2009-07-09, 14:46 UTC
by MVV
I think the most simple way to add new feature and to keep existing tcignore.txt format is to allow lines containing multiple names divided with |. And to treat lines starting with | as disabled lines. So, line "C:\1|c:\2|c:\3" is an active group and line "|C:\1|c:\2|c:\3" is passive group. BTW, we will have posibility to add comment lines, such as "| comment line

".
Also I think it will be a good feature to allow some tcignore.txt files and a checkbox for each, so:
[v] tcignore1_common.txt
[_] tcignore2_video_18+.txt
etc.
This suggestion is fully compatible with existing ignore feature.
Posted: 2009-07-09, 19:58 UTC
by Samuel
First time I realized this thread. Great idea!
I strongly support something like this.
This is a really good solution for ignoring folders (with full path) in sync tool.
Posted: 2009-07-09, 20:00 UTC
by HolgerK
Support++
How about a tab control instead of putting all into one single edit box.
- Each tab shows the content of a separate ignore list file.
- An active sublist is indicated with an preceding asterisk
* in the tab header name.
This part of the interface is unchanged:
Code: Select all
[x] Ignore(don't show) the following files a..
New Tab control with separate filename and new check box for each sub list:
Code: Select all
________ ________ ________ ________
_|*List1__\|_List2__\|*List3__\|_List4__\__[<|>]
| \config.sys |
| \boot.ini |
| \NTDETECT.COM |
| \bootfont.bin |
| \autoexec.bat |
| \ntldr |
| \bootmgr |
|______________________________________________|
Save in [tcignoreList1.txt ] [>>]
[x] Use this ignore list [Remove tab] [New tab]
Adding or deletion of tabs can be done via context menu or the two buttons "remove" and "new" tab.
This is the same as before:
Code: Select all
[ Add selected names with full path] [ Add s.. ]
Some new keys for WINCMD.INI:
Code: Select all
IgnoreListFile=tcignoreList1.txt
IgnoreListFile2=tcignoreList2.txt
IgnoreListFile3=tcignoreList3.txt
IgnoreListFile4=tcignoreList4.txt
IgnoreListFileEnabled=1 ; global switch for all Ignore lists
IgnoreList1FileEnabled=1 ; sub list 1
IgnoreList2FileEnabled=0 ; sub list 2
IgnoreList3FileEnabled=1 ; sub list 3
IgnoreList4FileEnabled=0 ; sub list 4
And some new commands for TOTALCMD.INC:
Code: Select all
cm_SwitchIgnoreList=2922;Enable/disable ignore list file to not show
cm_SwitchIgnoreList1=xxxx1; Enable/disable ignore sub list1 ..
cm_SwitchIgnoreList2=xxxx2; Enable/disable ignore sub list2 ..
cm_SwitchIgnoreList3=xxxx3; Enable/disable ignore sub list3 ..
cm_SwitchIgnoreList4=xxxx4; Enable/disable ignore sub list4 ..
(e.g. for buttonbar or menu to switch and show the state of several (sub) lists)
Regards
Holger