Giter Club home page Giter Club logo

Collex Main Website

This is the user-facing website for collex. You will need this if you are setting up your own instance of Collex. After downloading this, you will have to customize it for your own look and feel. You can then either arrange to have your own documents added to the ARC Federation, or you can create a completely stand alone version of this site. If you do the former, then this is the only project in the collex tool chain that you need to set up yourself. It is recommended that you also use the collex_wordpress_theme project, though. If you are setting up a stand-alone site, you will need all the projects.

Collex architecture

Collex is a complex project made up of a number of subprojects that all have to be in place for it to work. Most users will probably just need to set up the main Collex piece and point it at the existing Catalog. If that is all you want to do, then you don't need to understand the following architecture and you don't need to download the "solr" or "catalog" projects.

When Collex is deployed, it is branded with the name of a particular "Federation", like NINES or 18thConnect. The website that the end user goes to will look like that federation, but the code behind it is the "collex" project here.

When a search is done from "collex", the request is made to the "catalog" project, which is a web service that exposes all the documents that have been stored.

The "catalog" webservice processes the request and forms the correct call to the "solr" webservice.

The "arc-inbox" is a simple website that allows users to upload new .rdf content that will be added to the catalog / solr index.

The documents are added to the solr index by converting RDF documents using the project "rdf-indexer".

The About section of "collex" and the News section of "collex" are two separate WordPress installations. The recommended theme to use is in the "collex_wordpress_theme" project.

The "typewright" project can be attached to a "collex" instance if you wish by setting it up in the site.yml file of "collex". The "typewright" project is a webservice that keeps the information about all the typewright-enabled documents. The actual web presence of typewright is in the "collex" project under subfolders named typewright.

Local Install

  1. Download this project to your local development area.

  2. Copy config/database.example.yml to config/database.yml.

  3. Copy config/site.example.yml to config/site.yml.

  4. Modify those two files to suit your server and your needs. There are comments in them. DO NOT CHECK THEM IN!

  5. The first time you run, you will have to run bundle install.

  6. Next, you must configure the database, and bootstrap some necessary data into the system. This is done with the by running the following:

     rake db:setup
     rake bootstrap:globals url={catalog url}
    

Deployment

Collex is deployed using capistrano, and can be deployed to either a staging server (edge) or a production server. The configuration for each host is found in config/site.yml at the bottom of the file. Fill in the necessary data for each site. To complete this section, you must have a user created on the target host which will run the catalog. That user must have full read/write permissions on the install directory. Additionally you must generate an ssh key-pair on your development machine and install it on the target host. Add an entry in your ~/.ssh/config file for each host. Example:

Host edge-collex
   Hostname 128.128.128.128
   User collex
   Port 22
   IdentityFile ~/.ssh/edge-collex
  1. First time deployment has a few extra setup steps
  2. Copy Capfile.example to Capfile
  3. Copy config/deploy.rb.example to config/deploy.rb
  4. Modify config/deploy.rb to suit your needs.
  5. Setup common structures on the host, run the capistrano setup comman for the desired host and federation. Example: cap edge_nines_setup or cap prod_18th_setup 5. Login to the host and navigate to the install directory. 6. From there, cd into shared/config. 7. Fill in the template database.yml and site.yml 8. Startup mysql and create the database for the federation. For example: 'nines_production'
  6. After this setup, each subsequent deployment is accomplished by running cap menu It will present you with a menu to pick a destination of edge or production for each of the availble federations. After you make the selection, deployment will begin.

License

Copyright 2011 Applied Research in Patacriticism and the University of Virginia

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

collex's Projects

arc_inbox icon arc_inbox

For accepting contributions to the arc catalog

catalog icon catalog

A web service that exposes all of the documents stored in the solr index.

collex icon collex

The public-facing web app for Collex

rdf-indexer icon rdf-indexer

A Java app that indexes the RDF files into the solr index. It also handles text and does some testing of the RDF objects and the solr index.

solr icon solr

An instance of solr configured to work with the Collex Catalog.

typewright icon typewright

A web service that keeps info on the typewright documents

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.