Difference between revisions of "Features"
Jump to navigation
Jump to search
m (Created page with "Client features: Server features: Category:Overview") |
|||
Line 1: | Line 1: | ||
− | + | == 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. | ||
− | |||
[[Category:Overview]] | [[Category:Overview]] |
Latest revision as of 20:14, 18 February 2013
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.