Skip to content

dpmott/konopas

 
 

Repository files navigation

KonOpas

A mobile-friendly guide for conventions, with all sorts of spiffy features.

KonOpas is free, open-source software distributed under the terms of the ISC license.

Description

KonOpas is a front end for the programme of a convention, conference or any other single- or multi-track event. It's written in JavaScript, and it works in practically all modern browsers, including those on mobile phones. It can use HTML5 caching to make itself available even without a live net connection, and it remembers your item selections across sessions.

The hosting requirements for KonOpas are minimal, as all the processing is done by the browser; all the files are served statically. Some back-end scripting may be required if you require live updates of the programme during the event.

Built and tested for a growing number of large and small conventions and conferences, KonOpas is about as easy to use as possible. With automatic filter rule generation from your data, KonOpas can be set up for your event by just adding your name and logo to an HTML file, along with pointers to your programme and participant data.

The open-source KonOpas client can also talk with a dedicated KonOpas server. The server enables item sync across different browsers, devices and calendar apps; item-specific voting and commenting; and allows the event organisers to track which items were the most popular. To enable server access for your event, please get in touch with us at info@konopas.org.

For links to example instances of KonOpas, take a look at the links from our website.

Getting Started

As KonOpas is a front end for your event's programme, you'll need to actually manage your programme with a different tool. So far we've got built-in integration with at least Conference Planner/Grenadine and Zambia, with more to come. For smaller events, a simple PHP script is available for fetching data from a publicly readable Google Drive Spreadsheet and converting it to the KonOpas format.

To get started, you should download the latest release of KonOpas, which includes the compiled & minified Javascript and CSS files. Alternatively, if you clone the repository, you'll have a much easier time of making changes to the skin or hacking the Javascript source, but you'll need to compile the code yourself---instructions for that are in the following section.

In the zip file, you'll find the distribution version of KonOpas in the dist/ folder; this is what you'll need to deploy on your own server.

Once you've got your programme data in the proper format, you should just change the <script> tags at the bottom of index.html to point to your data, and open the page in a web browser. If all goes well, you should see your programme nearly ready to use! If there are problems, the first place to look for more information is your browser's developer console.

To start customizing KonOpas for your event, edit the HTML file by replacing stand-in phrases like KonOpas Sample Guide and CONVENTION as appropriate. The title and title-small images are the logo that's displayed at the top of the page; there are two as you may wish to use a different graphic for the wide and narrow-aspect layouts. Near the bottom of the file you'll find the KonOpas instantiation, with optional [customizations][KO-cfg].

For more in-depth changes such as changes to the color scheme or fonts, you'll need to edit the skin/*.less files and recompile them into CSS. For internationalization and other needs, we have a few other [utilities][KO-util] available.

Support for the HTML5 [cache manifest] is deprecated, and use of it has been removed from KonOpas. A Javascript interval timer is used to fetch the last-updated attribute of a single file (still named konopas.appcache), and that timestamp is used to determine if the app should be reloaded. This functionality is enabled by uncommenting the html tag attribute data-last-updated. To test changes to the refresh logic locally, consider installing a Node.js webserver via npm install http-server -g and then simply running http-server in the same directory as index.html.

Compilation & Dependencies

For most use cases, KonOpas should be usable directly. However, if you'd like to change things such as the interface language, or if you'd like to just poke under the hood in general, you'll need to recompile it.

For styling, KonOpas uses LESS, which requires compilation into CSS if modified. This should make it easier for you to tune the default skin to match your needs. skin/main.less is the place where the colourscheme is set.

For internationalization, we use messageformat.js, which is based on ICU MessageFormat syntax. So far localizations include English, Finnish, and Swedish.

make

To compile KonOpas for yourself, you should clone the git repo and install the dependencies using npm. The following commands should get you set up:

git clone https://github.com/eemeli/konopas.git
cd konopas
npm install
make all

The all and dev make targets will build the browser-ready KonOpas in the dist/ subdirectory; make precache gzips some of the more compressible output files for use on servers that where a config like this is in use. If you've Watchman installed, make watch will start it with triggers for automatically updating the JS & CSS files during development.

To change the default (English) locale of KonOpas, use the LC variable:

LC=en,fi make all

Once set, the same locale will be used until reset as above or by make clean.

release

To make a release zip file on Windows:

"c:\Program Files\7-Zip\7z.exe" a konopas-0.9.6.zip CHANGELOG.md LICENSE README.md dist\* util\* util2\* -x!*\node_modules

To publish a release:

git tag -a v0.9.6 -m 'Release 0.9.6'
git push origin v0.9.6

Navigate to https://github.com/dpmott/konopas/releases and create a new release named and formatted like the ones before it, and upload the zip file as a binary.

Discussion

We have a public mailing list that you're welcome to join, or just follow online.

About

Mobile-friendly guides for conventions, with all sorts of spiffy features

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 53.7%
  • PHP 29.5%
  • Less 10.1%
  • HTML 5.2%
  • Makefile 1.3%
  • sed 0.2%