Konviw Logo

Enterprise public viewer for your Confluence pages.

Konviw, a Confluence viewer

It comes from the abreviation of Confluence Viewer and the word conviu (coming from Catalan and pronouced /koɱˈviw/) which means coexist en English.

Konviw is the right companion for your Confluence private cloud instance

Introduction

Konviw is an open source public viewer for Confluence pages in Enterprise private networks created by Sanofi IADC. We created it to provide an easy way for our end users to read Confluence pages without the clutter of going to Confluence.

Features

  • Simplified REST API providing a read-only access to search pages and retrieve page content
  • Page content rendered with configurable CSS stylesheets, zoomable images, draw.io diagrams preview, web statistics, reading progress...
  • Nicer blog pots with image header, tagline, author and read time estimation
  • Slides (thanks to reveal.js) from a Confluence page

Use cases

  • Headless CMS via Confluence
  • Corporate blogs
  • Cool tech sessions with stunning presentations on the Web

Roadmap

  • [ ] Plugin system
  • [x] Comments
  • [ ] Dockerized deployment
  • [x] Make the 'perf_hooks' measurement optional via .env configuration
  • [x] Jira macro renders issues as a searchable table

Architecture

Konviw implements a proxy http(s) webserver that handle requests to view Confluence pages (NestJS controller) on one hand and resolves them by calling the Confluence content API end-points (NestJS service) and formating them to be visually appealing.

This sequence represents the common steps handled by the proxy server:

  1. A user request a Confluence page via the Page ID.
  2. The Proxy page service request a new page to the Confluence API service.
  3. The Confluence API service calls the Confluence API and expands some fields with special focus on 'body.view' which returns the HTML version of the page.
  4. The Proxy page service starts from the initial version of the HTML returned by the API and goes thru a sequence of steps to reformat the page accordingly to our needs.
  5. Example of transformations are fixEmojis, fixDrawio, fixExpander... or addCustomCss, addHighlightjs...
  6. After all the transformations are applied the HTML page is returned to the user browser.

For a more detailed deep dive check the docs section for the konviw architecture.

Tech Stack

  • Nest.jsopen in new window. A progressive Node.js framework for building efficient, reliable and scalable server-side applications. Guess what, we use NestJS to serve the backend proxy.

Nest Logo

Nest Logo

Installation

$ git clone https://github.com/Sanofi-IADC/konviw.git

$ cd konviw && npm install

$ npm run build

$ npm run start

For configuration check the detailed installationopen in new window.

How to contribute?

CIopen in new window Sonarcloud qualityopen in new window MIT Licenseopen in new window Gitpod ready-to-codeopen in new window

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more hereopen in new window.

Reveal.js is a MIT-licensed open source HTML presentation framework copyright (C) by Hakim El Hattab, (https://hakim.se). Support the project via GitHub Sponsorsopen in new window.

Cheerio is a MIT-licensed open source blazingly fast DOM parser for nodejs servers. Support the project via GitHub Sponsorsopen in new window

License

MIT licensedopen in new window made by Sanofi IADC

Last Updated:
Contributors: Krystian Kędra