The Forest Wiki is a tree of wiki pages, images, and files. Pages are edited with a WYSIWYG editor, with markdown, or as html. Page names (slugs) are unique, so every page can be accessed by both its hierarchical path, and by its shorter canonical url at /slug. One can rearrange branches of the tree. When rearranging the tree, the canonical urls stay the same.
There are several different page types. Monolingual pages can be edited with a WYSIWYG editor, or with the more technical syntax checking ace editor. Multilingual pages are edited with a WYSIWYG editor, and are displayed based on browser language preferences. Markdown pages are also available.
Security is an important strength of the Forest Wiki. Users can be given permissions on a branch of the tree, making it easy to organise large groups of people to work on a shared web site and not step on each other’s toes. In GreenMaps.US this allows us to give the appropriate hierarchical edit permission to candidates, local parties, state parties or national party members.
Page history is preserved until packing. One can thus revert to a previous version of a page.
The forest wiki uses an embedded database, so there is only a single process, making it very easy to install and manage. It is also possible to run it on PostgreSQL.
The Forest Wiki is a first cousin to Plone. It is based on Zope.Interface and Pyramid’s Venusian libraries. Souheil Chelfough spent 5 years rewriting the core libraries. Christopher Lozinski spent another 5 years polishing up the application.
It is very easy to add new content types to the Forest Wiki. So you can build custom applications on top of it. The Forest Wiki has been heavily used as the basis for other applications. . GreenMaps.US is a hierarchical model of the US Green Party. UncensoredNews.us aggregates and curates RSS feeds in order to circumvent media censorship.
Sadly there is no business model for the Forest Wiki. Instead there is a political model. The web suffers from over reliance of large centralized applications, and their algorithms which often censor or feed us propaganda. LinkedIn, Facebook, Twitter, Reddit, Discord and YouTube. The solution to this problem is to decentralize and distribute content. The Forest Wiki presents a simple tree model of content. It is quite easy to link such trees together, or copy branches of trees from one site to another, eventually signing content with keys, and distribute it widely.
The Forest Wiki also has a social model. It will be so nice to start going to Python Conferences again, and meet up with all of my old friends.