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.
2. we build smart.
ID INFIELD DESIGN
MAY.01.2013
LUCENE/SOLR REVOLUTION
TYPO3 CMS and Solr. How we did it.
APACHE SOLR CMS INTEGRATION
3. ABOUT ID
What we do and who we do it for
• Strategy Planning
• Design
• UX
• Development & Integration
4. 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 Infield Design
- Caution -
TYPO3-Evangelist
6. 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, Workflows, ...
• Stable, Secure, Scaleable
7. 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
9. Integration Challenges & Solutions
PAGE RENDERING
• Different template engines
• (too) flexible page rendering engine
• Identify relevant content on websites
• Exclude navigation and common page elements
• Content generated by plugins
10. Integration Challenges & Solutions
INDEX 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
11. Integration Challenges & Solutions
ACCESS RIGHTS
• Intranet, Extranet, ...
• Not everybody may see everything
• Flexible user groups and permissions
• Permissions extended to sub-pages
12. Integration Challenges & Solutions
SOLR ACCESS FILTER PLUGIN
• Custom Solr access filter 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
13. Integration Challenges & Solutions
FILE INDEXING
• Finding file links in page content
• Core file links vs. plugin file links
• Track files for indexing
• Reading file content
• Separate tools for different file formats
14. Integration Challenges & Solutions
FILE INDEXING
• File Detectors & File Index Queue
• File system abstraction layer
• Apache Tika
• Knows 1,200+ file formats, reads about half of them
• Content & meta data extraction
• Language detection
15. Integration Challenges & Solutions
THE REST
• PHP people vs. Java technology
• Talking to Solr
• Learning from mistakes
16. Integration Challenges & Solutions
THE REST
• Fully automated bash install script
• SolrPhpClient
• Separate your languages
17. EXT:solr - Apache Solr for TYPO3
FEATURES
• 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 ...
21. ID INFIELD DESIGN
we build smart.
T3CON North America
San Francisco, May 30-31
20% off regular ticket price, use:
LUCENETYPO3
INFIELD DESIGN is hiring!
22. CONFERENCE PARTY
The Tipsy Crow: 770 5th Ave
Starts after Stump The Chump
Your conference badge gets
you in the door
TOMORROW
Breakfast starts at 7:30
Keynotes start at 8:30
CONTACT
@irnnr
ingo@typo3.org, ingo@apache.org