Features
Jump to navigation
Jump to search
Contents
Goals
This is the full program; see below for what v0.1 will have.
Architecture
- client-server architecture
- servers (hosted by local communities) form a robust network with a protocol based on TCP/IP and redundancy of nodes
Knowledge sharing
- knowledge is modeled as objects, more precisely, we have these (k)nowledge categories
- kclass
- kinstance
- kcopy (same kinstance, only minor differences like different place or color)
- krelation
- ktopic
- user
- group
- space+time
- tasks
- searches
- each object resides on a master node and a few slaves
- objects have have ACLs
Trust, privacy
- between communities and thus between server nodes
- local communities take care of privacy of its members
Communication
- simple instant messaging between users (maybe jabber integration)
- anything that can be read can be commented
Technology
- use websockets and alternatively XHR (with one long polling connection)
- designed to run on GNU/Linux systems or other systems supporting postgresql and python and having a broadband connection to the internet
Implementation
This is the rough roadmap.
v0.1
v0.1 will be the first developer release with these features:
- working client-server framework
- modular server architecture using python multiprocessing and rarely threading (controller, request handler, workers, cache)
- modular client architecture
- base client-server protocol (JSON)
- session handling
- kclasses: CRUD
- kclasses: inheritance
- kclasses: texts
- kclasses: various data types
- kinstances, kcopies: CRUD
- kinstances, kcopies: texts
- kitem managers (internally)
- caching
v0.2
- undo
- krelations
- comments
v0.3
- access control
- users
- groups
v0.4
- searching
v0.5
- command line client
up to v1.0
- The current version of the server software is still standalone.
- There is just one client software package wich is not suited for smartphones.
- The client horribly violates accessibility principles (WCAG); other clients will have to be written.