Skip to content

xdavidson/lucidworks-view

 
 

Repository files navigation

Lucidworks View

Lucidworks View is a consumer-facing front end for Lucidworks Fusion. It provides a basic search interface with simple configuration, so you can quickly deliver a Fusion-based search solution with minimal development. View is powered by Fusion, Gulp, Angular, and libSaSS.

You can also use View as the basis for developing a more sophisticated Web interface, using Foundation for Apps: http://foundation.zurb.com/apps/docs/

If you need help setting up Fusion, see https://doc.lucidworks.com/.

Requirements

If you downloaded a platform-specific package, all dependencies are included. Skip to Get Started step 4.

If you start by cloning the repository, you'll need the following software:

  • Node.js: Use the installer for your OS.
  • Git (if you're cloning the repo): Use the installer for your OS.
  • Windows users can also try Git for Windows.
  • Gulp and Bower: Run npm install -g gulp bower
  • Depending on how Node is configured on your machine, you may need to run sudo npm install -g gulp bower instead, if you get an error with the first command.

Get Started

  1. Clone the repository, where app is the name of your app:
git clone https://github.com/lucidworks/lucidworks-view app
  1. Change into the directory:
cd app
  1. Install the dependencies:
npm install
bower install
  1. While you're working on your project, run:
  • If you downloaded a tar package:

    ./view.sh start
  • If you cloned the repository:

    npm start

This will compile the SaSS, assemble your Angular app, and create FUSION_CONFIG.js (if you haven't created it already). You'll see output that tells you which port was selected:

[BS] Access URLs:
 ------------------------------------
       Local: http://localhost:3000
    External: http://<external IP>:3000
 ------------------------------------

The default is port 3000, but if that port is already in use then the app selects the next highest available port.

  1. Now go to http://localhost:<port> in your browser to see it in action.

The first time you browse to the app, you'll see a login page. Use your Fusion username and password. To enable anonymous access, edit the anonymous_access keys in FUSION_CONFIG.js.

When you change FUSION_CONFIG.js or any file in the client folder, the appropriate Gulp task will run to build new files. This uses browser-sync for instant reload upon change of source files. Visit http://localhost:3001 (or whatever your terminal shows as the browser-sync UI) for the browser-sync dashboard.

To run the compiling process once, without watching any files, use the build command:

npm run build

Unit testing

npm run build
npm test

Basic Configuration

The first time you run npm start, FUSION_CONFIG.sample.js is copied to FUSION_CONFIG.js. Modify this file to configure View's basic options. Documentation about the configuration keys is included in the file.

At a minimum, you must configure the collection key to match the name of your Fusion collection.

In a production environment, you must also configure host and port to point to the UI service of your Fusion deployment. The default is localhost:8764 for development purposes.

When the app is running with BrowserSync, it reloads the configuration every time you save FUSION_CONFIG.js. You can modify the configuration and watch the app change in real time in your browser.

Basic Customization

The title and logo for your interface are configured in FUSION_CONFIG.js as search_app_title and logo_location.

CSS options are configured in the files in client/assets/scss.

Templates for various UI components are located in client/assets/components.

Search results from different document types can use different templates. The client/assets/components/document directory contains templates for some common document types, plus default templates for all others. Data types correspond to Connectors in Fusion. See Customizing Documents for details about working with these.

What's Next

For more details about configuring and customizing View, see the docs directory.

About

Create custom user experiences for your Fusion-powered apps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 72.1%
  • CSS 14.3%
  • HTML 13.3%
  • Shell 0.3%