In computing, a virtual folder generally denotes an organizing principle for files that is not dependent on location in a hierarchical directory tree. Instead, it consists of software that coalesces results from a data store, which may be a database or a custom index, and presents them visually in the format in which folder views are presented. A virtual folder can be thought of as a view that lists all files tagged with a certain tag, and thus a simulation of a folder whose dynamic contents can be assembled on the fly, when requested. It is related in concept to several other topics in computer science, with names including saved search, saved query, and filtering.
Virtual folders provide a means for making it easier for users to find files that are content-related, such as by project. The user needs to specify criteria and all files matching the criteria are dynamically aggregated into the virtual folder. Files in a virtual folder are not limited to any single physical location on the hard drive, as is the case with traditional folders, but can be in any location. In fact, files in a virtual folder do not even need to be stored as files on the hard drive. They may be on a network share or in a custom application datastore such as e-mail inbox or even a database.
Documents cannot be "stored" in a virtual folder, since physically a virtual folder is just a file storing a search query. Any attempt to store a file in a virtual folder, depending on the implementation, is redirected to some physical store.
Most implementations speed up searching by pre-indexing the hard drive, or the locations where the search has to be performed. So when searching is to be done, the index, which is a representation of the entire data suitable for fast searching, is used. Since the entire folder hierarchy is not accessed, the search is completed much faster.
Virtual folders are a well-established construct in operating systems. BeOS included a version of virtual folders referred to as "saved queries", that has since influenced the development of virtual folder features in operating systems like Mac OS X, Windows and Linux. These virtual folders are populated dynamically by executing a search on the entire file system, or a subset of it, or by using the cached version of the search.
The initial developer preview of the operating system, released in October 1995, included database-like functionality to make it easier for users to manage their files. To do this the filesystem indexes certain file attributes to allow for fast searching. By default the filesystem indexes the filename, size and last modified timestamp automatically, but could also create indexes for other attributes when told to by either an application or by the user.
When a user performs a file search, a file is created in the folder "/boot/home/queries" with a name derived from the content of the query and the date and time of the search, such as "Name = Western Infirmary - Mar 21, 11:59:40 PM". The query criteria of the search is stored in an attribute of the file called "qrystr". When the file is opened, the filesystem indexes were queried and a Tracker window is opened with an up-to-date list of files that match the criteria.
Additional features were added to search with subsequent releases. Release 2 introduced the ability to edit saved queries, and Release 3 gave the users the chance to define their own names for saved queries. Before Release 4 in 1998, all queries were stored indefinitely. However, with R4, the BeOS developers introduced a seven-day limit on all queries. If a user wanted a query to stay around longer, they could uncheck a "Temporary" flag in the Find dialog.
In April 2005, Apple released Mac OS X v10.4, with their implementation of virtual folders called Smart Folders. These folders are dynamically updated by the Spotlight engine to contain content that match certain criteria. For example, this could be used to give you a folder containing all the Word documents containing the word "shpadoinkle" that have been edited within the last 7 days. Smart Folders are created by saving a Spotlight search, which records the search criteria in a Property list file with a .savedSearch extension and, by default, saves them in the "/Users/username/Library/Saved Searches" folder.
There are many variants of the Smart Folder concept that can be seen in applications that use the Spotlight engine, usually identified by a gear symbol on a purple-hued icon. Examples include: Smart Mailboxes in Mail and Smart Groups in Address Book.
In November 2006, Microsoft released Windows Vista which allows users to save any search query as a Search Folder, a type of virtual folder. Search Folders are designed so that users are not required to remember where their files are stored. A Search Folder is not a physical folder, but is essentially an XML file that stores a defined query in a form that can be used by the Windows Search subsystem. Because of this, a Search Folder can be created anywhere that a normal folder can be created. A similar approach exists in Windows XP when the Windows Indexing Service is enabled, as a search can be saved as a .fnd file. However, a saved search query in Windows XP only saves a user's search criteria; users must still specify the location and perform the search again as results are not dynamic.
Whenever a Search Folder is accessed, it returns results that are relevant to a saved search query; results manifest themselves as actual files and folders in storage. Search queries can be defined based on a number of parameters and properties, including all or part of a filename, specific dates, the content of the files themselves, associated metadata, specific file types, where files are located, and various other attributes. A feature called Query Composition allows searches to be based on other Search Folders to further refine results.
Windows Vista, by default, references the profile of the user who originally created a saved search as part of the query's scope, which includes the disk partition. This design choice does not prevent saved searches from being shared with other users, but it prevents them from operating on different partitions or user profiles. While users can manually modify the contents of a saved search so that the scope references the %USERPROFILE% environment variable, which will enable it to operate on other machines or profiles regardless of the original author or location, Microsoft has released a SearchMelt Creator utility that automates this process for the user.
In early development builds of Windows Vista, there existed pre-configured Search Folders for the default user profile folders (e.g., Documents, Music, and Pictures) that replaced the links to these folders seen on the Windows Start menu. When browsing directories in Windows Explorer, the navigation pane would feature predefined Search Folders that were relevant to a currently viewed directory. When viewing the Documents folder, for example, the navigation pane would populate with individual Search Folders based on authors of documents, their ratings, their keywords, their types, and documents that were recently changed.
Pre-release builds later included subqueries that aggregated content from a main Library Search Folder. Microsoft's stated aim with this approach was to move beyond the traditional physical folder concept, but the company received a considerable amount of feedback from users who found that the new Search Folder-based approach was too confusing. In particular, the Search Folders being located on the Start menu led to the belief that there existed multiple physical folders with similar names and content.
As a result of this feedback, the company reinstated the links to the physical folders on the Start menu, in a manner similar to how they appear in previous versions of Windows, and remove several of the Search Folders that were available prior to Windows Vista's release to manufacturing. In spite of the feature being less prominent within the interface, the operating system does include several preconfigured Search Folders: Recent Documents, Recent E-mail, Recent Music, Recent Pictures and Videos, Recently Changed, and Shared By Me, all of which are powered by a single Indexed Locations Search Folder, which realizes the previous Library concept.
In Windows 7, the concept of virtual folders has been significantly realized with the introduction of the Libraries feature. Similar to Saved Searches, a Library is simply an XML file but with the
.library-ms extension and is essentially a collection of files with specified attributes presented in a familiar folder-style visual interface. Libraries have a shell namespace extension in Explorer and their XML files can be reused across Windows installations or the network.
In GNOME 2.14, a saved search is a virtual folder whose contents are the result of a Nautilus search, which has multiple backends. The contents of these folders are determined dynamically when the folder is opened, and updated automatically when files are created or modified.
Virtual folders are also a well-established construct in email clients. In early 1991, the Emacs-based mail reader VM provided a virtual folder facility in its version 5.09. VM allows the users to define virtual folders using rules, taking their mail content from one or more physical folders and based on selection criteria dealing with dates, authors, recipient, subject, message body etc. Virtual folders can also be created interactively and take content from previously defined virtual folders, thereby cascading the selection criteria. The Evolution email client created by Helix Code in 2000, also incorporated virtual folders. Folders can be created that automatically list e-mails matching user-defined rules, for example all e-mail from a particular address or all e-mail that includes a specific keyword. The Opera web browser released a new mail client (beta in November 2002, final version in Jan 2003), M2 in which virtual folders (called access points) were used for all email management. Virtual folders were automatically made for active contacts, for attachments and for assigned labels. Virtual folders were also automatically generated whenever a search was performed, and manual virtual folders could use multiple logical mail header rules for their construction (including using regular expressions). Microsoft Outlook 2003 added a similar feature called Search Folders. Gmail, first released in 2004, bases all of its mail management on virtual folders accessed via labels. Mozilla Thunderbird also has the ability to create search folders and from version 1.5 allowed the search to be done over more than one email account.
In July 2002, Apple announced version 3 of iTunes which includes Smart Playlists which can be considered a variant of a virtual folder. The only difference is that the search executed on accessing them is not on the file system's folder hierarchy, but on their internal data-store. Microsoft also added a similar feature to version 9 of Windows Media Player in Windows XP called Auto Playlists in 2003.
- Scot Hacker (1999). The BeOS Bible. Peachpit Press. ISBN 0-201-35377-6.
- Chris Herborth. "Show formula query strings in Tracker". The BeOS Tip Server. Retrieved 2007-03-22.
- Be Inc. (October 7, 1997). "Be Ships BeOS Preview Release 2". Be Inc. Archived from the original on May 20, 1998. Retrieved 2006-12-24.
- Be Inc. "Searching on the BeOS". The BeOS Tip of the Week. Be Inc. Retrieved 2006-12-24.
- Scot Hacker. "Self-destructing queries". The BeOS Tip Server. Retrieved 2007-03-22.
- Dominic Giampaolo. "Personal homepage". Retrieved 2006-09-10.
- Price, John. "Windows Vista Virtual Folders and Search". MSDN. Microsoft. Retrieved October 23, 2015.
- Shultz, Greg (October 12, 2005). "An in-depth look at Windows Vista's Virtual Folders technology". TechRepublic. CBS Interactive. Retrieved November 15, 2015.
- Microsoft. "Saved Search File Format". MSDN. Retrieved November 11, 2015.
- Kaelin, Mark (July 17, 2007). "How do I... Save and refine desktop searches in Microsoft Windows Vista?". TechRepublic. CBS Interactive. Retrieved November 11, 2015.
- Bentz, Ben (October 31, 2006). "Query Composition: Building a search upon another search". Shell: Revealed Blog. Microsoft. Archived from the original on December 15, 2006. Retrieved October 20, 2015.
- Shultz, Greg (December 11, 2007). "Narrow a saved search with Vista's Query Composition feature". TechRepublic. CBS Interactive. Retrieved November 11, 2015.
- White, Nick (May 14, 2007). "Searcing, part III: Do you know what a SearchMelt is?". Windows Vista Team Blog. Microsoft. Archived from the original on May 16, 2007. Retrieved October 20, 2015.
- Thurrott, Paul (October 6, 2010). "Working with Display Drivers in Windows Vista Beta 1". SuperSite for Windows. Penton. Retrieved November 11, 2015.
- Lee, Wei-Meng (August 2, 2005). "An In-Depth Look at Vista, Part 2". O'Reilly Media. Retrieved November 11, 2015.
- Thurrott, Paul (December 21, 2005). "Windows Vista December 2005 CTP (Build 5270) Review Part 1: Setup and User Interface". SuperSite for Windows. Penton. Archived from the original on December 23, 2005. Retrieved October 13, 2015.
- Kyle Jones. "VM User's Manual - Virtual Folders". Wonderworks. Retrieved 2010-01-26.
- Phil Sung. "VM Configuration and Workflow". Retrieved 2010-03-13.
- Michael Hall (June 30, 2000). "You Say You Want an Evolution". Linux Planet. Retrieved 2006-12-24.
- Dave Whitinger (July 8, 1999). "Dave Whitinger and Miguel de Icaza at the ZD Open Source Forum". Linux Today. Retrieved 2006-12-24.
- "Saved Search - MozillaZine Knowledge Base". Retrieved 2010-01-22.
- Apple (July 17, 2002). "Apple Announces iTunes 3". Apple. Archived from the original on July 26, 2006. Retrieved December 25, 2006.
- Microsoft (January 3, 2003). "Microsoft Announces Digital Media Upgrade for Windows XP With Final Release of Windows Media Player 9 Series and Windows Movie Maker 2". Microsoft. Retrieved 2006-12-25.