Besides crawling resources, we should also be able to open them in their default viewer.
At first this may sound like a job for the DataAccessor, which after all has knowledge about how to load the stream from the physical source.
On second thought, I believe that for the opening of files you need some other service, parallel to DataAccessor, that is also scheme-specific and that takes care of opening the files. Reasons:
- DataAccessors actually retrieve the files/webpages/..., which is often not necessary for some DataObject openers. For example, for opening a local file you can instruct Windows to do just that. Similarly, a web page can be retrieved and shown by a web browser, there is no need for our codebase to retrieve the contents and feed it to the browser.
- There may be several alternative ways to open some type a resource. For example, the java.net JDIC project contains functionality for opening files and webpages, we at Aduna have written our own classes to do that, there may be customer-specific implementations, etc.
- DataOpener may be a possible interface (already in the gnowsis architecture) that opens DataObjects. They could be related to the DataSource, as all they need to find the DataObject in question would be configured in the DataSource. A tricky DataOpener is (for example) the Mozilla Thunderbird email client: opening emails there is tricky to do but may be related to a conventional IMAP DataSource. Hence, If thunderbird is there, a special DataOpener could work, while when thudnerbird is away, a default text window would show the email.
a comment from the outer world:
After working with AutoFocus, there are a few features I would really like to have. Since I am a Java developer, I don't think they are earth-shattering hard things to do. First, I would love to be able to index image files. The PNG standard supports embedded metadata, and it seems reasonable that AutoFocus be able to extract and index that information. Indexing media has been discussed in the forums. I would like to see it happen, and would be quite willing to pay for it.
My second request might be more complicated. I would like to be able to easily specify the viewers that are executed when a file is selected. More importantly, I would like to be able to provide a my own Java class that will show the file.
Manipulating Documents - NO
A second, more deep wish, would be to manipulate data objects. A typical manipulation would be to "move" the file or email from one folder to another or to "send via email" a data object. We have to leave these features out, as they are too hard.