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
 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
0%
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.

 173 PluginBug Report (minor)MediumMedium Item.Path starting with a slash doesn't respect the Des ...Closed
100%
Task Description

Any plugins that pass a path back to FileSieve that start with either a \ or / slash character results in the location of the respective item not being placed onto the destination path.

original description

The Tag method doesn’t prepend the Profile’s Destination location to the path of processed items, and neither do any other


This bug was submitted via forum; big thanks to odwofford for reporting this!

 172 PluginBug Report (major)HighHigh Verify Settings in Find Replace Method causes exception Closed
100%
Task Description

While the Find Replace method is selected within the Methods window, clicking on Verify Settings causes the following exception:

  • Error: Object reference not set to an instance of an object
  • At: FS.Main.Forms.Methods.Verify(Boolean onlyShowErrors)

—-
This bug was submitted via the Pique exception service; big thanks to the user that reported this!

 171 InterfaceBug Report (minor)MediumMedium Crash when double-clicking field in Tag Viewer Closed
100%
Task Description

Double-clicking a tag field within the Tag Method’s Tag Viewer results in a crash.

 170 InterfaceBug Report (minor)HighHigh Plugins need to close any child windows after use Closed
100%
Task Description

When the active plugin has opened a window (eg. the EXIF/Tag plugins have their own EXIF/Tag viewers) and the active plugin is changed to another plugin, the window belonging to the former plugin stays open. This results in a dangling reference and eventually an exception when the user/application closes that window.

Plugins that open any child windows will need to close those windows when the plugin becomes inactive.

Child windows are already closed on SettingsEditor.Closing(), but ideally an event should be added to SettingsEditor so plugins know when they’ve been deselected so they can take appropriate action - such as closing aforementioned child windows.

 169 PluginBug Report (major)HighHigh EXIF plugin exception when selected in Methods window Closed
100%
Task Description

Selecting the EXIF plugin within the Methods window causes the following exception:

  • Error: The method or operation is not implemented
  • At: Method.Exif.Plugin.get_Capabilities()

For the end user, this exception can be safely ignored while a fix is being prepared.


This bug was submitted via the Pique exception service; big thanks to the user that reported this!

 168 InterfaceChangeMediumMedium Add Keyboard Shortcuts and Tooltips for the new Source  ...Closed
100%
Task Description

After the rewrite of the Source Item Editor in 4.07, the keyboard shortcuts and tooltips weren’t implemented.

 167 DocumentationChangeMediumMedium Rewrite Source Item Editor documentation Closed
100%
Task Description

Rewrite the Source Item Editor documentation to reflect the new changes in 4.07.

 165 InterfaceEnhancementLowLow Add an arrow above the Source Items Add button Closed
100%
Task Description

To help direct the user into what they need to do in Step 1 (Source Items), display an arrow above the Add toolbar button pointing at the button itself - just like in Step 4 (Review Settings) for the Start Processing button.

 164 InterfaceEnhancementLowLow Verify in the Source Item Editor should give feedback i ...Closed
100%
Task Description

Clicking on the Verify link within the Source Item Editor should display a tick indicating that the verification was successful so the user knows something happened rather than it just being quiet.

 163 Backend / CoreChangeMediumMedium Update Review Settings and Verify Settings Closed
100%
Task Description

Update both Review Settings and Verify Settings to take into account the newly rewritten Source Item Editor and its changes.

 162 InterfaceOverhaulLowLow Full redesign of the interface Closed
0%
Task Description

Do a full redesign of the interface so it’s more consistent and looks, well, better.

A modified version of my Metro style.

 161 Backend / CoreTestMediumMedium Test to ensure the new Source Item Editor / Rules work Closed
100%
Task Description

Perform extensive testing to ensure the Source Item Editor and new Rules work as expected.

 160 InterfaceChangeMediumMedium Add "Show Advanced" button to Source Item Editor Closed
100%
Task Description

The new Source Item Editor in 4.07 may look daunting at first to newcomers, so add a Show Advanced (drop-down arrow) like in previous versions to show all of the additional settings and options.

159Backend / CoreFeatureLowLowIntegrate BiQubic.BugsAssigned
0%
Task Description

Add support for the BiQubic.Bugs exception library.

Once it has been rewritten, anyway. On top of that, should it submit exceptions to this tracker instead of its own site? Not really sure.

 158 Backend / CoreFeatureMediumMedium Add Rules-based searching to Source Item Editor Closed
100%
Task Description

Have two different types of searching/ignoring files within a Source Item.

Immediate

This is similar to previous versions of FileSieve, but allows much more flexibility.

If a Search rule matches, then the file is allowed; if an Ignore rule matches, then the file is disallowed.

Rules

This works much like how a firewall determines if a connection can or can’t be made.

Rules are processed in a top-to-bottom ordering, and if a Search rule matches then the next rule gets processed. If an Ignore rule is encountered, then the file is disallowed.

If processing gets to the very last rule without any Ignore rules being successful, the file is allowed.

 157 Backend / CoreFeatureLowLow Add support for Conditions Closed
100%
Task Description

Add support for conditions. A Condition is a requirement that must be met before a profile/source item/etc can or should be processed.

If designed in a generic way, conditions should be applicable to various scenarios. For example, to a source item (if it should be searched or not), a profile (if it should be ran at all), and any others.

Definitely requires more thought as this will hopefully prove useful.

156Backend / CoreFeatureLowLowAdd support for a centralised serverAssigned
0%
Task Description

To make the Enterprise Edition more suited for an enterprise environment, add support for storing settings/profiles/etc on a remote server that FileSieve can sync to that data.

 155 PluginBug Report (major)HighHigh Method: Tag; path separator tags are being stripped Closed
100%
Task Description

See forum post.

This...

\%GENRE_FIRST%\%ALBUM_ARTIST_FIRST%\%ALBUM_TITLE%\

becomes this...

Y:\Music\ContemporaryTedCrillyA Song for Europe\FileName.mp3

Initial thoughts are that FileSieve is stripping slashes due to - possibly - a call to MakeFilesystemLegal().

 102 InterfaceEnhancementLowLow Add drag and drop within the Categorisation tvwFolders  ...Closed
100%
Task Description

Plugin: Categorisation.

Being able to drag and drop the nodes within the TreeView would be extremely helpful and convenient.

The only problem with this is it isn’t that easy to implement. I’ve tried it a few times within other projects but it doesn’t quite work the way I’d like, so I just give up.

Maybe this time, eh?

 101 InterfaceEnhancementHighLow Add button to regex Textboxes to show the Regex Tester Closed
100%
Task Description

Once the Regex Tester has been integrated, it would be worthwhile adding a little clickable button (probably a non-obtrusive image) to every Textbox that expects a regular expression input.

Clicking the button then shows the Regex Tester which can be used to create and test expressions, ultimately clicking Use should then insert the expression directly into the Textbox the Tester was invoked from.

 100 InterfaceChangeHighHigh Update old Trello links to point to Tracker.BootBlock.c ...Closed
100%
Task Description

Now that the tracker at Bugs.BootBlock.co.uk is live and has replaced FileSieve @ Trello, all references to Trello should be replaced with the new tracker.

Although, saying that, I’m not sure the sub-domain should necessarily be called Bugs as it’s more than that. Maybe rename it to Tracker.

 99 User InterfaceFeatureMediumLow Add a regex tester Closed
100%
Task Description

While users can use Regex Pal for testing their regular expressions, an integrated tester would be useful as it can offer features that are tailored to FileSieve, along with various presets.

 98 InterfaceBug Report (minor)LowLow Remove duplicate Do Nothing entry from Step 5 - When Co ...Closed
100%
Task Description

no task description

 97 PluginBug Report (major)HighHigh Deactivating a Modifier reactivates it when FileSieve i ...Closed
100%
Task Description

no task description

 96 InterfaceBug Report (minor)MediumMedium Adding a new Profile via ctxProfiles does not populate  ...Closed
100%
Task Description

no task description

 95 APIBug Report (minor)HighHigh Remove Profile(Method|Modifier)Data if no corresponding ...Closed
100%
Task Description

no task description

 94 InterfaceBug Report (major)Very HighCritical Closing Method/Modifier window causes Disposed exceptio ...Closed
100%
Task Description

Closing the Method/Modifer selection window with the titlebar close button results in a Disposed error when opening the window again.

 93 PluginBug Report (major)Very HighCritical Save per-profile plugin settings within each Profile's  ...Closed
100%
Task Description

no task description

 92 Backend / CoreEnhancementHighHigh Plugins: Manually Initialise() so they have full contro ...Closed
100%
Task Description

no task description

 91 Backend / CoreBug Report (major)Very HighCritical Make sure all settings are saved on a per-profile basis Closed
100%
Task Description

no task description

 90 PluginBug Report (major)Very HighCritical Profiles that have settings for a no-longer available p ...Closed
100%
Task Description

no task description

 89 APIEnhancementHighHigh Plugins: Applicable plugins need to utilise IPlugin.Val ...Closed
100%
Task Description

no task description

 88 APIEnhancementMediumMedium IPlugin: Add a Validate() function to the interface Closed
100%
Task Description

Allow FileSieve prompt plugins that are part of a Profile to Validate() their settings and data. For example, plugins that use regex can ensure any used expressions are correct.

The Method.Script plugin will no-doubt require significant changes made to the core of FileSieve.

 87 PluginBug Report (major)HighHigh IPlugin.Starting() isn't being called for Modifiers Closed
100%
Task Description

no task description

 86 DocumentationEnhancementLowLow Methods/Modifiers: Complete documentation Closed
100%
Task Description

no task description

 85 PluginFeatureMediumMedium Method: Attributes Closed
100%
Task Description

no task description

 84 InterfaceChangeLowLow The Help button in the Method/Modifier window should di ...Closed
100%
Task Description

Clicking on the help button in the Method/Modifier editor window shouldn’t display the help for that actual window (after reading it once, why bother reading it again?) but instead help for the selected Method or Modifier plugin.

The help URL is taken from the plugin’s Documentation property.

 83 Backend / CoreFeatureMediumMedium Batch process Profiles to the Enterprise edition Closed
100%
Task Description

no task description

 82 PluginFeatureMediumMedium Method: Audio Tag data Closed
100%
Task Description

no task description

 81 PluginFeatureMediumMedium Method: EXIF data Closed
100%
Task Description

no task description

 80 PluginEnhancementLowLow Method: Standard A - Z; Add character "classes" Closed
100%
Task Description

Add additional character “classes” custom folders to allow the processing of punctuation, numbers, etc, into their own custom folders.

 79 Backend / CoreFeatureMediumMedium Option for automatic weekly update checking Closed
100%
Task Description

no task description

 78 PluginFeatureMediumMedium Method: Categorisation of file types Closed
100%
Task Description

Unlimited levels deep, and “deepness” can be selected.

 77 Backend / CoreFeatureLowLow Simulation: Filtering to the processed simulation resul ...Closed
100%
Task Description

no task description

 76 Backend / CoreFeatureMediumMedium "Ignore/Overwrite if Source is Newer/Bigger/etc" to ove ...Closed
100%
Task Description

no task description

 75 Backend / CoreFeatureLowLow Implement general user feedback Closed
100%
Task Description

no task description

 74 Backend / CoreFeatureMediumMedium Add support for Account.BootBlock.co.uk services Closed
100%
Task Description

This will allow bug reports and feedback to be tied to a user’s account, if they so wish.

Although, now that Bugs.BootBlock.co.uk is being used, I’m not so sure how service integration will factor into things. Ideally, submitting directly to Bugs.BootBlock.co.uk would be very useful but not sure how feasible that is.

 73 InterfaceFeatureLowLow Implement Method/Modifier user feedback Closed
100%
Task Description

The General Feedback support has been added and this particular to-do item has been refactored to use the generic General version.

 72 InterfaceEnhancementLowLow Indicate the log contains errors when they occur Closed
100%
Task Description

Display a visual cue to indicate the log contains an error due to the last operation.

 71 PluginOverhaulMediumMedium Modifier: Attributes Closed
100%
Task Description

Remove Process_Attributes and the relevant UI/code and create as a Modifier plugin.

 70 InterfaceEnhancementHighHigh Version Registered plugin with FileSieve Closed
100%
Task Description

This allows FileSieve to check the version of the *Registered* plugin to see if it is the expected version; if it isn’t, FileSieve should prompt the user to update their license.

If the user doesn’t update their license, they may miss out on additional functionality their license unlocks.

 69 Backend / CoreEnhancementLowLow Allow multiple destinations to mirror copying across th ...Closed
100%
Task Description

The file copying/moving step should implement concurrent copying if the destinations reside on different drives. Allow the user the final, ultimate control over this.

 68 Backend / CoreTestMediumMedium Verify that Overwrite Rules work correctly Closed
100%
Task Description

no task description

 67 Backend / CoreEnhancementMediumMedium Code improvements to processing core Closed
100%
Task Description

no task description

 66 PluginChangeLowLow Properly categorise plugins Closed
100%
Task Description

no task description

 65 PluginFeatureMediumMedium Method: Date Stamp Closed
100%
Task Description

Sorts items based on their date/time.

 64 PluginFeatureMediumMedium Method: Quantity Closed
100%
Task Description

Places a certain number of files into a directory before creating additional directories and doing the same.

Add option to work on number of files or file sizes. Will require a “best fit” strategy.

 63 Backend / CoreFeatureLowLow Optionally delete empty folders from the source after p ...Closed
100%
Task Description

Optionally delete empty folders from the source after processing is complete and no files are remaining.

Added a choice between deleting any empty sub-folders *during* or *after* processing. Default is *after*; this can be changed within Settings -> Advanced -> DeleteEmptySourceItemSubFoldersWhenProcessingComplete.

Why, yes - that’s an impressive property name length. Thank you.

 62 InterfaceChangeLowLow Complete the Logging window functionality Closed
100%
Task Description

No menu items within the “hamburger” menu currently do anything, although there is actual code to copy certain log entries to a string.

The Levels items in the listview don’t do anything.

 61 InterfaceChangeLowLow Make Free Edition limitations clearer within FileSieve Closed
100%
Task Description

no task description

 60 Backend / CoreTestMediumMedium Test the Copy Modes using network paths across all plug ...Closed
100%
Task Description

no task description

 59 Backend / CoreTestHighHigh Fully test the software in virtual machines Closed
100%
Task Description

Test with the root of a drive, and a huge amount of *Source Items* and literally millions of files.

 58 InterfaceChangeMediumMedium Complete Settings window Closed
100%
Task Description

no task description

 57 PluginFeatureMediumMedium Method: Find Replace Closed
100%
Task Description

Match against a filename and put it into a custom-named directory.

 56 InterfaceEnhancementMediumMedium Display a notice on the relevant Methods/Modifiers wind ...Closed
100%
Task Description

no task description

 55 InterfaceTestMediumMedium Ensure all controls have tooltips and tab-orders are co ...Closed
100%
Task Description

no task description

 54 Backend / CoreFeatureMediumMedium Complete PerformAction_Computer Closed
100%
Task Description

no task description

 53 Backend / CoreChangeVery HighCritical Move features out into the Registered plugin Closed
100%
Task Description

no task description

 52 Backend / CoreEnhancementLowLow Add additional logging Closed
100%
Task Description

no task description

 51 Backend / CoreOverhaulVery HighCritical Change "Premium Plugins" demo restriction to some other ...Closed
100%
Task Description

Sorry guys, but I can no longer offer my software for free - it’s gotten me no-where the last two decades, so...

 50 InterfaceEnhancementLowLow Systray support, along with starting Profiles via it Closed
100%
Task Description

no task description

 49 Backend / CoreFeatureHighHigh Backup and Restore Closed
100%
Task Description

no task description

 48 Backend / CoreEnhancementHighHigh Perform RegEx testing when clicking OK on a form with R ...Closed
100%
Task Description

no task description

 47 InterfaceEnhancementMediumMedium Add keyboard shortcuts to each window and document them Closed
100%
Task Description

no task description

 46 Backend / CoreEnhancementMediumMedium Convert string concats to $"" format Closed
100%
Task Description

Convert string concats to $”” format, remove un-required namespace prefixes, etc.

In general, improve code.

 45 Backend / CoreBug Report (minor)HighHigh Move FileSieve 4 classes out to the FS.Plugins project Closed
100%
Task Description

no task description

 44 Backend / CoreEnhancementMediumMedium Store additional metrics data with AppFramework System  ...Closed
100%
Task Description

no task description

 43 Backend / CoreEnhancementMediumMedium Add a Delete Copy Mode to outright delete matched files Closed
100%
Task Description

no task description

 42 InterfaceEnhancementMediumMedium Notify user to check log should an error occur Closed
100%
Task Description

Have the Status ListViewItem within the Results listview tell the user to check the log should an error occur.

41Backend / CoreEnhancementMediumMediumAdd a version number to AppFramework system settings to...Assigned
0%
Task Description

no task description

 40 InterfaceChangeHighHigh Change all references and uses of "xml" in file dialogs Closed
100%
Task Description

XML is being dropped, so remove all traces of XML.

 39 Backend / CoreOverhaulHighHigh Convert all I/O from XML to JSON format Closed
100%
Task Description

Let’s face it: XML is horrible, and .NET’s implementation is a cause of numerous headaches.

 38 InterfaceOverhaulHighHigh Rewrite the Source Item Editor so it's more suited for  ...Closed
100%
Task Description

Expand the Source Item Editor to provide more fine-grained control over which items should both be included and excluded during scanning.

This’ll require a redesign of the editor.

37PluginFeatureLowLowModifier: ArchiveAssigned
60%
Task Description

Allow the archiving of processed items.

 36 Backend / CoreEnhancementLowLow Run executable before/after Profile run Closed
100%
Task Description

no task description

 35 InterfaceBug Report (minor)Very LowVery Low Changing CheckedStart/End colours in InterfaceEditor is ...Closed
100%
Task Description

no task description

 34 Backend / CoreOverhaulMediumMedium Add EnsureExists property to Source Items as well as th ...Closed
100%
Task Description

Each Source Item should have a setting that tells FS that the path must exist before processing can begin, or not, and Default. Default will instead use the Profile’s setting of Ensure Exists or not.

33Backend / CoreEnhancementMediumMediumPlugins need to dictate to FS what ultimately happens w...Assigned
0%
Task Description

Rather than just indicating what should happen to source items via the Copy Mode, plugins need to have the ultimate say in what happens to items/files during processing.

For example, the Archive Modifier compresses items into the destination location and the original file needs to either ignored (if Copy Mode is set to Copy), or deleted (if Copy Mode is set to Move).

The plugin(s) will then need to say “Okay, ignore/delete the original file but count it as being processed”.

The Delete functionality is implemented via the Item.DeletionMode property that is set via plugins, but this more than likely needs to be rolled into a general ProcessMode property to incorporate different types of outcomes that the plugin requires and FileSieve knows about.

32Backend / CoreFeatureLowLowA full system of filetypesAssigned
0%
Task Description

A database of filetypes that the Item Editor can use.

The database will need to be exposed via the API so other plugins can make use of it, such as the Classification plugin.

Maybe create a web-service that FileSieve can connect to to update its database, but that’s more than likely overkill as it’s doubtful I’ll have any other applications that can make use of this information.

 31 Backend / CoreFeatureHighMedium Profile Processing Triggers Closed
100%
Task Description

Add support for Profile Triggering.

A Trigger allows the monitoring of certain events; when an event has been detected, the Trigger can then automatically start a Profile processing.

For example, the DateTime Trigger would auto-start a Profile based on a date and time - without any manual user interaction.

30InterfaceEnhancementLowLowImprove the UI (especially for plugin editors) and make...Assigned
0%
Task Description

The UI for some plugin editors are a bit all-over-the-place and need cleaning up.

The UIs for regular expressions need some thought as the concept is confusing to users that have never used it before and FileSieve needs to offer as much help with them as possible. Also, regex capture groups will need to be implemented and the UI should account for that/offer as much help as possible.

 29 Backend / CoreBug Report (minor)Very LowVery Low Plugin.SettingsLoaded() is called multiple times when a ...Closed
100%
Task Description

While this makes absolutely no difference to the end user, it would still be good to get this fixed as there shouldn’t really be any reason it would fire multiple times (10, while working on the Find Replace plugin).

28PluginFeatureLowLowMethod: Find content within filesAssigned
0%
Task Description

Take information out of files and use that information to create directories.

This will no-doubt need to be text-based.

27PluginFeatureLowLowModifier: Secure DeleteAssigned
30%
Task Description

This won’t be as easy as implementing a traditional plugin as it will possibly require core changes that touches lots of areas.

26InterfaceEnhancementVery LowVery LowMethod.Classification: Add drop-down next to RegEx text...Assigned
0%
Task Description

no task description

25InterfaceEnhancementVery LowVery LowMethod.Classification: Add more items within the Preset...Assigned
0%
Task Description

The population code has been made modular in preparation for this addition.

24Backend / CoreBug Report (major)HighHighNo processed items prevents BeginInvoke from workingAssigned
0%
Task Description

Example: Classification Method not finding any matches if no items are processed.

The problem appears to be related to there being items to be processed, but they have all been set to Item.IsProcessed = False. This means that no items have been processed, which seems to cause a problem with the Windows Taskbar progress indicator.

Fixing this will have to be an ongoing process; in the meantime, EnableTaskbarProgress has been added to Settings - Advanced and should be set to False should the issue of the FileSieve window staying disabled after processing has completed.

23Backend / CoreEnhancementVery LowVery LowLive PreviewAssigned
0%
Task Description

A live preview of the current settings while they’re being edited.

FileSieve wasn’t designed with this capability in mind, and so this would need to be thought out and tested at every step - multiple times.

22Backend / CoreEnhancementLowLowAdd Move copy mode support to multiple destinationsAssigned
0%
Task Description

Moving files to destination mirrors would probably be more useful than just copying them, but this will require significant core changes that it’ll take a while to implement.

Need to tread carefully as a lot of stuff could get broken.

 21 Backend / CoreEnhancementVery LowVery Low Log window: Store metrics Closed
100%
Task Description

Store the location and size of the Log form. This should be implemented at the BiQubic.Suite.Core.AppFramework level.

The actual Log form is located within the BiQubic.Suite.Metro assembly, but regardless, the storing of metric information should be done via the generic BiQubic.Suite.Core.AppFramework.Settings.Custom object as there’s no need for it to be treated as a special case.

20Backend / CoreEnhancementLowLowRewrite the copying code to report copy progress to giv...Assigned
0%
Task Description

The CopyFileEx copying code was written for something else but it would be perfect for FileSieve as it gives information on the status of the current copy progress and supports checksum verification for copied files.

Must support copying to/from network paths.

19PluginEnhancementVery LowVery LowMethod: Quantity; add file size "Best fit"Assigned
0%
Task Description

Add a Best Fit that will attempt to place files into groups of a certain filesize.

See Knapsack Problem.

18InterfaceEnhancementVery LowVery LowChange the menu to use the user's custom operating syst...Assigned
0%
Task Description

no task description

17Backend / CoreEnhancementDeferLowAdd YieldNoPreScan to Get Files Mode in the Source Item...Researching
0%
Task Description

Or add a checkbox to the Source Item advanced settings that says “Do not perform a pre-scan” as it’s not actually mutually-exclusive with the current Get Files Mode.

This needs to be thought out better from a code point-of-view.

Leaving for now.

16InterfaceEnhancementVery LowVery LowComplete the full Description property for all Methods ...Assigned
20%
Task Description

no task description

15Backend / CoreBug Report (minor)LowMediumMemory is not being released in a timely manner after p...Assigned
0%
Task Description

This may be down to the Windows API call FindNextFile() and file handles.

While it may not actually be a problem, I’d rather not use more memory the more files that are processed - even if memory usage goes up by just a few hundred megabytes for 4 to 5 million files, eliminating this memory usage would still be a win.

14Backend / CoreEnhancementVery LowVery LowAdditional exception handlingAssigned
0%
Task Description

Ensure there isn’t any locations where an error can bring down the entire application.

13Backend / CoreEnhancementLowLowImplement regex capture groups where appropriateAssigned
0%
Task Description

Being able to reference capture groups would be very useful.

12Backend / CoreEnhancementLowLowSplit Source Item pre-scanning across multiple threadsAssigned
40%
Task Description

Threaded pre-scanning is partially in-place, but an effective thread initialiser is halting things. It needs to be intelligent so that it can determine the correct number of threads to be used in all cases, from number of files to if files reside on the same or different physical media.

This has the potential for enormous speed gains.

 11 Backend / CoreFeatureMediumMedium Command-line Support Closed
100%
Task Description

Being able to effectively - not literally - “emulate” the interface events should cover everyone’s needs.

Also being able to run various commands in one call would be very convenient, if not essential.

10InterfaceBug Report (minor)Very LowVery LowEnsure all mnemonics are unique for each formAssigned
0%
Task Description

There are conflicts between mnemonics on the main form due to somewhat forgetting that they need to be unique to the entire form and not just the panel the relevant controls are on.

There are a lot of controls across all the containers, so this’ll need a bit of planning.

 9 User InterfaceEnhancementLowLow Add additional drag & drop to any relevant interface el ...Closed
100%
Task Description

This includes support for pasting (CTRL+V) while the relevant control is active.

8PluginFeatureMediumMediumMethod: Script. Allows users to write their own Method ...Assigned
40%
Task Description

If possible, extend this to Modifiers. Custom Modifers scripts was originally intended, but I can’t seem to remember why that’s a no-go.

Pressing Escape in any non-code editor should give focus to the code editor. This is VERY important and why I hate most code editors.

7PluginFeatureMediumMediumMethod: Size. Sort items based on Smallest/Largest/etcAssigned
40%
Task Description

This will be a FileSieve v4 update of the v3 plugin, with additional features.

6Backend / CoreFeatureVery LowVery LowAdd a transaction log of all I/O changes made after a s...Assigned
0%
Task Description

If a detailed-enough log is kept of a full “processing”, then maybe this’ll allow the possibility of “undoing” a processing after-the-fact?

Would need proper planning and checks in place as it could get somewhat messy if anything unexpected happens.

5InterfaceEnhancementVery LowVery LowLanguage SupportAssigned
10%
Task Description

Convert all literal strings over to BiQubic.Suite.AppFramework‘s translation system, which also needs completing.

4PluginFeatureLowLowMethod: Duplicate. Find duplicate items.Assigned
50%
Task Description

no task description

3Backend / CoreTestVery LowVery LowTest Portable ModeRequires testing
0%
Task Description

Changing between standard and portable mode and having FileSieve automatically rearrange the settings won’t be implemented. This was enough of a nightmare with WoLEX!

Showing tasks 1 - 161 of 161 Page 1 of 1

Available keyboard shortcuts

Tasklist

Task Details

Task Editing