wimmp v1.0.1
WIMMP
Web Information Modular Management Portal
This is a configurable and extendable web portal designed for groups and events to host as a way to interface with their members. It has an easily configurable look and feel to meet any design, and modular tabs that can be set up in any number, order, and configuration.
Currently, available tabs (modules) include:
- PDF Viewer
- File Viewer
- Link Viewer
- Advanced File Viewer
Submit ideas for additional modules to steffeydev@icloud.com
Installation
WIMMP is designed to be deployed on a linux server.
sudo apt-get install npm
sudo npm install wimmp
sudo npm install -g horizon
cd node_modules/wimmp
hz init horizon
sudo chmod +x start_server
If it complains that RethinkDB is not installed, you will need to follow the instructions here to install it.
Fill in the correct personalization data in config.json
- Ensure colors are in the hex format
- If restrictAccess is True, only users in the users dictionary will be allowed to view (not edit) the content
- Set the IP Address field to your domain name if you are using a domain
Move your header image into the src/images/ directory
Run ./node_modules/.bin/webpack --progress
to build with the new configuration.
Note: Depending on your domain configuration, you may need to modify the hz serve command in start_server according to http://horizon.io/docs/cli/
Running
Each time you reboot, your will need to run:
sudo /bin/bash /path/to/wimmp/start_server
You can run this manually or put it into a startup script such as /etc/rc.local
.
Administrators will need to connect on port 3000 to upload content to the portal, but everyone else can connect on port 80.
Maintenance
To wipe the datastore, just delete the horizon folder and run hz init horizon
again.
Modification
You can also create your own modules. To do so, create a React ES6 class that inherits from ContentModel (src/app/views/contentModel.jsx)
, call super(props, "tableName")
in your constructor, and remember to return this.loading()
from render when there is no data available for your tab.
To continuously build your app, cd into root and run:
./node_modules/.bin/webpack --watch --progress
Then when you change the .jsx
files in the src/app
folder, it will automatically rebuid to dist/bundle.js
.
Built with Webpack, React, Babel, RethinkDB, and NodeJS
Copyright Peter Steffey, 2015