Features

From cosmopool meta
Jump to navigation Jump to search

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.