Our implementation of shell folders is broken in many places so we should consider rewriting them from scratch. Every now and then I find something new that we do differently compared to window. Today for example I realized that CFSFolder first creates a class that implements IQueryAssociations and passes it to the CDefFolderMenu via the DEFCONTEXTMENU* parameter. Another example of how different we do things is that the rest of the shell expects a shell folder to also implement ISFHelper which is a reactos only interface. I'm thinking that we should implement and test those in windows and then start using them in reactos in order to be sure that the implementation is correct. This will also help us uncover bugs in a lot of places of the shell
The aim is to make one dll, which works in XP and 2003, which implements all the different views one gets from explorer. So the desktop, My Computer, the file system, network places, recycle bin, etc... then once that's done, replace dll/win32/shell32/folders with the new implementations.