FileSieve 4

This is the tracker for FileSieve 4.

If you have a bug report, feature, or suggestion, then please add a new task. Creating an account will allow you to keep track of your tasks and their status.

IDCategoryTask TypePrioritySeveritySummaryStatusProgress
319Backend / CoreFeatureLowLowAdd more Automation commandsAssigned
0%
Task Description

Add more commands to the Automation system; such as specifying Methods, Modifiers, etc.

318Backend / CoreFeatureLowLowStart and End pointsAssigned
0%
Task Description

Allow Start Points and End Points to be specified.

For example, setting a Start Point of HTTP will allow FileSieve to process items from an HTTP server and setting an End Point of FTP will allow FileSieve to use an FTP server as a destination.

This will probably require introducing an intermediate “language” that describes what FileSieve is trying to do and is interpreted by the respective Start/End Points into concrete actions.

This’ll allow Start/End Points of other services such as Drop Box, Google Drive, Amazon S3, etc.

Definitely requires some planning.

 316 Backend / CoreBug Report (major)Very HighHigh Pause/Stop: "Object reference not set to an instance of ...Closed
100%
Task Description

Message: Object reference not set to an instance of an object.

Runtime: 2485 seconds

at FS.Main.Core.Process.set_IsPaused(Boolean value)
at FS.Main.Core.Process.Stop()
at FS.Main.Forms.Main.cmdProcessing_Stop_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message m)
at System.Windows.Forms.ButtonBase.WndProc(Message m)
at System.Windows.Forms.Button.WndProc(Message m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Submitted via the Pique exception service; thanks to the submitter!

 315 Backend / CoreBug Report (minor)HighVery Low Main window banner always says "This does something or  ...Closed
100%
Task Description

Due to moving over to the new, enhanced tooltips in 4.29, the banner in the main window isn’t having its default “This does something or whatever.” text updated to reflect the selected tab in the menu.

 314 InterfaceBug Report (minor)LowLow Toolbars are appearing drawn with the system's accent c ...Closed
100%
Task Description

After a MetroForm has been opened, all ToolStrip renderers are being drawn with the system’s accent colour.

313InterfaceBug Report (minor)Very LowVery LowUpdate SourceItem listviewitem when excluding item from...Assigned
0%
Task Description

When a file is excluded using the Simulation window, the corresponding SourceItem’s listviewitem needs to be updated within the Step 1: Source Items listview so the Ignore column is synched.

 312 InterfaceFeatureLowLow Add Exclude These Items to Simulation Window Closed
100%
Task Description

Right-clicking on an item (or set of items) within the Simulation window and selecting Exclude this from further processing should add that item(s) as a disallowed rule within that item’s Source Item.

This will require adding SourceItem to FS.Plugins.Item so the item’s parent can be resolved.

 296 Backend / CoreBug Report (major)MediumMedium File Moving fails with Classification method Closed
100%
Task Description

With the Classification method and the Move copy mode selected, FileSieve errors while trying to move files to the destination. This shouldn’t(!) be specific to just the Classification method as it itself doesn’t actually do any I/O of its own, so any method could expose this problem.

The Process.ProcessItem() log entry also doesn’t actually say what the reason for the failure was. Presumably this is because the reason isn’t easily accessible downstream. Either way, get that fixed as well.

Thanks to M. Buckton for reporting

 294 Backend / CoreBug Report (minor)MediumLow Portable Mode causes a crash Closed
100%
Task Description

Running FileSieve with the -portable parameter causes it to crash; this is likely down to the new automation support, especially as there’s a delay for a second or two before the crash happens as that’s when Automation is invoked.

Thanks to K. Armstrong for reporting

291Backend / CoreFeatureLowLowAllow settings changes via AutomationAssigned
20%
Task Description

Now that FileSieve supports automation, being able to modify settings could prove useful.

This would primarily be used from within an AutoFile, but as it works the same way as command-line automation, it would be accessible from both.

Some kind of generic way of setting a value would be best. For example (temporary names and syntax):

  set:key=value

This would set the key setting to value.

Would the Profile command be changed to use this? Or is that an actual command, whereas the above is just a property change? Not sure.

 290 Backend / CoreFeatureLowLow External file automation Closed
100%
Task Description

Now that command-line automation has been added ( FS#11 ), it should be easy(ish!) to allow the automation via other means such as a text file.

289PluginFeatureLowVery LowMethod.Rules. Drag/drop rule matching.Assigned
10%
Task Description

Create a new Method that determines what to do based on a rule set created by the user.

If example, you can add an IF rule that will perform a check and if it’s True, it’ll continue running through the rest of the rules. Or maybe it’ll allow other arbitrary things to be performed.

Not too easy to explain, but imagine a wizard but geared more towards logic.

The most amount of work here is designing the interface.

 288 Backend / CoreFeatureLowLow Support for long names Closed
100%
Task Description

Since .NET 4.6.2, there is support for long path and file names (over ~230 chars).

Add support for determining if support is enabled at the OS-level (gpedit.msc - Local Computer Policy - Computer Configuration - Administrative Templates - All Settings - Enable Win32 long paths; see this post here for further information) and taking the appropriate action if it isn’t, such not processing items that are over MAX_PATH.

Add information to the documentation for enabling the long paths property via GPEdit.

 287 Backend / CoreFeatureVery LowVery Low Add Minimum/Maximum Filesize to Source Item Editor Closed
100%
Task Description

Support for getting files that have a minimum and a maximum file size has been added to the IO.Directory namespace; expose this property within the Source Item Editor.

 283 Backend / CoreFeatureVery LowVery Low Add Method/Modifier cleaning for Profiles Closed
100%
Task Description

Add a feature to allow the “cleaning” of any used Method/Modifier data from Profiles.

Selecting a Method will cause FileSieve to insert its settings (either changed by the user or not) within the current Profile. This causes FileSieve to remember any changes that have been made to any Methods.

The downside of this is that the Profile will increase in size with potentially unused data.

This description makes it sound like Profiles are bloating to megabytes in size; this is not the case. Profiles that are ordinarily a couple of kilobytes in size can increase to approximately 50KB in size, with most of this coming from the Classification plugin.

50KB is absolutely nothing, admittedly, but still.

282InterfaceEnhancementVery LowVery LowSet Method/Modifier label colour depending on settingsAssigned
0%
Task Description

The Method and Modifier labels on the Options tab should be colour-coded depending on the status of the respective Method and Modifier.

If no Method is set, then colour the Method label red. If a Method is set but it doesn’t have valid/sane settings, then colour the label orange-ish.

Ditto for the Modifiers label, except for the red = no Modifier set as that’s valid.

 281 Backend / CoreBug Report (major)Very HighCritical Method/Modifier settings not being correctly loaded/ass ...Closed
100%
Task Description

There’s something very wrong with the whole Profile and Method/Modifier interaction in regards to the currently active settings.

Profile.Active.ActiveMethod.MethodSettings contains the correct settings
Profile.Active.ActiveMethod.Method.Settings contains the INCORRECT settings

 280 APIBug Report (major)HighHigh Incorrect Method settings not being loaded when >1 prof ...Closed
100%
Task Description

When there are multiple profiles defined, it appears the Method settings for one (maybe the first) profile is loaded despite another profile having been auto-selected at during startup.

Removing the extra profile results in the Method settings being correctly loaded for the profile.

Further testing is required to see if Modifiers - and anything else - are affected.

EDIT: Can’t seem to delete this task, so instead see the replacement task  FS#281 .

279PluginFeatureVery LowVery LowMethod.Tag: Add additional substitution/formatting char...Assigned
0%
Task Description

Add a ton of additional formatting options and configurability(?) such as back in the days of Elixir. Maybe put such options within an Advanced section or something, to keep the main interface clean.

278PluginBug Report (major)HighHighTag (and possibly EXIF?) Method doesn't rename actual f...Assigned
0%
Task Description

The Tag plugin is where the issue was found; the EXIF plugin will be investigated later.

The Tag plugin doesn’t actually rename processed files, but instead just creates directories based on the entered Name Mask.

Was this the original intention? Doesn’t seem anywhere near as useful as also being able to rename the files.

For example, original file:

  • my_song.mp3

Name Mask: %ALBUM_TITLE%\%TITLE%.%FILE_EXTENSION%

This results in:

  • My Album\My Song.mp3\my_song.mp3

It should be:

  • My Album\My Song.mp3

The original filename for the file doesn’t get changed by FileSieve when it gets processed. FileSieve doesn’t seem to modify the filename at all.

That can’t be right?

 277 Backend / CoreBug Report (minor)MediumMedium Paths (Files?) being truncated, possibly by Windows its ...Closed
100%
Task Description

Reported by Douglas Wofford in Task#273:

“The second issue is the result of a quirk with how Windows itself corrects an invalid character. There are few album names in my files that end with a period [.], for example R.E.V.O. or Shakira. Windows allows you to type in (or submit) a path like this ‘F:\Music\PlaylistReorg\RockPop\Walk Off The Earth\R.E.V.O. \’ with no error. The path that gets created, however, ‘F:\Music\PlaylistReorg\RockPop\Walk Off The Earth\R.E.V.O\’ – Windows strips off the final . and space. As result, when FileSieve attempts to move or copy the file into the directory Windows confirmed was created, the directory doesn’t exist and the move/copy fails. This is a tough one since it’s kind of weird one-off problem.”

 276 PluginBug Report (minor)LowLow Tag Method: Genre not always being delimited correctly Closed
100%
Task Description

Reported by Douglas Wofford in Task#273:

“The issue is with the option to have a slash character in Genres replaced with a -. This is not new to the new build – it was happening before – but I had missed it. I’ve included a log file showing what happens. Basically, the routine is inserted the - character some of the time, but most of time it’s just eliminating the character. So, you will see some path names as F:\Music\Rock-Pop\... but most path names as F:\Music\RockPop\... or Blues-Folk and BluesFolk. Unfortunately, I don’t see any kind of pattern related to how the Genre name is handled.”

275InterfaceEnhancementLowLowBetter Processing ResultsAssigned
0%
Task Description

After processing, show detailed information on what happened. For example, the Skipped Items stat doesn’t actually give you useful information on what was actually skipped. The Log is a pain in the arse for determining that information (if at all; had a quick look but couldn’t find anything, so don’t know if it actually says what was skipped or not!).

Give full info on what was skipped, errored, etc - and why.

274InterfaceOverhaulVery LowVery LowRedesign the Log windowAssigned
0%
Task Description

The Log window is, honestly, kind of irritating when trying to determine what has happened when something hasn’t quite worked how it should’ve.

 273 Backend / CoreBug Report (minor)Very LowMedium Improper interaction in file copy/move of root destinat ...Closed
100%
Task Description

This issue is related to (part of?) existing issue 269.

The following combinations lead to unexpected results in the location of the created directories. I am using modifiers to replace characters that are invalid for Windows directory names. They are working as expected except for the quirks identified below.

Step 2 - Destination: Set to F:\
Step 3 - Options - Method - Metadata - Tag:

 Name Mask:  \Music\PlaylistReorg\%GENRES%\%ALBUM_ARTIST_FIRST%\%ALBUM_TITLE%\
 Checked: Replace any slash characters encountered within the Genres tag.

Step 3 - Options - Modifiers:

 [All modifier rules created to handle characters in ALBUM_ARTIST_FIRST and ALBUM_TITLE that are invalid for Windows directory names]
 Find : Replace With -
 Find ? Replace With NULL
 Find # Replace With NULL
 Find & Replace With and
 Find , Replace With NULL
 Find + Replace With and
 Find * Replace With -

Renaming Results:

 New file name is set to \Music\PlaylistReorg\... and saved to the root of the C: drive

If the name mask is changed to F:\Music\PlaylistReorg\%GENRES%\%ALBUM_ARTIST_FIRST%\%ALBUM_TITLE%\

 [Explicitly using the Drive letter]

Renaming Results:

 New file name is set to F:\F-\Music\PlaylistReorg\... and saved to the correct drive (F:) but underneath a new directory F-

Finally, if the name mask is changed to Music\PlaylistReorg\%GENRES%\%ALBUM_ARTIST_FIRST%\%ALBUM_TITLE%\ [removing the leading \]

Renaming Results:

 New file name is set to F:\F-\Music\PlaylistReorg\... and saved to the correct drive (F:) but underneath a new directory F-

The modifier rules work correctly on the %ALBUM_ARTIST_FIRST% and %ALBUM_TITLE% variables to create the correct sub-directories under F-. The check box option correctly corrects the / character in the %GENRES% value to the - character as well.

The issue appears to be restricted to how the drive letter is being handled. The outcome of all of the combinations above results in the correct reorganization of the files from a single flat directory into multiple correct sub-directories. The new sub-directories end up, however, either in the root directory of the default C: drive or in a new directory F- on the F: drive.

 271 PluginFeatureHighLow Method: Mirror. Mirrors source items' structure Closed
100%
Task Description

Add a Mirror Method that simply mirrors the structure of each source item to the destination.

A straight-up file copy, in simplistic terms. Obviously won’t be as simple to code, but that’s it in a nutshell.

Not a walnut, because they taste weird.

 269 Backend / CoreBug Report (minor)MediumMedium Illegal characters in path Closed
100%
Task Description

When processing, do something with files that have illegal characters in their filename.

Despite Windows not allowing such chars, they can still be created via some programs. FileSieve should have a setting (plugin?) that can dictate what should happen to them - probably replace them with valid alternatives.

Known places that throw (caught) exceptions:

  • FileSieve4.Plugin\Item.UpdatePaths() : line 262
  • FileSieve4.Main\Core\Process.ProcessItem() : line 751 (CreateDirectory)
 268 InterfaceChangeVery LowVery Low Disable the main window's system menu - About menu duri ...Closed
100%
Task Description

While FileSieve is processing files, disable the About... menu item within the main window’s sysmenu. If it’s too much faffing about, simply ignore the click instead.

 267 Backend / CoreEnhancementLowLow Source Item - Verify needs to check Regex Closed
100%
Task Description

The Verify link within the Source Item Editor needs to perform validation checks on the regular expression Rules to ensure they are correct; if they aren’t, notify the user.

 265 Backend / CoreBug Report (minor)LowLow Folders aren't correctly synced in the Classification e ...Closed
100%
Task Description

When adding/removing/clearing nodes within the tvwFolders TreeView, the Parent property isn’t being correctly set which results in an error when using drag & drop to move those Folders around.

For now, FileSieve 4.15 just displays a friendly error message and notes that the bug will be fixed within the next version.

264InterfaceBug Report (minor)LowLowAllow re-ordering of nodes without changing ParentAssigned
0%
Task Description

Allow the re-ordering of Nodes rather than just allowing Nodes to have their Parent changed.

 263 Backend / CoreFeatureLowLow Add additional command-line parameters Closed
100%
Task Description

Add more command-line parameters.

 262 InterfaceBug Report (major)Very HighHigh Exception: Value of '720' is not valid for 'Value' Closed
100%
Task Description

Exception: Value of ‘720’ is not valid for ‘Value’. ‘Value’ should be between ‘minimum’ and ‘maximum’. Parameter name: Value

at System.Windows.Forms.ProgressBar.set_Value(Int32 value)
at FS.Main.Core.Results.ResultsControls.UpdateProgressBar()

252Backend / CoreFeatureLowLowAdd Profile presetsAssigned
0%
Task Description

Add some Profile presets.

 251 DocumentationFeatureMediumMedium Add Trigger documentation Closed
100%
Task Description

Add documentation for Triggers.

250InterfaceOverhaulLowLowOverhaul the Profile Manager UIAssigned
20%
Task Description

The Trigger system should be consolidated into the Profile Manager, and any future features - such as Thread Settings - can easily be added without cluttering up the main window UI.

 249 Backend / CoreBug Report (major)Very HighHigh Creating a new Profile called "New Profile" results in  ...Closed
100%
Task Description

Using the Profile Manager, clicking on New but keeping the default New Profile name and hitting enter doesn’t rename the Guid-based on-disk file to “New Profile” and instead keeps the generated Guid.

Discovered while implementing the new Trigger system.

248Backend / CoreOverhaulVery LowVery LowDecouple Profile processing from the UIAssigned
0%
Task Description

To allow the simultaneous processing of multiple profiles and to allow the Trigger system to fire for more than one profile at a time, profile processing will need to be decoupled from the user interface.

Requires some thought, especially when it comes to showing the fact that multiple profiles are being processed at the same time.

 247 PluginFeatureMediumMedium Trigger: DateTime Closed
100%
Task Description

Add a DateTime Trigger that fires when the specified date/time has arrived or elapsed. Support recurrence.

 246 PluginFeatureMediumMedium Trigger: Directory Watcher Closed
100%
Task Description

Add a Directory Watcher Trigger that fires when the contents of a directory changes, with different filters for different change types (eg. new file, modified file, attribute change, etc).

 245 PluginFeatureMediumMedium Trigger: UserIdle Closed
100%
Task Description

Add a UserIdle Trigger that fires when there has been no user-input for a specified duration.

 244 User InterfaceBug Report (minor)Very LowVery Low Drop-shadow in main window isn't correct Closed
100%
Task Description

The drop-shadow under banner in the main window has an incorrect EndColor set. It appears to be set to SystemColors.Control as opposed to the custom RGB(230, 230, 230) of the main window’s BackColor.

Consequently, there appears to be a bright “halo” line across the bottom of the shadow.

 242 Backend / CoreBug Report (minor)LowLow Profile is saved during application startup Closed
100%
Task Description

While FileSieve is being launched, the loaded Profile is immediately saved back out again.

Eliminate this unnecessary save I/O and investigate any other such cases.

237Backend / CoreBug Report (major)DeferLowInactive Modifiers are not saving their settingsAssigned
0%
Task Description

Changing a Modifier’s settings, Okaying the Modifier window, and reopening it shows the changed settings as expected; but restarting the application shows the original settings before the save.

 197 DocumentationEnhancementMediumMedium Implement all WoLEX documentation improvements Closed
100%
Task Description

Port all improvements made to the Wake On LAN Ex documentation to the FileSieve documentation.

This includes the version and date release information within the header, the lightly-underlined list items, right-aligned default values, and more.

178Backend / CoreFeatureLowLowAllow adding profiles to the Windows Explorer context m...New
90%
Task Description

Allow the user to add specific profiles to the Windows Explorer right-click shell context menu so profiles can be quickly run on a directory.

“Shell codes” (eg. %shell_file1%) will need to be added in various parts of FileSieve so Explorer folders/files can be referenced and acted upon.

 177 InterfaceFeatureLowLow Add Load/Save to Find Replace Modifier's list Closed
100%
Task Description

In the Find Replace Modifier, add code to the Load and Save toolbar buttons and make them visible.

176Backend / CoreChangeMediumMediumChange Regex substitution character from | to $Assigned
0%
Task Description

The internal regular expression engine in .NET uses the dollar symbol for referencing captures groups; change FileSieve so it uses that character and invoke the .NET Regex.Replace() method instead of using custom code.

 175 PluginChangeLowLow Add option to Tag Method to replace any slashes in genr ...Closed
100%
Task Description

The Genre field in some audio files have the / slash character to denote multiple genres; FileSieve treats that slash as a directory separator, resulting in possibly unwanted nested directories.

Add an option so the Tag plugin replaces any found slashes with a user-definable character.

 174 PluginFeatureMediumLow Modifier: Find Replace Closed
100%
Task Description

Add a Find Replace Modifier that functions much like the Find Replace Method, but instead modifies path and file components.

Not sure why the existing Find Replace (Method) plugin got changed from a Modifier to a Method. Doesn’t seem to make much sense, in all honesty.

Showing tasks 1 - 50 of 168 Page 1 of 41 - 2 - 3 - 4 -

Available keyboard shortcuts

Tasklist

Task Details

Task Editing