Presented by Ingo Renner, Software Engineer, Infield Design
TYPO3 is an Open Source Content Management System that is very popular in Europe, especially in the German market, and gaining traction in the U.S., too.
TYPO3 is a good example of how to integrate Solr with a CMS. The challenges we faced are typical of any CMS integration. We came up with solutions and ideas to these challenges and our hope is that they might be of help for other CMS integrations as well.
That includes content indexing, file indexing, keeping track of content changes, handling multi-language sites, search and facetting, access restrictions, result presentation, and how to keep all these things flexible and re-usable for many different sites.
For all these things we used a couple additional Apache projects and we would like to show how we use them and how we contributed back to them while building our Solr integration.
we build smart.ID INFIELD DESIGNMAY.01.2013LUCENE/SOLR REVOLUTIONTYPO3 CMS and Solr. How we did it.APACHE SOLR CMS INTEGRATION
ABOUT IDWhat we do and who we do it for• Strategy Planning• Design• UX• Development & Integration
WHO IS THIS GUY?• Committer TYPO3 CMS• Committer and PMC member Apache Tika• Release Manager TYPO3 CMS 4.2• New San Franciscan• Snowboarding, mountain biking• Software Engineer, Architect at Inﬁeld Design- Caution -TYPO3-Evangelist
TYPO3 CMS• Free and Open Source Enterprise CMS• Estimated 500,000+ installations worldwide• Over 6,000+ public extensions• 6,000,000+ downloads• Content Management Framework• Multi-Site, Multi-Language, Versioning, Workﬂows, ...• Stable, Secure, Scaleable
TYPO3 COMMUNITY• Community driven development• Conferences in North America, Europe, Asia• Barcamps, Developer Days, Snowboard Tour• 4 times Google Summer of Code participant• Backed by TYPO3 Association• Several other projects under the TYPO3 brand
Integration Challenges & SolutionsPAGE RENDERING• Different template engines• (too) ﬂexible page rendering engine• Identify relevant content on websites• Exclude navigation and common page elements• Content generated by plugins
Integration Challenges & SolutionsINDEX QUEUE• Index Queue to track and index content• Record Monitor to update Index Queue• Crawl pages, index unstructured content marked relevant• Exclude pages with plugin-generated content• Index structured plugin data directly from DB
Integration Challenges & SolutionsACCESS RIGHTS• Intranet, Extranet, ...• Not everybody may see everything• Flexible user groups and permissions• Permissions extended to sub-pages
Integration Challenges & SolutionsSOLR ACCESS FILTER PLUGIN• Custom Solr access ﬁlter plugin• Query Parser and Filter• User group IDs stored in documents• Current user’s groups submitted with query• Plugin matches document groups with user’s groups
Integration Challenges & SolutionsFILE INDEXING• Finding ﬁle links in page content• Core ﬁle links vs. plugin ﬁle links• Track ﬁles for indexing• Reading ﬁle content• Separate tools for different ﬁle formats
Integration Challenges & SolutionsFILE INDEXING• File Detectors & File Index Queue• File system abstraction layer• Apache Tika• Knows 1,200+ ﬁle formats, reads about half of them• Content & meta data extraction• Language detection
Integration Challenges & SolutionsTHE REST• PHP people vs. Java technology• Talking to Solr• Learning from mistakes
Integration Challenges & SolutionsTHE REST• Fully automated bash install script• SolrPhpClient• Separate your languages
EXT:solr - Apache Solr for TYPO3FEATURES• Facetted Search• File Indexing• Multi-Language & Multi-Site Support• Did you mean, More Like This• Search Word Highlighting• Auto Complete• Access Rights Support• Many More ...
ID INFIELD DESIGNwe build smart.T3CON North AmericaSan Francisco, May 30-3120% off regular ticket price, use:LUCENETYPO3INFIELD DESIGN is hiring!
CONFERENCE PARTYThe Tipsy Crow: 770 5th AveStarts after Stump The ChumpYour conference badge getsyou in the doorTOMORROWBreakfast starts at 7:30Keynotes start at 8:30CONTACT@firstname.lastname@example.org, email@example.com