Search UI Competition for Sitecore 9.2

Introduction

Almost all websites have a requirement to provide some sort of search functionality, most of which have a fairly common set of requirements across different projects. We feel that as a community we can build a fast, reliable and modern search ui implementation together, through our collective knowledge and experience. The first step to achieving this is to provide a base from which we can extend.

The goal of this competition is to release an Open Source Sitecore Search UI module.

Objectives

Provide a Sitecore module which allows users to create a Search page that uses both server side (initial load for crawlers) and client-side renderings (using JavaScript) to render a standard search page.

A standard search page contains the following functionality at a minimum:
1. Type ahead search bar
2. Results summary
3. Sort functions
4. Search Facets/filters
5. Search results
6. Results pager

Note: Bonus points to additional features and functionality submitted. Some examples of additional functionality:
1. Integration with analytics ( search keywords and counts, missed opportunity where search terms yields no results )
2. Search highlighting
3. Ease of customization of theme based on the site
4. Results boosting
5. Ease of install and configuration
6. Ease of extensibility
7. Ability to source non-Sitecore content, e.g. Sitecore Commerce

Additional Notes:

  • The search module should work and function standalone, and should not depend on any other modules or frameworks such as SXA or JSS. Support for the SXA toolbox would be welcome, and bonus points for proper Theme integration, different grid etc to make it more compatible with SXA.
  • Client side manipulations of facets should result in a bookmarkable URL (allowing the search to be shared in emails for example).
  • Language support is mandatory, the module should work in multi-lingual instances.
  • Be mindful of index composition, i.e. something that defines and configures the building of indexes to be searched. Although not strictly part of the UI, it will be necessary to drive it.
  • The code will be shared using the MIT open source license.

As a guide investigate https://www.algolia.com/doc/guides/building-search-ui/widgets/showcase/js/ for UI ideas. The 6 Search components of the standard search page should be editable in the Experience editor with options to support the functions.

Make the JavaScript as light as possible. Make the CSS in a structured way, making it easy to customize according to the site.

Search could use Rules Engine to allow configuration. It should work with any underlying search provider especially Solr and Azure Search. Use Rules Engine Lucene Queries article as a reference - https://cardinalcore.co.uk/2014/07/07/rules-engine-lucene-queries-pt-i/

Important Dates

Competition entry deadline is August 30, 2019 5PM Pacific Daylight Time (PDT).
Competition end date October 30th, 2019 5PM Pacific Daylight Time (PDT).

Prizes

The prizes are payable via wire transfer where US and International Law permits. Here are the prizes:
- 1st prize will be $3000.00 (Three Thousand US Dollars)
- 2nd prize will be $700.00 (Seven Hundred US Dollars)
- 3rd prize will be $300.00 (Three Hundred US Dollars)

Teams

Team Nimble

Ahmad O
James G

The Sitecore Panther

Jitendra K
Amit K

TM

Pankaj S

SitecoreRockz

Balasubbarao K

Team Firebats

Pankaj Gandhi
Ramesh Kumar

Nerdies

Saad Bin Rafiq
Sohail Charolia
Mahboob Alam

TripleM

Mohammad Abujaffal
Mohannad Alhasasneh
Mieassar Aljazairi

Sitecore Debuggers

Gopikrishna Reddy Gujjula
Haribabu Vallpuri

ilovesearch

Adam Lamarre

East Sitecore Developers

Takumi Yamada
Yuta Tsunemoto
Ayane Suzuki

scFootsteps

Chaturanga Ranatunga

The NightMARs

Mark Cassidy
Marek Musielak

Great Gryffindor

Vinothini Durairaj
Akhila John

Cheetos Search Snax

Chet Potvin


Solr Instance in the Cloud by SearchStax

SearchStax is a fully managed Solr-as-a-Service that allows you to spend more time building your search applications and less time managing, maintaining, and monitoring it. SearchStax provides a highly scalable cloud-agnostic solution that is fully managed by Solr experts.

If you need a Solr instance in the cloud, our friends at SearchStax are offering free developer instance signup using this LINK.

Entry Requirements

All code and text and/or images must: (a) be compatible with the latest version of Sitecore 9, (b) be the exclusive original work of your Team, however you may use any appropriately licensed open source projects; (c) be in keeping with one of the Contest idea, (d) not defame or invade publicity rights or privacy of any person, living or deceased, or otherwise infringe upon the rights of any person or entity, including but not limited to copyright, trademark, privacy or publicity, (e) not contain any commercial/corporate advertising, including but not limited to corporate logos, brand names, and slogans other than the Sponsor’s, (f) not depict any conduct or content that is unsafe, immoral, obscene or otherwise inappropriate as determined by Sponsor in its sole and absolute discretion; and (g) not have been submitted for any other Team (in whole or in part), in any other contest, or won any prize. All written text must be in English. Failure to meet any of the requirements above, or to otherwise comply with these Official Rules, may result in disqualification. Sponsor reserves the right to delete any inappropriate content from a submission without disqualifying the entry where, in Sponsor’s determination, such change does not materially alter the submission and the entrant has otherwise attempted in good faith to comply with these Official Rules.

All teams are required to submit the following as part of their entry submission on or before the end of the competition on October 18th, 2019 5PM Pacific Daylight Time (PDT). The modules should be based on Sitecore 9.2 (Update 1).

  • Sitecore 9.2 Module (Module install package).
  • Module Code in the Git source repository (Provided)
    • Cleanliness of code
    • Commenting where necessary
    • Code Structure
    • Standard coding standards & naming conventions
  • Module installation and usage documentation on Readme.md file on the Git Repository (2 – 5 pages)
  • Create a 2 – 10 minutes video explaining the module’s functionality and how to configure the options (A link to youtube video)
  • The module should provide at least 6 components for a standard search page as described in the Objectives section above. Additional requirements submitted will receive bonus points.

Eligibility

The competition is open to those who are interested in making a difference and contributing to the Sitecore open source modules.
• To participate, you must be on a team that has at least one and up to three eligible members who contribute code to the team’s submission (each, a “Team”). • No employees or contractors belonging to Sitecore may compete in the competition.
• No employees or contractors belonging to Konabos Consulting may compete in the competition.
• Additional terms, conditions and restrictions apply.
• The competition Contest (“Contest”) is open to legal residents of the United States and District of Columbia, excluding Alaska and Hawaii, 21 years of age or older at the time of entry, and legal residents of other countries; provided that the following persons are not eligible: legal residents of Cuba, Iran, North Korea, Sudan, Syria, Venezuela and any other countries sanctioned by the United States.
• Void where prohibited.
• All applicable federal, state and local laws apply.
• An otherwise eligible individual for the Contest may only be a member of one Team entered in the Contest. By participating on a Team and submitting an Entry in the Contest, you agree to be bound by these Official Rules (“Rules”).

Requirements for acceptance and rules of participation

• Registering for the competition is entirely free of charge and is open only to existing teams of 1 or more members, located anywhere in the world.
• Teams wishing to sign up for the competition must complete the online registration form at https://learnsitecore.wufoo.com/forms/z1wnaiyp1gxunxc/, indicating the personal details of the individual or of each team member. Each individual participant or team member must accept the event regulations and grant consent for the handling of their personal information and for the use by Konabos Consulting of content, video and other images.
• The members of each team are to ensure that the personal information provided upon registration online is true and accurate and must unconditionally accept any and all decisions made by competition organizers with regard to event organization.
• Teams may not be changed once the competition has begun, and should even just one member of a team leave the competition, the entire team will be rendered ineligible.
• competition participants hereby acknowledge that event participation is free of charge and that participation does not entail any right to compensation of any kind or to reimbursement of any expenses incurred.
• Prize money will be paid to the team captain for disbursement as your team chooses.

USAGE RIGHTS IN ENTRIES: Each Team will own the rights to its Entry, however, to qualify, the software must be provided with source code and licensed in such a manner that it can be used free of charge for commercial use. Sponsor and its designees shall have the unrestricted and non-exclusive right to publish, copy, display, perform, or broadcast, any or all entry materials, alone or in combination with other material, including but not limited to photos and/or text, in any and all media, whether now known or later discovered, in perpetuity, without restriction of any kind whatsoever, without further compensation to the entrant or anyone else. Without limiting the foregoing, entries may be posted on Sponsor’s website or social media channels for public viewing as part of the Contest. A Team’s Entry constitutes permission for Sponsor and its designees to use the Team winner’s names, biographical information in any and all media, now or hereafter devised, worldwide, in perpetuity, for internal, advertising, Contest and other purposes without additional compensation, notification or permission, unless prohibited by law. You can publish the module to the marketplace under your own name, we will not claim ownership of your module. We require you to mention this competition, the Konabos GitHub repository and a link to this website on your blog posts and the marketplace module page. All code will be released under the MIT open source license, allowing for use and further extension in the future by other community members.

VERIFICATION OF WINNER: Each finalist and potential winner on a Team may be required to sign an affidavit of eligibility and liability release and, where permitted, a publicity release. Entry into this Contest constitutes agreement to sign such documents when requested. Finalist status and/or any prize eligibility may be forfeited if any requested document is not returned promptly when requested. Failure to cooperate may result in disqualification and selection of an alternate finalist or winner.

RELEASE OF LIABILITY: By participating, you release Sponsor, Sitecore and their owners, parents, subsidiaries, affiliates, partners, employees, directors, and agents, including advertising agencies (“Released Entities”), from any and against any and all injury, loss or damage caused or claimed to be caused by your participation in the Contest and/or the acceptance, awarding, receipt, use and/or misuse of the prize, and you agree that Released Entities are not responsible for any warranty, representation, or guarantee, expressed or implied, in fact or in law, relating to the Contest and/or the awarding of any prize, except as expressly set forth in these Official Rules; you further agree that (i) any and all disputes, claims, and causes of action arising out of or in connection with the Contest, or any prizes awarded, shall be resolved individually without resort to any form of class action; (ii) any claims, judgments and awards shall be limited to actual out-of-pocket costs incurred, including costs associated with entering the Contest, but in no event attorney’s fees; (iii) under no circumstances will any entrant be permitted to obtain any award for, and entrant hereby waives all rights to claim, punitive, incidental or consequential damages and any and all rights to have damages multiplied or otherwise increased and any other damages, other than damages for actual out-of-pocket expenses; and (iv) any dispute will be governed by Massachusetts law without regard to principles of conflicts of laws, will be heard in the state or federal courts located in Massachusetts, and the entrant hereby consents and waives any objection to the jurisdiction of such courts.

ADDITIONAL RULES: Entry materials/data that have been tampered with or altered are void. No responsibility is assumed for: (i) lost, late, misdirected, damaged, garbled, incomplete or illegible Entries, all of which are void; (ii) error, omission, interruption, deletion, defect, delay in operations or transmission, theft or destruction or unauthorized access to or alterations of Entry materials, or for technical, network, telephone equipment, electronic, computer, hardware or software malfunctions of any kind, or inaccurate transmission of or failure to receive entry information by Sponsor on account of technical problems or traffic congestion on the Internet or at any web site or any combination thereof; or (iii) any injury or damage to entrant’s or any other person’s computer related to or resulting from participating in the Contest.

By participating, you (i) agree to be bound by these official rules, including all eligibility requirements, and (ii) agree to be bound by the decisions of the judges, which are final and binding in all matters relating to the Contest. Failure to comply with these official rules may result in disqualification from the Contest. Sponsor reserves the right to: (i) permanently disqualify from any contest it sponsors any person it believes has intentionally violated these official rules; and (ii) suspend, modify or terminate the Contest if Sponsor believes, in its sole discretion, that malfunction, error, disruption or damage is impairing or will impair the administration, security, fairness, integrity or proper conduct of the Contest.

LEGAL WARNING: ANY ATTEMPT BY AN INDIVIDUAL, WHETHER OR NOT AN ENTRANT, TO DELIBERATELY DAMAGE, DESTROY, TAMPER OR VANDALIZE THE CONTEST WEBSITE OR INTERFERE WITH THE OPERATION OF THE CONTEST, IS A VIOLATION OF CRIMINAL AND CIVIL LAWS AND SPONSOR RESERVES THE RIGHT TO SEEK DAMAGES AND DILIGENTLY PURSUE ALL REMEDIES AGAINST ANY SUCH INDIVIDUAL TO THE FULLEST EXTENT PERMITTED BY LAW.

DATA COLLECTION/PRIVACY: Information stored is not used for commercial purposes and will not be shared with any other organization. The purpose of the information will be related to this contest.