Skip to content
This repository

Calipso is a simple NodeJS content management system based on Express, Connect & Mongoose.

branch: master

Merge pull request #256 from ammit/master

Small typo in flash error message
latest commit e8c2eec87c
Andreas Richter richtera authored
Octocat-spinner-32 bin Remove -x
Octocat-spinner-32 conf Added readme to conf folder
Octocat-spinner-32 docs update JS and config to latest
Octocat-spinner-32 i18n Portuguese (Brazil) translation
Octocat-spinner-32 lib test(app): debug messages for app.stack building
Octocat-spinner-32 logs Tweaks to reloading and copy forward of some form changes re login
Octocat-spinner-32 modules typo in flash error message
Octocat-spinner-32 pids Added logs and pids folders
Octocat-spinner-32 scripts Squash code style modifications.
Octocat-spinner-32 support Squash code style modifications.
Octocat-spinner-32 test test(core/lib/Theme.js): test for schema-valid theme.json
Octocat-spinner-32 themes Don't capitalize mailto: links
Octocat-spinner-32 utils Fix duplicate callbacks if bcrypt is available.
Octocat-spinner-32 .gitignore Squash code style modifications.
Octocat-spinner-32 .npmignore Make sure we don't publish conf files in npm
Octocat-spinner-32 .travis.yml Bump version and remove 0.8 node testing.
Octocat-spinner-32 JasmineAdapter-1.1.2.js Squash code style modifications.
Octocat-spinner-32 Makefile Install jscoverage on demand during make test instead of making it a …
Octocat-spinner-32 README.md Fix readme markdown syntax error.
Octocat-spinner-32 WebStormCodeSettings.jar Add export of WebStorm code stettings.
Octocat-spinner-32 app-cluster.js Squash code style modifications.
Octocat-spinner-32 app.js fix(app.js): parse node.env.PORT
Octocat-spinner-32 config.json Updates to menu to enable delete confirmation by adding cls:delete to…
Octocat-spinner-32 jasmine-1.1.0.js Squash code style modifications.
Octocat-spinner-32 jsTestDriver.conf Squash code style modifications.
Octocat-spinner-32 logo.js Squash code style modifications.
Octocat-spinner-32 package.json Bump version.
README.md

Calipso

Calipso is a simple NodeJS content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple.

For additional details, including installation instructions, please visit the home page: http://calip.so/

If you would like to contribute, please take a look at the issues list as this will have the most up to date view of work that needs to be done for the next minor release. Otherwise, please just pm myself (cliftonc), dennis (dennishall) or dale (dtan) and we can suggest some places for you to start.

Build Status

Quick Install

If you want to try it out as quickly as possible, please install MongoDB, ensure that you have the right compilers installed (for OSX, XCode4 will work, for Ubuntu, the build-essential and libssl-dev packages) and then use NPM:

        npm install calipso -g
        calipso site /var/www/MySite
        cd /var/www/MySite
        calipso server

Note the server will output an installation password during install to prevent some other person from installing your server. The output will look something like this:

Installation Password: "5ng/joSjSXS9RsERDXVGk40Ih2PP5YC/7w==" (inside quotes)

NOTE: Mongoose upgraded to 3.6.x

This causes the sort api to change. In order to run under SmartOS mongoose had to be upgraded to in turn upgrade mongodb to 1.3.x. When sorting rather than

query.sort('column', 1).sort('column2', -1)

Use

query.sort('column -column2')

Instead.

Using environment variables

The site will respond to a environment variable called MONGO_URI. If MONGO_URI is set then the configuration storage will move from the /conf folder into the mongodb database pointed to by the MONGO_URI. This allows easy deployment of a calipso site to a nodejs hosting provider. To re-install or install, calipso will ask for an installation password which is a randomly generated string which will be logged to your log file. Copy this string and paste it into the UI to proceed. The system will overwrite and adjust the username/password your specify for the admin which previously was a little bit of a problem. To "re-install" use your mongo command shell to update the settings in the database as follows:

db.confs.update({environment:'development'},{$set:{"configuration.installed":false}})

or

db.confs.update({environment:'production'},{$set:{"configuration.installed":false}})

Using node v0.5.3 and later

Since node v0.5.3 has removed require.paths, in order to require(‘lib/calipso’), you must include the following to your file:

var rootpath = process.cwd() + '/',
  path = require('path'),
  calipso = require(path.join(rootpath, 'lib/calipso'));
That also goes for including anything that is based on the root path of the project directory.

Development Steps

To get running in development mode (not the site mode outlined on the front page) - e.g. so you can make changes to core and submit pull requests:

1.  Fork the repository
2.  Clone from your fork (replace YOURNAME!): git clone git@github.com:YOURNAME/calipso.git
3.  Run 'npm install -d' in the clone folder to install all of the dependencies.
4.  Run 'node app' to run Calipso from the source folder.

Note that the bin/calipso command line script is really designed to allow people who just want to use Calipso to build sites to use it, it isn't used in the dev process.  As always, any questions please do shout.

Calipso Command Line Client

The commands currently supported from the command line client are:

Commands That Run Anywhere

        calipso                            : Show this help file.
        calipso site <name|folder>         : Create site in folder.

Commands That Run In Site Folder

The most important of these at the moment is ‘modules check’ (this will ensure that all modules have all of their dependencies installed via npm), and should be run on site install.

        calipso install                    : Re-run site install.

        calipso cluster --port=3000        : Run as cluster.
        calipso server --port=3000         : Run as a single server.

        calipso modules list               : List installed modules.
        calipso modules check              : Check installation of all modules.
        calipso modules install *mod@ver   : Install module@version, or reinstall module.
        calipso modules download github    : Download module from github (e.g. cliftonc/calipso-elastic)
        calipso modules enable *mod        : Enable module.
        calipso modules disable *mod       : Disable module.

        calipso themes list                : List installed themes.
        calipso themes uninstall *theme    : Remove theme (delete from disk)
        calipso themes download *url       : Download (url: http://, gh: cliftonc/calipso-site-theme, repo: calipso-site).

Contributors

* Clifton Cunningham
* Andreas Richter
* Dennis Hall
* Cole Gillespie
* Jonathan Zacsh
* Jerad Bitner
* Martin Moen
* dale tan
* Nate Hunzaker

MIT License

Copyright (c)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR

Something went wrong with that request. Please try again.