CityWebConsultants / Iris

Modular content management and web application framework built with Node.js and MongoDB
http://irisjs.org
Other
9 stars 7 forks source link

Restructure for npm #161

Closed FilipNest closed 8 years ago

FilipNest commented 8 years ago

Major restructure for NPM. Now required like a normal node.js module (place in node_modules folder or elsewhere to test). Exports a function that takes parameters like previous settings.json file.

Automatically creates an "iris" directory for config, themes, custom modules etc including the enabled_modules.json and active_theme.json files which are now stored under system in config. A "name" parameter can be passed in the main settings object to change this directory's name to "iris_name".

Sites sharing custom modules is not yet supported unless they are installed via npm but this can be added using a path passed in in the settings config (to add later once we've agreed this is a good solution).

There are actually lots of advantages of doing it this way aside from the NPM compatibility. It means you could use Iris alongside another project and we could expose messaging between the two for example. You could even require Iris mutliple times to build a multisite server.

This needs a lot of testing.