= eXtensible Text Framework (XTF) = The eXtensible Text Framework (XTF) is a flexible indexing, display and query tool that supports searching across collections of heterogeneous data and presents results in a highly configurable manner. XTF is an open-source project of the [http://www.escholarship.org eScholarship Publishing Group] of the [http://www.cdlib.org California Digital Library], and is deployed in academic settings worldwide. Highlights of the XTF system are described in an online brochure [wiki:[http://www.cdlib.org/inside/instruct/extensible_1_06.pdf PDF]] . == Downloads and Documentation == * [https://sourceforge.net/projects/xtf/ Download XTF]: XTF can be downloaded from !SourceForge.net site. * Documentation: 1. [wiki:changeLog Change log]: List of the bug fixes and new features for each release. 1. [wiki:deployment Deployment guide]: Installation and basic configuration. 1. [wiki:programming Programming guide]: In-depth technical overview of XTF and how to program it. 1. [wiki:tagRef Tag reference]: Complete reference for all XTF elements and attributes. 1. [wiki:tips Tips & Tricks]: Hints to help you get results quickly with XTF. 1. [wiki:underHood Under the hood]: Details about the actual operation of XTF and how it performs tasks. 1. [wiki:experimental Experimental features]: Information on features being developed for XTF. 1. [wiki:talks Resources]: Presentations, papers, and tutorials on XTF. == Technical Overview == The system is divided into four components: 1. '''crossQuery:''' The front-end to the collection search system. 1. '''dynaXML:''' Interface to individual documents. 1. '''Text Engine:''' Used by crossQuery and dynaXML to perform text searches. 1. '''Indexer:''' Full-text indexer based on [http://jakarta.apache.org/lucene/docs/index.html Lucene]. The following diagrams give a general overview of how documents are indexed, stored, queried, retrieved, and displayed using XTF (somewhat outdated). * '''System architecture diagram:''' A general illustration showing the roles the XTF components play in the user experience. [wiki:[http://www.cdlib.org/inside/projects/xtf/art/SummaryDiagram.gif GIF]] * '''Collection searching diagram:''' A more detailed view of the collection searching process, covering query parsing and results formatting. [wiki:[http://www.cdlib.org/inside/projects/xtf/art/crossQueryDataFlow.gif GIF]] * '''Individual object display diagram:''' A more detailed view of the object display and internal search mechanisms, covering request parsing, authentication, and document formatting. [wiki:[http://www.cdlib.org/inside/projects/xtf/art/dynaXMLDataFlow.gif GIF]] * '''Text indexing diagram:''' An illustration of the workflow for the creation of collection indexes. [wiki:[http://www.cdlib.org/inside/projects/xtf/art/textIndexerDataFlow.gif GIF]] == Who uses XTF?[wiki:#WhoUsesXTF] == The CDL uses XTF as a building block for new services and has used it to replace a number of systems previously used for text searching (i.e., DLXS, Greenstone, !DynaWeb). As of 2008, CDL has deployed XTF in the following ways: * [http://oac.cdlib.org/texts/ OAC texts] and [http://www.escholarship.org/editions/ eScholarship Editions] search and display (January 2005). * [http://oac.cdlib.org/search.findingaid.html OAC finding aids] search and display (January 2005). * [http://oac.cdlib.org/search.image.html OAC images] search and display (September 2005). * [http://www.calisphere.universityofcalifornia.edu/ Calisphere] search and display (2006). * [http://www.marktwainproject.org/ Mark Twain Project Online] search and display (2007). XTF is also extensively used outside the CDL: * The [http://www.encyclopedia.chicagohistory.org/ Encyclopedia of Chicago], a collaboration between the Chicago Historical Society, Northwestern University, and Newberry Library, was the first non-CDL project to deploy XTF in production. * [http://www.dlib.indiana.edu/collections/iubot/ Indiana University Board of Trustees Minutes] * [http://www.visualarkiv.se/xtf/view?docId=start.html.xml Visual Arkiv] (Swedish). Primary developer: Jakob Saternus * [http://www.bibliotecaitaliana.it/xtf/search Biblioteca Italiana] (Italian). Primary developer: Fabio Ciotti. * [http://www.gds.nmi.unb.br:8080/xtf/search Coleção de Direito Regulatório das Telecomunicações] (Brazilian). Primary developer: Joao Lima * [http://www.lexml.gov.br LexML Portal] (Brazilian). Try searching for "idoso". Primary developer: Joao Lima. * [http://webapp1.dlib.indiana.edu/newton/ The Chymistry of Isaac Newton]. Indiana University. Primary developer Tamara Lopez. Here's an [http://www.slis.indiana.edu/news/story.php?story_id=1335 article] about it. * [http://swinburnearchive.indiana.edu/swinburne/www/swinburne/ The Swinburne Project]. Indiana University. Primary developer John Walsh. * [http://sunsite2.berkeley.edu:8088/xtf/servlet/org.cdlib.xtf.crossQuery.CrossQuery?rmode=btr EECS Tech Reports]. University of California at Berkeley. Primary developer: Giulia Hill. * [http://vesalius.northwestern.edu/ De Humani Corporis Fabrica]. Northwestern University. * [http://russelldoc.galib.uga.edu/russell/search Richard B. Russell Library for Political Research and Studies]. University of Georgia Libraries. * [http://www.digitalhumanities.org/companion/ A Companion to the Digital Humanities] (Digital Book). Ed. Susan Schreibman, Ray Siemens, John Unsworth. Oxford: Blackwell, 2004; and [http://www.digitalhumanities.org/companionDLS A Companion to the Digital Literary Studies] (Digital Book). Ed. Ray Siemens and Susan Schreibman. Oxford: Blackwell, 2008. * [http://frontiers.library.usyd.edu.au/ Frontiers of Science] (University of Sydney Library) The full digitised collection of comic strips from 1961-1982, presented using XTF and other technologies such as DSpace, Thickbox, Zoomify and JQuery. Primary developer: Gary Browne. Other institutions exploring XTF include: University of Sydney; !OhioLink; University of Texas at Austin; University of Virginia; University of Denver; and University of Kansas Digital Initiatives. == Support == === Implementers === While CDL does not directly support XTF implementers, we do make a good-faith effort to address the needs of the XTF community through the following resources on !SourceForge: * The [http://groups.google.com/group/xtf-user xtf-user] email list for those trying to set-up and use XTF. It is monitored by the principal developers of the application. * The [http://sourceforge.net/tracker/?group_id=119724&atid=684778 Bug Tracker] is the place to submit bug reports. * The [http://sourceforge.net/tracker/?group_id=119724&atid=684779 Support Request Tracker] and [http://sourceforge.net/tracker/?group_id=119724&atid=684781 Feature Request Tracker] are alternative ways to bring to our attention documentation errors and potential new features, respectively. However, the xtf-user list is probably a better way to start. === Developers === !SourceForge resources for XTF developers and others who are interested in contributing to the architecture * The [http://groups.google.com/group/xtf-devel xtf-devel] email list is where developers share their ideas. It also logs all CVS commits. * The [http://sourceforge.net/tracker/?group_id=119724&atid=684780 Patch Tracker] allows developers to submit XTF patches for our approval. * Access to the [https://sourceforge.net/cvs/?group_id=119724 CVS repository] is also available