You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.3 KiB
85 lines
3.3 KiB
FOR VERSION 0.2
|
|
===============
|
|
|
|
- use memNewRef instead of memcpy wherever possible. This should
|
|
improve the performance again. On the other hand. Don't stop
|
|
thinking before doing any memory transfers at all.
|
|
|
|
- build a json parser and builder...
|
|
There are several solutions out there but I think it will be best
|
|
to use my own one that nicely fits into the rest of this code.
|
|
|
|
A json builder and parser are different things with different effords.
|
|
- parser: a state machine that might either fill a data structur in a
|
|
given way or calls callbacks with the relevant informations.
|
|
|
|
I just tought about is and have decided to create a json class
|
|
which consists only of a void pointer that is the root element
|
|
of the json data and an information about what type it is.
|
|
This will be a JsonValue. A json value always contains the type
|
|
of the value as well as a representation of the value itself.
|
|
The might be string, number(which also includes true and false),
|
|
hash or array. A value of type hash will be indexed by strings and
|
|
might hold arbitrary JsonValues as its values. The array is a NULL
|
|
terminated array of JsonValues.
|
|
|
|
OK, that has the drawback that I need to organize the data structures
|
|
of my other classes to be json capable.
|
|
|
|
Another idea. I create an interface "initjson" or something like this.
|
|
This interface must define the methods to set given data by json
|
|
values. A list of these might be:
|
|
- start_hash
|
|
- start_array
|
|
- end_hash
|
|
- end_array
|
|
- key
|
|
- value
|
|
|
|
- a set of helper methods that serialize given data into a json string
|
|
representation.
|
|
|
|
- Let a user being able to create tasks and get them again after login.
|
|
|
|
- Implement roles and role based access model.
|
|
|
|
- Create management for roles.
|
|
|
|
- Give a user the ability to open tasks to other users / roles....
|
|
|
|
- right now i will use long polling ajax calls when feedback from to the client
|
|
is needed. In the long term this should be changed to websockets (ws). But
|
|
right now ws specification is not final anyway. :) (optional)
|
|
|
|
- IPV6 support (optional)
|
|
|
|
FOR VERSION 1.0
|
|
===============
|
|
|
|
- support for multiple worker processes. (optional)
|
|
- I need a distributed storage system and a way to distribute
|
|
sessions to be able to scale horizontally.
|
|
I first thought about using couchdb, but I think I will try
|
|
to implement a network layer over gdbm.
|
|
This will result in a small daemon handling connections to
|
|
various gdbm files and a bunch of connected clients.
|
|
Over one client connection several gdbm database files
|
|
might be accessed. Each request might send the file handle
|
|
to the database file which it first gets via ngdbm_open.
|
|
In fact I think I will create a one to one mapping of
|
|
gdbm commands to network requests and the client lib will
|
|
provide each gdbm function just with a 'n' prefix.
|
|
All this might result in either synchronization or performance
|
|
problems but at least I will give it a try.
|
|
|
|
SOONER OR LATER
|
|
===============
|
|
|
|
- Cookie discloser....(this is used everywhere now)
|
|
======
|
|
Cookie Disclosure
|
|
This website uses cookies. By continuing to use the website,
|
|
you consent to the use of cookies.
|
|
[link]Learn More (on the UPS page this links a pdf document)
|
|
[link]Do not show this message again(disable showing of this message)
|
|
======
|