Changes between Initial Version and Version 1 of JuergeN


Ignore:
Timestamp:
14.07.2011 19:57:59 (9 years ago)
Author:
JuergeN
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • JuergeN

    v1 v1  
     1[[JuergeN | Jürgen Neumann]] <j.neumann{at}junes{dot}eu> 
     2----- 
     3 
     4[[PageOutline]] 
     5 
     6= Notes from Gilleleje 09./10.07.2011 = 
     7 
     8 * HTML5 approach for user-interface is the right direction 
     9 * A text based interface would be cool for testing (Eclipse?) 
     10 * What can we learn from LDAP especially in terms of LDIF and syncronisation? 
     11 * We need a glossary. What is a workspace (=domain?)  
     12 * Associations may also be functions or transformations. How could this be handled in the user-interface? 
     13 * Workspaces could suggest predefined ACL settings like a private, family or job workspace 
     14 * What hooks do we need? cron, timer, event handler ...  
     15 * Can we use OWL? What would be missing? 
     16 * Describe a valid file for ObjectClass, AssociationType and their instances 
     17 * Binary Content shall be stored in filesystem or in database like Couche-DB (including full-text index and versioning) 
     18 * make concept for versioning (of content) 
     19 * Define more pre-defined edges (like order or critical path) 
     20 * change edges to Bezier curves 
     21 * adding weight to edges could be useful 
     22 * Do we switch to a new Version 4.0? 
     23 
     24== Urgently Missing Concepts for Operational Platform == 
     25 
     26== Security Concept == 
     27Especially today with all the myfaces and other social networks out there, the sensitivity for data security is widely rising. Not just for that reason, but also because it is my personal precondition, I want DeepaMehta to be a very secure application. Therefore I think that the following concepts should all go into the core of DeepaMehta and no workarround should be implemented at any time or for any reason. In a later version we might even implement a GPG like public private key data encryption. 
     28 
     29 
     30=== User Concept === 
     31 
     32Every operation in DeepaMehta should be done by an identified user. Users (and groups) should be handled through UID (and GID) 
     33 
     34 
     35{{{ 
     36 SYSTEM 
     37   | 
     38  root  
     39   | 
     40  user(n) 
     41   | 
     42 anonymous 
     43   | 
     44 nobody(?) 
     45}}} 
     46 
     47Every user should have their own group (like in UNIX) 
     48 
     49=== Secure Passwords === 
     50 
     51Passwords should be stored securely, hashes with salt etc. (do research) 
     52 
     53=== Operations === 
     54 
     55We need to define a list of valid operations such as 
     56 * create 
     57 * modify 
     58 * delete 
     59 * view/read 
     60 * search/scan 
     61 * compare(true/false) 
     62 
     63=== Roles === 
     64 
     65Valid operations should be defined through roles, like 
     66 
     67 * administrator 
     68 * creator 
     69 * owner 
     70 * peer/manager/editor 
     71 * everyone 
     72 
     73Roles should be assined to users and groups. 
     74 
     75 
     76=== Attributes === 
     77Every object should have a set of attributes, e.g. 
     78 * create time 
     79 * modify time 
     80 * access time 
     81 * creator 
     82 * owner 
     83 * ro 
     84 * hidden 
     85 * private 
     86 * isolated (cannot be linked) (?) 
     87 * label (?) 
     88 
     89{{{ 
     90Example: 
     91         _                   _ 
     92 object (_)-----------------(_) user 
     93            attribute:owner 
     94 
     95}}} 
     96  
     97=== Access Control Lists === 
     98Every object (nodes and edges) shall have ACLs.  
     99 * Group A: read only (ro) 
     100 * Group B: read write (rw) 
     101 * everyone: read only (ro) 
     102 
     103Questions: How do ACLs relate to edges? May one see the association to a hidden object? 
     104 
     105ACLs can be set on user and group level. 
     106 
     107=== Locations === 
     108 
     109Operations could be limited through location address (localhost, 192.168.0.1, etc.), Just like in Apache or 'MySQL'