BibPort in Action
One of the new concepts used in Office 2007 is the "ribbon," which replaces the old menu system from Office 2003. With ribbons, users interact with toolbar-like entities that allow switching to different contexts based on the task at hand. Because VSTO is designed to work with Office 2007, it lets programmers design ribbon elements. In Figure 3, we have placed the BibPort controls in the "References" ribbon, which contains all of the native Office bibliographic tools.
Because BibPort is a C# application hosted within the VSTO framework, it can use the standard mechanisms to present dialogs and other types of elements to users. Although BibPort has no UI elements during much of its execution, user-driven disambiguation is made available through a standard Windows Form. Figure 4 demonstrates this process via a journal article, which is not distinguishable from a magazine article in APA style. BibPort simply presents users with each possible interpretation of the reference, letting them guide the tool.
As references are filtered through BibPort, they are programmatically inserted into Word's Source Manager, which is part of Word 2007's new reference capabilities. The Source Manager acts as a database for references, letting users easily insert citations. Although BibPort supports this out-of-the-box, you can also use alternative database formats. BibPort can simply ask for an output filename at the beginning of the process and export the references to the file in another program's native format. However, because the Source Manager is available for manipulation via VSTO, we found it more interesting to target this type of operation. Figure 5 shows the Source Manager after importing a set of references via BibPort.