The means of having the operating system automatically sort, file and perform actions on filesystem objects based on user-configurable criteria should be provided through the use of a "drop target" replicant known as the "Sorting Chute".
The sorting chute would be comprised of three main components:
- Preference Applet
- Drop Folder
The replicant would act as a space on the desktop, designated by an appropriate visual representation, whereby filesystem objects can be dropped to have actions invoked upon them based on a set of user-defined rules.
The preference applet would act as a means of configuring the rules against which the replicant would compare dropped objects. For each rule, the user should be able to specify the criteria matching objects must exhibit, and the actions to be carried out on those objects.
The drop folder would simply be a folder monitored by the replicant for incoming files. This would enable direct saving or downloading of files to the "sorting chute" for immediate filing.
Rules should be constructible in much the same way as queries today. The main difference being the ability to set actions to be performed on matching files.
The available actions for a given rule should be comprised of standard filesystem actions (Copy, Move, Delete, Rename) as well as actions provided by Tracker Add-Ons able to operate on files matching the specified criteria.
The following rules have been setup by the user:
- Name: Compressed Files
Actions: Unzip to "/home/desktop", Move to Trash
- Name: Photos
Matches: [Type==image/*] AND [EXIF::Manufacturer==Canon] AND [EXIF::Model==Ixus]
Actions: Thumbnail, Move to Folder "/home/photos/%year/%month"
- Name: Install Applications
Actions: Install for All Users
The user downloads a zipped file from the internet and chooses the Drop Folder as the download location. The replicant is notified of the creation of a new object and matches it against the Compressed Files rule. The file is unzipped to the desktop (Tracker Add-On) and the compressed file is moved to the trash.
The user connects their camera, which is mounted by the OS as a removable media device. The user drags the photos from the camera to the Sorting Chute replicant which matches each individual file against the Photos rule. The icon of each photo is set to a thumbnail of the photo, created by the Thumbnail action (Tracker Add-On), and the photos are moved to a folder based on the current month and year.
The user has downloaded an application bundle, used the application, and decided that it's worth installing for all users of their computer system. They drag the application to the Sorting Chute replicant which matches the bundle against the "Install Applications" rule and performs the action "Install for All Users" (Tracker Add-On)
- Installer [Bundles]