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
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. If no Method is set, then colour the label red.

Ditto for the Modifiers label.

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?

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.

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.

252Backend / CoreFeatureLowLowAdd Profile presetsAssigned
0%
Task Description

Add some Profile presets.

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.

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.

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.

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.

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.

167DocumentationChangeMediumMediumRewrite Source Item Editor documentationAssigned
60%
Task Description

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

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.

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.

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

no task description

37PluginFeatureLowLowModifier: ArchiveAssigned
60%
Task Description

Allow the archiving of processed items.

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.

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.

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.

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.

11Backend / CoreFeatureMediumMediumCommand-line SupportAssigned
0%
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.

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
0%
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 - 44 of 44 Page 1 of 1

Available keyboard shortcuts

Tasklist

Task Details

Task Editing