The new RadFileExplorer is a wonderful new addition to the Telerik lineup, and once the few remaining minor bugs are worked out it will really be a great control. For a majority of scenarios where all you need to do is list raw directories and files, and pick one, it works great. Both as a stand-alone as well as a part of one of the Editor's dialogs. Part of the beauty of the control is its simplicity. However, there are no doubt some more complicated situations where the built-in functionality falls short.
This thread is not about bashing the RadFileExplorer. It is about describing scenarios in which the need arose for a custom-built way of navigating & selecting files because it simply wasn't possible with the current RadFileExplorer. In doing so, Telerik can make the decision about whether or not to add functionality to tackle some of these scenarios. If possible, suggest a solution to the problem in terms of a "feature request".
And with that, I'll start things off...
The problem I ran into was that there is no way for the folders in the tree or grid to be "labeled" with anything other than the actual directory or file name. I'm actually quite certain that this must be a common scenario. In a specific case for a sports website we've built, the database allows for multiple teams to be setup for a given season, and each team has its own images directory created using the ID of that team. So the directory structure on the disk is something like /images/teams/1000/ (which belongs to "Team A") and /images/teams/1001/ (which belongs to "Team B"). The problem with this is that the average user only knows of their team by its name and not its ID, and this is particularly true when a user wants to borrow an image from another team (they definitely won't know the ID, they'd have to look it up).
So, here's a "Feature Request": Have the abilty to create a custom FileSystemContentProvider where each directory can have both a path as well as a label - and the label is what shows up in the tree / grid but it uses the path for navigating around.
Another situation, related to the one above, is something that we're realizing now after having gone live with our product for a few years. We didn't decide to group the team folders on the file system according to the season they participated - the directory structure is simply /images/teams/team ID. So, we've learned that not only is it important to be able to label a directory but it's equally important in our case to be able to put a directory into a context (parent node) which makes sense. In the terms of the FileExplorer, we needed the tree to look like this: season 1 -> team A, season 1 -> team B, season 2 -> team C, and so on. However, the "season" node wouldn't actually correspond to any actual directory, it is simply used as a logical grouping of other directories.
Feature Request: Have the ability to create a custom FileSystemContentProvider where a "directory" can actually be a node in the tree which does not represent a physical folder.
My last situation for this post has to do with usability. My target audience in terms of technical capabilities is the below-average computer/web user, and since I'm a bit of a control freak I prefer to control what these people are doing so they can't mess things up too badly. So, when it comes to an ImageManager I pre-create several folders for the user to keep their images organized, and then only allow for the user to upload into the folder that makes the most sense given the context of what they're doing. So, the user is presented with, say, five folders in the tree of the RadFileExplorer; all of which are available to pick images to use, but only one of which allows for them to upload. While having the upload button enable/disable depending on the currently selected folder is an improvement from the past, there still is no way to provide a visual clue in the tree of folders as to the read/write permissions available for each.
Feature Request: Have the ability to specifiy an icon (or css class) to be used for a folder when it is displayed in the tree (and perhaps the grid as well) that indicates whether or not that folder has write permissions or any other special attributes.
So, again, I'm not trying to bash the RadFileExplorer control since it does work great in a number of other, more simple (normal) scenarios. The only reason I start this thread is because I've been around Telerik long enough to know that they're still working on the RadDoAllMyWorkForMe control and take pride in delivering more than expected. That, and given that I was able to make my own using the same components as the RadFileExplorer makes me think it could one day be included in the control.
Please add your own scenarios where you had to build your own control and maybe they could be included in vNext of the RadFileExplorer.