|
345 | Backend / Core | Bug Report (major) | Very High | Medium | UNC paths cannot be specified via the command-line | Closed | |
Task Description
For example, the following path:
The first slash of the two leading slashes is being treated as a switch character and consequently is being stripped from the UNC, so textForge cannot open it correctly.
There is now a check within the BiQubic.Suite.Core.AppFramework library that now determines if a command-line parameter starts with a double-slash; if it does, then it is treated as an unswitched parameter.
|
|
343 | Backend / Core | Bug Report (major) | Very High | High | Source Item - Maximum File size reverts back to 0 | Closed | |
Task Description
The default value of the MaximumFilesize property was incorrectly set to 0 which resulted in the property’s value being set back to 0 if it was ever changed to -1 (minus one meaning that no max size check should be performed).
|
|
332 | Interface | Enhancement | Very Low | Low | Add 'Added Items' to Progress | Assigned | |
Task Description
When re-running the same profile against a folder that has already been processed, it would show the number of files that has been added in the last run.
Suggested by Olivier C.
|
|
331 | Interface | Feature | Low | Low | Overwrite Rules Options | Closed | |
Task Description
There will be additional settings available that apply to the overwrite rules, specifically how FileSieve should determine what constitutes an ‘identical’ file. For example, compare just file names; or file names, date stamps; or hashing; or all of those.
The Destination area of FileSieve simply isn’t big enough to contain these extra options - and it would look like a mess even if it was - so a new window will be added to contain them.
|
|
330 | Backend / Core | Bug Report (major) | Very High | Critical | Overwrite Rules only generating a single rename mask | Closed | |
Task Description
When FileSieve (FS) encounters a file that already exists in the destination and the user has set some overwrite rules, FS generates a filename based on the entered Rename Mask and tests to see if that exists. If it does, it then generates another name (based on the # code (%file_number% in 4.36); that hash symbol represents a number that is incremented each time an on-disk collision is detected) and tests that.
Due to a bug in 4.35 and earlier (unknown at which point the bug was introduced but it may have been due to some major changes to the engine code - specifically the Prescanning step - so FS can gather additional metadata on files to give plugins more control and flexibility), the first attempt at generating a filename was always successful regardless of if that file existed on-disk.
The reason for this is that it was using the wrong path to check for the file’s existence.
Fixed in 4.36.
|
|
329 | Interface | Feature | Medium | Low | Added Items | Assigned | |
Task Description
In the Step 5 Processing: Add a line: ‘Added Items’. When re-running the same profile against a folder that has already been processed, it would show the number of files that have been added in the last run.
Thanks to Olivier C. for suggesting
|
|
328 | Interface | Enhancement | Medium | Very Low | Another Tooltips pass | Assigned | |
Task Description
Make another pass over the entire FileSieve interface to ensure tooltips are present and comprehensive.
|
|
327 | Backend / Core | Feature | High | Low | Additional Overwrite Rules Editor codes | Closed | |
Task Description
Add additional overwrite codes to the Overwrite Rules Editor, such as %created_year% (original file’s created date year), %created_month%, and so on.
When the Overwrite Rules Editor was originally implemented, FileSieve didn’t collect comprehensive metadata on the files it processed, such as file dates and the like. It’s been a while since metadata collection was added, so the rules editor needs to be updated to support that information.
IMPORTANT CHANGES TO SOME EXISTING CODES
%file% is now %file_name%
%ext% is now %file_ext%
# is now %file_number%
Older codes are automatically upgraded to the new format.
|
|
326 | Interface | Overhaul | Very Low | Very Low | Simplified Overwrite Rule Yes/No-style option | Assigned | |
Task Description
The Overwrite Rules Editor may be a bit too complex for new users to understand, especially if all they want to do is tell FileSieve that it should rename files (current default behaviour) or just ignored already-existing files.
|
|
325 | Plugin | Feature | High | Low | Preserve datestamps for processed files | Closed | |
Task Description
When files are copied or moved to their destination, their date stamps (Created, Modified, Written) are changed to the date and time of when FileSieve processed them.
This may sound like a bug (and initially did to me when this was reported), but the files are that copied/moved are entirely new files - not the originals that are being processed. FileSieve uses its own I/O code that supports buffer optimisation, async I/O, and operation progress; so it isn’t manually setting the date/time stamps like the OS does when it itself performs the copy or move.
This task entry is to add a new feature to FileSieve that preserves those date and time stamps.
I’m somewhat undecided whether this should be a core FileSieve setting or implemented as a Modifier. FileSieve settings aren’t configurable on a per-Profile basis and so will more than likely be a Modifier. The only potential issue with it being a Modifier is that FileSieve doesn’t set “default” Modifiers; coupling a FileSieve setting with the Modifier itself will provide user convenience in-spite of that fact FileSieve will become (loosely) coupled with a plugin.
Thanks to Olivier C. for reporting
|
|
324 | Backend / Core | Bug Report (major) | Defer | Very Low | Certain Files are being Ignored | Assigned | |
Task Description
Certain files seem to be ignored by either the engine scanner or somewhere else upstream.
I can’t seem to reproduce this with initial testing.
This also makes me think the Review Settings section should have a Debug/Verbose mode that contains additional information for cases such as these.
2 BIN files, 2 IND files, 2 BDM files, 1 XML file and 2 files with no
extension do not get copied even though .* is set and and minimum filesize is 0
Thanks to Olivier C. for reporting
|
|
322 | Plugin | Feature | Medium | Low | Method: Content | Assigned | |
Task Description
New Method that allows the processing of files based on their contents.
|
|
321 | Backend / Core | Feature | Low | Low | Paths Processing Mode | Assigned | |
Task Description
New processing modes that allow the returning of just paths, as opposed to files.
This will make developing Methods simpler if they only care about directories, such as the Size method that has been waiting to be developed for the past year.
|
|
319 | Backend / Core | Feature | Low | Low | Add more Automation commands | Assigned | |
Task Description
Add more commands to the Automation system; such as specifying Methods, Modifiers, etc.
|
|
318 | Backend / Core | Feature | Low | Low | Start and End points | Assigned | |
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 a 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 / Core | Bug Report (major) | Very High | High | Pause/Stop: "Object reference not set to an instance of ... | Closed | |
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 / Core | Bug Report (minor) | High | Very Low | Main window banner always says "This does something or ... | Closed | |
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 | Interface | Bug Report (minor) | Low | Low | Toolbars are appearing drawn with the system's accent c ... | Closed | |
Task Description
After a MetroForm has been opened, all ToolStrip renderers are being drawn with the system’s accent colour.
|
|
313 | Interface | Bug Report (minor) | Very Low | Very Low | Update SourceItem listviewitem when excluding item from... | Assigned | |
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 | Interface | Feature | Low | Low | Add Exclude These Items to Simulation Window | Closed | |
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 / Core | Bug Report (major) | Medium | Medium | File Moving fails with Classification method | Closed | |
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 / Core | Bug Report (minor) | Medium | Low | Portable Mode causes a crash | Closed | |
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
|
|
291 | Backend / Core | Feature | Low | Low | Allow settings changes via Automation | Closed | |
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 / Core | Feature | Low | Low | External file automation | Closed | |
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.
|
|
289 | Plugin | Feature | Low | Very Low | Method.Rules. Drag/drop rule matching. | Assigned | |
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 / Core | Feature | Low | Low | Support for long names | Closed | |
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 / Core | Feature | Very Low | Very Low | Add Minimum/Maximum Filesize to Source Item Editor | Closed | |
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 / Core | Feature | Very Low | Very Low | Add Method/Modifier cleaning for Profiles | Closed | |
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.
|
|
282 | Interface | Enhancement | Very Low | Very Low | Set Method/Modifier label colour depending on settings | Assigned | |
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 / Core | Bug Report (major) | Very High | Critical | Method/Modifier settings not being correctly loaded/ass ... | Closed | |
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 | API | Bug Report (major) | High | High | Incorrect Method settings not being loaded when >1 prof ... | Closed | |
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 .
|
|
279 | Plugin | Feature | Very Low | Very Low | Method.Tag: Add additional substitution/formatting char... | Assigned | |
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.
|
|
278 | Plugin | Bug Report (major) | Medium | Medium | Tag (and possibly EXIF?) Method doesn't rename actual f... | Assigned | |
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:
Name Mask: %ALBUM_TITLE%\%TITLE%.%FILE_EXTENSION%
This results in:
It should be:
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 / Core | Bug Report (minor) | Medium | Medium | Paths (Files?) being truncated, possibly by Windows its ... | Closed | |
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 | Plugin | Bug Report (minor) | Low | Low | Tag Method: Genre not always being delimited correctly | Closed | |
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.”
|
|
275 | Interface | Enhancement | Low | Low | Better Processing Results | Assigned | |
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.
|
|
274 | Interface | Overhaul | Very Low | Very Low | Redesign the Log window | Assigned | |
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 / Core | Bug Report (minor) | Very Low | Medium | Improper interaction in file copy/move of root destinat ... | Closed | |
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 | Plugin | Feature | High | Low | Method: Mirror. Mirrors source items' structure | Closed | |
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 / Core | Bug Report (minor) | Medium | Medium | Illegal characters in path | Closed | |
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:
|
|
268 | Interface | Change | Very Low | Very Low | Disable the main window's system menu - About menu duri ... | Closed | |
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 / Core | Enhancement | Low | Low | Source Item - Verify needs to check Regex | Closed | |
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 / Core | Bug Report (minor) | Low | Low | Folders aren't correctly synced in the Classification e ... | Closed | |
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.
|
|
264 | Interface | Bug Report (minor) | Low | Low | Allow re-ordering of nodes without changing Parent | Assigned | |
Task Description
Allow the re-ordering of Nodes rather than just allowing Nodes to have their Parent changed.
|
|
263 | Backend / Core | Feature | Low | Low | Add additional command-line parameters | Closed | |
Task Description
Add more command-line parameters.
|
|
262 | Interface | Bug Report (major) | Very High | High | Exception: Value of '720' is not valid for 'Value' | Closed | |
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()
|
|
252 | Backend / Core | Feature | Low | Low | Add Profile presets | Assigned | |
Task Description
Add some Profile presets.
|
|
251 | Documentation | Feature | Medium | Medium | Add Trigger documentation | Closed | |
Task Description
Add documentation for Triggers.
|
|
250 | Interface | Overhaul | Low | Low | Overhaul the Profile Manager UI | Assigned | |
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 / Core | Bug Report (major) | Very High | High | Creating a new Profile called "New Profile" results in ... | Closed | |
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.
|