Skip to content
se4598 edited this page Aug 10, 2024 · 9 revisions

Introduction

Welcome to the c3nav wiki!

Documentation for the current state is currently not really available beyond this very rough draft state. Sorry.

Improvements/Pull Requests are welcome!, but please don't create unconstructive bugs about whats missing.

Please note that some features may only work, when done in a specific way. So for your usecase you may have to follow workarounds. Patches are welcome!

getting help:

  • we do try to help as our time and budget allows. but that's sadly not very much
  • you may also take a inspiring look at the FOSDEM infrastructure repo about how they deploy their c3nav instance. Please be aware that they are using an older version of c3nav, so some things may work differently.

setup

install (as local small instance without containers)

in the root folder

  • python3 -m venv env
  • source ./env/bin/activate
  • pip install -r src/requirements/production.txt -r src/requirements/dev.txt
  • sudo apt install librsvg2-bin

in the src folder

  • python manage.py migrate (run database migration scripts; uses local sqlite by default)
  • python manage.py createsuperuser (creates your admin user)

run server

  • python manage.py runserver

render your changes

(as long as c3nav is not running full setup environment)

  • python manage.py processupdates
  • restart server

install (full functional setup)

[c3nav]
svg_renderer=rsvg

currently no complete and up to date instructions available.

configuration

take a look at the available config options in https://github.com/c3nav/c3nav/blob/main/src/c3nav/settings.py

  • some can be set via environment variables
  • all can be set inside of the correct section in your config.cfg file

guide

start mapping

Get a reference map/plan which you use a base for creating your map and put it into the sources folder inside your data directory.

  • mv ../yourSourcePlan.png c3nav/src/data/sources/
  • restart server
  • add image as source, try to use correct scaling Note: Enable direct editing before Adding/Editing the sources/layers. Else you get a 500 server error due to a bug. https://github.com/c3nav/c3nav/issues/172

API

there is an API endpoint documentation/overview available at https://your-c3nav-domain.example.com/api/

editor

changesets

All changes to the map happen inside a changeset (unless you enable direct editing, needs permission for that). per user/device only one changeset can be active.

If you edit the map and you don't have an active changeset, a new one will be automatically created and set active.

If you finished editing you may submit your changeset, where it will be reviewed before it gets applied by an admin to get live. After submission your changeset is locked against modification, but is still active for your session. If you want to continue editing, you must either redraw your submission or deactivate the changeset (so it stays submitted for review) and a new one for your next modifications will be create.

adding objects/POIs

you first have to select the matching level and room before adding areas or other POI in it.

editing polygons

if you create a new polygon you have to click on the first vertex to close it. (else the save button for the entity is also deactivated)

if you drag a vertex while holding the Ctrl key it snaps at 15° angels.