Network Powering Makers

    wimmp

    1.0.1 • Public • Published

    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

    Keywords

    none

    Install

    npm i wimmp

    DownloadsWeekly Downloads

    2

    Version

    1.0.1

    License

    ISC

    Last publish

    Collaborators

    • encompassx