Columns Viewer

This simple script-addin command allows you to view and copy virtually all column values available in Directory Opus.
While working with other programs and metadata/properties, I have sometimes encountered the need to know the equivalent name/keyword in DOpus that displays the same information. Since there is no quick way to display all this information, I decided to make it possible and share it with the community.

Some of its main features are:

  • List almost all values available in DOpus for built-in columns.
  • List script column values.
  • List Evaluator column values.
  • List column values for enabled Shell Properties .
  • Search by name, label or header.
  • Ability to copy selected values to clipboard.
  • Multilanguage UI (available in all languages included in DOpus).

:warning: NOTE: Remember that this is a work in progress and may contain errors. Any questions or suggestions are welcome

HOW TO INSTALL

Download the file below. Then run Prefs SCRIPTINSTALL and select the downloaded file.
:warning: IMPORTANT: Needs at least v13.0.50
ColumnsViewer.opusscriptinstall (12.8 KB)

USAGE
Once installed, you can access the command by running COLUMNSVIEWER %fullpath%, where %fullpath% is the full path of the file or folder to use. Remember to use quotes if it contains spaces. Otherwise, if you just use COLUMNSVIEWER , the first selected item in the active tab is used.

Once the data has been read, a dialog window appears that allows you to view, search, and copy the retrieved data.
You can sort by values in any column and search for matching values in Name, Label and Header.
When one or more rows are selected in the list, the Copy Selection button appears, allowing you to copy all values from all columns in the selection. You can also use Ctrl+C for the same purpose.
If you want to specify which columns to copy, you can use the menu that appears when you right-click on the selection.

The Refresh button (or the F5 key) allows you to refresh all values.
The :x: button clears the value entered in the search field.

OPTIONS
In the Script Management window, select Columns Viewer and click in the gear icon.

  • debug: Useful if you have some problems with results obtained and want to see the command line generated by the script. You can select the log level as OFF, ALL or WARNING.
  • ignored_script_columns: List of all script filenames that you don't want to be used. All columns declared within those files will be ignored by this command.
  • size_mode (v1.0.2): Choose how the dialog window will resize when open.
    • AUTO : Auto resize based on screen resolution and list dimensions.
    • LAST USED: Remember the last window size and position.

CHANGELOG
v1.0.5 (2023-29-11)

  • It's no longer necessary to specify the main name for script columns whose script filename does not match with this value.

v1.0.4 (2023-29-11)

  • Improved search functionality
  • Fixed shell properties columns sometimes not getting values
  • Added Hotkey Esc to close dialog
  • Added Hotkey F4 to set Categories to All
  • Added Hotkey ShiftF4 to focus Categories Combobox Control
  • Added Hotkey F3 to focus Search Field Control
  • Hint text for the Search Field Control is now multilanguage as well

v1.0.3 (2023-11-21)

  • Code improvement. Now the results should be obtained faster.

v1.0.2 (2023-11-21)

  • You can now choose to automatically resize the window or use the last used position and size.
  • Improved search functionality.
  • Code cleanup.

v1.0.1 (2023-11-21)

  • Hopefully solved the problem of not getting any data for script columns, when you have a huge amount of them.
  • Added in configuration the option sc_cols_custom_names, which allows to manually define the main name/keyword for columns whose stem filename is different from its keyword (also to save processing time, as without this it would be necessary to parse each existing script looking for the name).

v1.0.0 (2023-11-20) : Initial release

7 Likes

Running it on DOpusInstall-13.0.48.Beta.exe in my downloads folder had the side effect of renaming the selected file to .exe and also generates a lot of warning messages that read..

"C:\Users\admin\AppData\Roaming\GPSoftware\Directory Opus\Script AddIns\ColumnExifTool - Copy (2).js" does not exists in scripts folder

@aussieboykie In your configuration there is 1 file where all the info for scripts you ever installed are stored, and they are no longer deleted from that list. This script searches for those that are columns, are not listed as disabled and exist, hence those warning messages .
Since there is no direct way to get the values ​​for script columns, the command abuse of the possiblity of access to those values via renaming, so creates a rename preset and use Evaluator Val() function and a rename script to get the values. There's no actual renaming.
But I think (my guess) that some script columns keywords somehow breaks the renaming process, hence the file has been left without a name.
If you pass me that preset via DM, I can take a look at it and see where it doesn't work as it should. I think it's called "sc_columns"

When I click on your icon to send a DM your profile pops up as "not linked" which seems at odds with the fact that you are shown as linked in your posts. However, it means that I can't send you the relevant sc_columns.orp file by DM. Are you able to DM me?

@aussieboykie I already DM you

Doesn't show as unlinked here for me, but account linking has no effect on DMs either.

Oh, I think it's because the profile is hidden (from non-admins). I see the same if I go incognito.

I think I found the culprit, it's not the actual code in the rename preset, but seems related to the length of the TO value passed.
What I still do not understand is how it calculates this limit of characters, if it is the raw length of TO value, or if TO are keywords references to other values, it is the calculation of the length after obtaining those values...
I made the command to run a single rename to get all the values of the script and evaluator columns instead of running it for each column (e.g. in the case of having the ColumnExifTool script it would run more than 170 times!) because I didn't know that a limit was applied even if the rename script specifies not to do any renaming. Definitely something to analyze...

@aussieboykie I made a small change, you can download the script again and try it and see if it now works for you.

1 Like

useful script. thank you!
can it possible to save window's size and position?

v1.0.1 is up! Hopefully this fixes the parsing problem for script columns when the user has an enormous amount of them.
Also I add a new option in configuration, sc_cols_custom_names, to manually define the main name of a column. This is useful for columns that have a name defined other than the base name of the file, as it saves the time and effort of having to parse each script file looking for that data. So, if you notice that some script columns are not returning results when they should, you can check if the name you are getting is the correct one. To do this, open the file in a text editor and check in the OnInit() function that the declared name is the same as the script base filename. If it is different, you can add it manually to this option along with the filename.
E.g. "ColumnExifTool.js.txt": "ExifTool" (this example is already added by default)

v1.0.2 is up! Which allows you to use last window position and size.

2 Likes

For those who are testing v1.0.2 and have a lot of scipt columns installed (eg. ExifTool columns) can confirm if the command is working properly? I mean, are you getting the right values?

Analyzing more in detail the problem of version 1.0, I initially thought that it was due to a certain limit imposed on the pattern length that did not allow to return all values, but I think I was wrong. It seems to be related more to the presence of certain characters that break the renaming script.

Could you please test this version and let me know if you still get the correct data? The results should be much faster (like 50% faster).
ColumnsViewer.opusscriptinstall (13.4 KB)

confirmed both versions on scripts

1 Like

v1.0.3 is up. It should be faster and hopefully doesn't break things again

v1.0.4 is up with improvements for Shell Properties Columns and now the UI is completely multilanguage! Remember to update first to v13.0.50

3 Likes

v1.0.5 comes with a little but useful improvement: It's no longer necessary to specify the main name for script columns whose script filename does not match with this value. The only thing missing now is a way to obtain the label for these columns. (they are listed in scriptprefs.osd but there is no way to correlate the correct name/label order.)
One thing that needs to be clarified is that there may be ghost columns listed. This is because AFAIK there is no method to get all valid columns, and the scriptcolumns.oxc file stores all column names ever registered, whether they exist or not. The script takes care of filtering out most of them (file not existing, listed as disabled in scriptaddins.oxc or not listed in scriptprefs.osd), but it is not currently possible to do so completely (e.g. if a script ever declared a column and then removed it, it is still listed in scriptcolumns.oxc and will be listed as a ghost column when using this command).

1 Like