Sync Dirs: compare WDX fields using own custom columns

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Sync Dirs: compare WDX fields using own custom columns

Post by *DrShark »

This suggestion, if implemented, will make it possible to use all wdx plugins in Sync Dirs tool without any conflicts with current Sync Dirs functions.
The idea is based on adding custum columns similar to used in file panels of regular fs or fs plugins. User can make one of column views that are enabled for compare to be visible (its called active in proposed interface below) so user can visually compare values of certain plugin(s) of files in SyncDirs. Other (currently not visible but enabled for compare) columns are marked in columns selection context menu using sings used in direction boxes of main SyncDirs windows. For content plugins that are able to write this signs may be a checkbokse (active direction boxes) so user can select a direction of plugin fiels to be copied.

The proposed interface:

1) "Synchronize directories" window:
----------------------------------------------------------------------------------------------------------------------------------------------
[   Compare  ] [ ] Assymetric  -[x] Plugin fields--------------------
[ ] Only selected   [ ] Subdirs   |[x] active custom column view |
(in main window)  [ ] by content   |[ ] hidden custom colums views |
[ ] Empty directories [ ] ignore date ---------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
Name| Size| Date| active custom column view name| <=> | active custom column view name| Date| Size| Name
Here after pressing "Compare", TC also compares values of plugins used "active custom column view". If "hidden custom colums views" checked, TC also compares all hidden (but not disabled, I'll write below about it) fields. To visually compare such fields after Compare action, user can select any costum column in context menu: this will make such view active.


2) active custom column's bar context menu:
------------------------------------------
[] active column view name
-------------------------------------------------
Configure this custom column view...
Configure custom columns...
-------------------------------------------------
= view name 1
view name 2
view name 3
[] view name 4 (can write)
[] view name 5 (can write)
[] view name 6 (can write)
The context menu, mentioned above. Directions signs become visible after Compare action in Sync Dirs used. Like mentioned above, for writable fields user can select direction by clicking on a direction sign in context menu item. A click on a text part of view name item makes column view active, if it is still not.

3) "Configure this custom column view..." window:
Configure viev nr: 4      Name: [view name 4]
-------------------------------------------------------------
Width       Field content
[80]       [[=tc.comment]][+]
                 [OK][Cancel][Apply]
This is a configuration window of active column view. It is a simplified version of one used for file system or FS-plugins views configuration. Because custom in each view is only one, there is no Caption field, all other unnecessary elements also removed.

4) "Configure custom columns..." window:
Configure custom colums for file system: [<Synchronize directories>][v]

Custom column configurations (sort with drag&drop):
1 |view name 1        |Enabled[v]                 |
2 |view name 2        |Enabled[v]                 |
3 |view name 3        |Enabled[v]                 |
4 |view name 4 (can write)|Enabled[v]               |
5 |view name 5 (can write)|Enabled[v]               |
6 |view name 6 (can write)|Enabled[v]               |
7 |view name 7 (can write)|Disabled[v]                |
                         [New][Edit][Delete][Copy]
"Configure custom columns..." is TC's window where user configures costom columns for regular file system (<General>) or FS-plugins. We're adding also <Synchronize directories> to that selector to configure custom columns for it. Since Sync Dirs columns don't have Captions (described above), we can put in the 3rd column Enable/Disable toggle to add or remove column to/from columns contexmenu. After Compare action used in main Sync Dirs window, Disabled columns are not compared even if "hidden custom colums views" checked.
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

DrShark,

Code: Select all

Using the code tag
you   can   format
the  text  better.
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

2Hacker
I know, but it offers only one color, no font formatting and my IE 9 shows "\" inside code tag as ₩ (not in post editor itself, only when viewing posted page).
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

I have to admit that I didn't really understand the idea. What is the basic idea written down in three sentences?
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Lefteous wrote:I have to admit that I didn't really understand the idea. What is the basic idea written down in three sentences?
After comparing, in "<=>" column SyncDirs also shows for all files that have at least one value of custom column views in not match (not =) state. Direction boxes in contex menu allow to quickly view what and how many columns have "not match" value, and active custom column allows to see the values of selected column view. For wdx plugins that are able to write fields, user is able to synchronize values: i.e. if main Sync Dirs direction box "" is pressed, TC will try to also sync all custom columns that have writable plugin fields and mark for own sync direction.
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Okay what are the circumstances where the file is generally equal but a content field is different? This could be metadata stored in a secondary file stream or information stored in another file about the current file. The file streams should be considered automatically on a low level comparison. Byte by byte just like the primary file stream. For high-level differences custom columns sound like a good solution but somehow I think it should work automatically. Why? It shouldn't be necessary to do a configuration in order to find a difference. So it should be done internally as much as possible (comments) with content fields support for sophisticated stuff and human-readable comparison results from alternate filesstreams.
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

After re-thinking of what I'm trying to achive, my context menu solution with active column in main Sync Dirs window doesn't seem to be a good way to select direction of plugins fields sync.
It will be better to put all custom column views onto separate window, called from main Sync Dirs window using some "Synchronize WDX fiels" button. This separate window may look like that:
'Synchronize plugin fields' window wrote:[     Synchronize    ]   Views: [view1][v] [-][+]    Filter: [][=][][]
[      Save      ]   [   Select view   ]
                        
------------------------------------------------------------------------------------------------------
Name (left)|Name (right) | view1     | <=> | view1 || view2 | <=> | view2|
------------------------------------------------------------------------------------------------------
filename 1 |filename 2  | value n    |  =  | value n|| value a| [] | value b|
filename 3 |filename 4  |value x    |   | value y|| value c| [] |    |
------------------------------------------------------------------------------------------------------
|[<][        ]                                 [>]|
------------------------------------------------------------------------------------------------------
Each view has one or several plugin fields (depends on how it will be designed).
So first column has a names from left and right side (same as in main Sync window), and then "view" colunms each with a pair of values for those filenames. Window has a horizontal scroll, so many views may be added for comparsion.

In each view user can view and, for plugins that can write, edit sync direction either by clicking on a checkbox in <=> column or using context menu. Following kinds of selections may be allowed
Click on value makes vales pair selected;
Click on "Select view" button selects a view column that set in above "Views:" field;
Click on filename makes line with all views for it selected;
Ctrl+A makes all views selected.
Context menu that allows to set a copy values direction alllies to what is selected (plugins that can't write will just ignore that).
Views may be added, removed or have their name edited in "Views" field.
Filter makes window show only filename pairs with at least 1 view with following direction. By default filter looks all views, but if some view is selected using "Select view button", filter shows only names of this view.
After pressing "Synchronize" button in this window, TC tries to sychronize writable plugin fields only.
If nothing or all is selected, Sync is done for all filenames and all views. If somthing is selected, it applies only to selection.
"Save" button saves changes in direction, if user made some, and synchronization of all fields then done together with main file sync process after user will press "Synchronize" in main Sync window. Main Sync Dirs window may have an option only to compare, but not synchronize writable plugin fields, as well as an option not to even compare them after "Compare" was pressed.
If plugin fields compare is used, in main Sync Dirs window a sign of direction changes in <=> column to "" for a pair of files if that file pair has at least 1 plugins view with own direction other than "=". If all views for pair has "=" direction signs, main SyncDirs window shows the same what it shows without plugin comparsion: "=", "" or "" depending of what standard comparsion features detect for it.

2Lefteous
I hope last two sentences explain the logic of sync direction for files and plugin fields (views).
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2DrShark
I know it's a bit of work but as you have already thought about represenation in the UI I would recommend posting a sample scenerio which consists of a series of mockup screens. No offense but I'm convinced that some ascii UIs and long texts are really hard to understand.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Lefteous,
Can you recommend a good tool for GUI mockups?

TIA
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Dalai
Power Member
Power Member
Posts: 9387
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2Hacker
Although I'm not Lefteous, I can give an answer: I use ForeUI if I need to create some GUI, be it a mockup or prototype or something else. This software was given away by GiveAwayOfTheDay.com some years ago. IIRC they also have a web solution for this, but unfortunately I can't find it right now.

You could also use Koda FormDesigner, a GUI designer for AutoIt GUIs, which is quite similar to the (older) Delphi IDE. Not a prototyping or mockup tool per se, but it can get the job done :).

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Can you recommend a good tool for GUI mockups?
Well I guess it's about free tools and I guess I'm not good at recommending free tools as most of the tools I use are rather expensive. Sorry.
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Dalai, Lefteous,
Thanks to both.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply