SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Sharing content between
                                Hippo and Solr




                             Jettro Coenradie [jettro@jteam.nl]
                                  Chief Architect JTeam B.V.

vrijdag 20 augustus 2010
Why ?




vrijdag 20 augustus 2010
Why ?

                     • Multiple content repositories, one access
                           point




vrijdag 20 augustus 2010
Why ?

                     • Multiple content repositories, one access
                           point
                     • More search options than out of the box
                           available in hippo




vrijdag 20 augustus 2010
JTeam involvement

                     • Experience with Solr
                     • Experience with Hippo



vrijdag 20 augustus 2010
JTeam involvement

                     • Experience with Solr
                     • Experience with Hippo
                     • Customer demand


vrijdag 20 augustus 2010
JTeam involvement

                     • Experience with Solr
                     • Experience with Hippo
                     • Customer demand
                     • Ralph Ruijs internship

vrijdag 20 augustus 2010
[LCF] Lucene
                   Connector Framework
                • Data synchronization framework
                • Originated from MetaCarta project
                • Apache incubator project
                 • http://incubator.apache.org/connectors/


vrijdag 20 augustus 2010
[LCF] Architecture




vrijdag 20 augustus 2010
• Start example that comes with solr
                      • Change the schema [add fields]
                     • Start the Solr explorer
                       http://www.jteam.nl/news/solrexplorer.html
                       http://lucene.apache.org/solr/


vrijdag 20 augustus 2010
• Start the quickstart
                     • Use cms to enter data
                      • http://www.onehippo.org/cms7/
                           documentation/quickstart.html




vrijdag 20 augustus 2010
LCF Crawler ui

                     • configure repository connectors
                     • configure output connectors
                     • configure jobs
                     • Start the job

vrijdag 20 augustus 2010
vrijdag 20 augustus 2010
Building LCF




vrijdag 20 augustus 2010
Building LCF

                     • Build from source using ant




vrijdag 20 augustus 2010
Building LCF

                     • Build from source using ant
                     • Deploy artifacts to artifactory




vrijdag 20 augustus 2010
Building LCF

                     • Build from source using ant
                     • Deploy artifacts to artifactory
                     • Use maven to create war with connectors



vrijdag 20 augustus 2010
Building LCF

                     • Build from source using ant
                     • Deploy artifacts to artifactory
                     • Use maven to create war with connectors
                     • Use maven to build agent with connectors


vrijdag 20 augustus 2010
Building LCF

                     • Build from source using ant
                     • Deploy artifacts to artifactory
                     • Use maven to create war with connectors
                     • Use maven to build agent with connectors
                     • Use special classes to prepare environment.

vrijdag 20 augustus 2010
Create an
                           LCF Connector

                    • UI related methods
                    • Connection related methods
                    • Runner related methods


vrijdag 20 augustus 2010
Create an
                                LCF Connector

                                              IConnector




                           IOutputConnector          IRepositoryConnector




vrijdag 20 augustus 2010
Create an
                           LCF Connector
                                    IConnector
                            install
                            deinstall
                            connect
                            disconnect
                            check
                            poll
                            getConfiguration
                            viewConfiguration
                            outputConfigurationHeader
                            outputConfigurationBody
                            processConfigurationPost



vrijdag 20 augustus 2010
Create an
                           LCF Connector
                               IOutputConnector
                     executeCommand
                     addOrReplaceDocument
                     removeDocument
                     viewSpecification
                     outputSpecificationHeader
                     outputSpecificationBody
                     processSpecificationPost


vrijdag 20 augustus 2010
Create an
                               LCF Connector
                                   IRepositoryConnector
                           executeCommand
                           addSeedDocuments
                           processDocuments
                           removeDocument
                           viewSpecification
                           outputSpecificationHeader
                           outputSpecificationBody
                           processSpecificationPost


vrijdag 20 augustus 2010
[Bad] code base




vrijdag 20 augustus 2010
[Bad] code base

                     • Build without dependency management




vrijdag 20 augustus 2010
[Bad] code base

                     • Build without dependency management
                     • No standard project layout



vrijdag 20 augustus 2010
[Bad] code base

                     • Build without dependency management
                     • No standard project layout
                     • Large classes with to many concerns


vrijdag 20 augustus 2010
[Bad] code base

                     • Build without dependency management
                     • No standard project layout
                     • Large classes with to many concerns
                     • Positive - working on improving it

vrijdag 20 augustus 2010
Thumbs up or down




vrijdag 20 augustus 2010
Thumbs up or down

                     • Code base can be a lot better




vrijdag 20 augustus 2010
Thumbs up or down

                     • Code base can be a lot better
                     • Good idea



vrijdag 20 augustus 2010
Thumbs up or down

                     • Code base can be a lot better
                     • Good idea
                     • Good start


vrijdag 20 augustus 2010
Questions




vrijdag 20 augustus 2010

Mais conteúdo relacionado

Semelhante a Sharing content between hippo and solr

Developing SOA Services with Red Hat JBoss and Eclipse tools
Developing SOA Services with Red Hat JBoss and Eclipse toolsDeveloping SOA Services with Red Hat JBoss and Eclipse tools
Developing SOA Services with Red Hat JBoss and Eclipse toolsEclipse Day 2010 in Rome
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project ArgoWesley Lindamood
 
Joomla PLT Summit Feedback
Joomla PLT Summit FeedbackJoomla PLT Summit Feedback
Joomla PLT Summit FeedbackChris Davenport
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_studentsScott Motte
 
GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010Wesley Hales
 
Derailed chef update-oct2010
Derailed chef update-oct2010Derailed chef update-oct2010
Derailed chef update-oct2010jtimberman
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The CloudChapter Three
 
An open-source testbed for IoT systems
An open-source testbed for IoT systemsAn open-source testbed for IoT systems
An open-source testbed for IoT systemsAugusto Ciuffoletti
 
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Groupminddog
 
OvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programmingOvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programmingTor Björn Minde
 
HTML5 impact on application programming
HTML5 impact on application programmingHTML5 impact on application programming
HTML5 impact on application programmingEricsson Labs
 
HTML 5: The Future of the Web
HTML 5: The Future of the WebHTML 5: The Future of the Web
HTML 5: The Future of the WebTim Wright
 
Automation using-phing
Automation using-phingAutomation using-phing
Automation using-phingRajat Pandit
 
CSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp BostonCSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp BostonJen Simmons
 
Writing Your First WordPress Plugin
Writing Your First WordPress PluginWriting Your First WordPress Plugin
Writing Your First WordPress PluginMark Jaquith
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGuillaume Laforge
 

Semelhante a Sharing content between hippo and solr (20)

Developing SOA Services with Red Hat JBoss and Eclipse tools
Developing SOA Services with Red Hat JBoss and Eclipse toolsDeveloping SOA Services with Red Hat JBoss and Eclipse tools
Developing SOA Services with Red Hat JBoss and Eclipse tools
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
Joomla PLT Summit Feedback
Joomla PLT Summit FeedbackJoomla PLT Summit Feedback
Joomla PLT Summit Feedback
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010
 
Derailed chef update-oct2010
Derailed chef update-oct2010Derailed chef update-oct2010
Derailed chef update-oct2010
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The Cloud
 
An open-source testbed for IoT systems
An open-source testbed for IoT systemsAn open-source testbed for IoT systems
An open-source testbed for IoT systems
 
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
 
OvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programmingOvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programming
 
HTML5 impact on application programming
HTML5 impact on application programmingHTML5 impact on application programming
HTML5 impact on application programming
 
HTML 5: The Future of the Web
HTML 5: The Future of the WebHTML 5: The Future of the Web
HTML 5: The Future of the Web
 
Automation using-phing
Automation using-phingAutomation using-phing
Automation using-phing
 
CSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp BostonCSS3: The Future is Now at Drupal Design Camp Boston
CSS3: The Future is Now at Drupal Design Camp Boston
 
Writing Your First WordPress Plugin
Writing Your First WordPress PluginWriting Your First WordPress Plugin
Writing Your First WordPress Plugin
 
WSGI, Django, Gunicorn
WSGI, Django, GunicornWSGI, Django, Gunicorn
WSGI, Django, Gunicorn
 
Oscon 2010
Oscon 2010Oscon 2010
Oscon 2010
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
 
Exceptable
ExceptableExceptable
Exceptable
 

Mais de Jettro Coenradie

Learning to rank search results
Learning to rank search resultsLearning to rank search results
Learning to rank search resultsJettro Coenradie
 
Combining machine learning and search through learning to rank
Combining machine learning and search through learning to rankCombining machine learning and search through learning to rank
Combining machine learning and search through learning to rankJettro Coenradie
 
Combining machine learning and search through learning to rank
Combining machine learning and search through learning to rankCombining machine learning and search through learning to rank
Combining machine learning and search through learning to rankJettro Coenradie
 
Real-time data analysis using ELK
Real-time data analysis using ELKReal-time data analysis using ELK
Real-time data analysis using ELKJettro Coenradie
 
Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013
Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013
Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013Jettro Coenradie
 
Creating polyglot and scalable applications on the jvm using Vert.x
Creating polyglot and scalable applications on the jvm using Vert.xCreating polyglot and scalable applications on the jvm using Vert.x
Creating polyglot and scalable applications on the jvm using Vert.xJettro Coenradie
 

Mais de Jettro Coenradie (6)

Learning to rank search results
Learning to rank search resultsLearning to rank search results
Learning to rank search results
 
Combining machine learning and search through learning to rank
Combining machine learning and search through learning to rankCombining machine learning and search through learning to rank
Combining machine learning and search through learning to rank
 
Combining machine learning and search through learning to rank
Combining machine learning and search through learning to rankCombining machine learning and search through learning to rank
Combining machine learning and search through learning to rank
 
Real-time data analysis using ELK
Real-time data analysis using ELKReal-time data analysis using ELK
Real-time data analysis using ELK
 
Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013
Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013
Search: the right tool, but what is the job. At nosqlmatters amsterdam 2013
 
Creating polyglot and scalable applications on the jvm using Vert.x
Creating polyglot and scalable applications on the jvm using Vert.xCreating polyglot and scalable applications on the jvm using Vert.x
Creating polyglot and scalable applications on the jvm using Vert.x
 

Último

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Último (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Sharing content between hippo and solr

  • 1. Sharing content between Hippo and Solr Jettro Coenradie [jettro@jteam.nl] Chief Architect JTeam B.V. vrijdag 20 augustus 2010
  • 2. Why ? vrijdag 20 augustus 2010
  • 3. Why ? • Multiple content repositories, one access point vrijdag 20 augustus 2010
  • 4. Why ? • Multiple content repositories, one access point • More search options than out of the box available in hippo vrijdag 20 augustus 2010
  • 5. JTeam involvement • Experience with Solr • Experience with Hippo vrijdag 20 augustus 2010
  • 6. JTeam involvement • Experience with Solr • Experience with Hippo • Customer demand vrijdag 20 augustus 2010
  • 7. JTeam involvement • Experience with Solr • Experience with Hippo • Customer demand • Ralph Ruijs internship vrijdag 20 augustus 2010
  • 8. [LCF] Lucene Connector Framework • Data synchronization framework • Originated from MetaCarta project • Apache incubator project • http://incubator.apache.org/connectors/ vrijdag 20 augustus 2010
  • 10. • Start example that comes with solr • Change the schema [add fields] • Start the Solr explorer http://www.jteam.nl/news/solrexplorer.html http://lucene.apache.org/solr/ vrijdag 20 augustus 2010
  • 11. • Start the quickstart • Use cms to enter data • http://www.onehippo.org/cms7/ documentation/quickstart.html vrijdag 20 augustus 2010
  • 12. LCF Crawler ui • configure repository connectors • configure output connectors • configure jobs • Start the job vrijdag 20 augustus 2010
  • 14. Building LCF vrijdag 20 augustus 2010
  • 15. Building LCF • Build from source using ant vrijdag 20 augustus 2010
  • 16. Building LCF • Build from source using ant • Deploy artifacts to artifactory vrijdag 20 augustus 2010
  • 17. Building LCF • Build from source using ant • Deploy artifacts to artifactory • Use maven to create war with connectors vrijdag 20 augustus 2010
  • 18. Building LCF • Build from source using ant • Deploy artifacts to artifactory • Use maven to create war with connectors • Use maven to build agent with connectors vrijdag 20 augustus 2010
  • 19. Building LCF • Build from source using ant • Deploy artifacts to artifactory • Use maven to create war with connectors • Use maven to build agent with connectors • Use special classes to prepare environment. vrijdag 20 augustus 2010
  • 20. Create an LCF Connector • UI related methods • Connection related methods • Runner related methods vrijdag 20 augustus 2010
  • 21. Create an LCF Connector IConnector IOutputConnector IRepositoryConnector vrijdag 20 augustus 2010
  • 22. Create an LCF Connector IConnector install deinstall connect disconnect check poll getConfiguration viewConfiguration outputConfigurationHeader outputConfigurationBody processConfigurationPost vrijdag 20 augustus 2010
  • 23. Create an LCF Connector IOutputConnector executeCommand addOrReplaceDocument removeDocument viewSpecification outputSpecificationHeader outputSpecificationBody processSpecificationPost vrijdag 20 augustus 2010
  • 24. Create an LCF Connector IRepositoryConnector executeCommand addSeedDocuments processDocuments removeDocument viewSpecification outputSpecificationHeader outputSpecificationBody processSpecificationPost vrijdag 20 augustus 2010
  • 25. [Bad] code base vrijdag 20 augustus 2010
  • 26. [Bad] code base • Build without dependency management vrijdag 20 augustus 2010
  • 27. [Bad] code base • Build without dependency management • No standard project layout vrijdag 20 augustus 2010
  • 28. [Bad] code base • Build without dependency management • No standard project layout • Large classes with to many concerns vrijdag 20 augustus 2010
  • 29. [Bad] code base • Build without dependency management • No standard project layout • Large classes with to many concerns • Positive - working on improving it vrijdag 20 augustus 2010
  • 30. Thumbs up or down vrijdag 20 augustus 2010
  • 31. Thumbs up or down • Code base can be a lot better vrijdag 20 augustus 2010
  • 32. Thumbs up or down • Code base can be a lot better • Good idea vrijdag 20 augustus 2010
  • 33. Thumbs up or down • Code base can be a lot better • Good idea • Good start vrijdag 20 augustus 2010