~pecha-pub-devs/pecha-pub/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Features
========

Implement a backup strategy
 * Task:
   - add one for the CompressedProject class
   - see if there's any shared code and if so, put it in BaseProject

Add support for sessions
  * Task: add tables and models for session data

Define pecha publisher project
 * Task: identify files
 * Task: identify required metadata

Add support for compressed pecha publisher project
 * Task: save a project as a compressed file (.ppf)
 * Task: define a standard method for extracting .ppf files as necessary
 * Task: open a project from a compressed source without writing contents to
   disk
 * Task: access all files in compressed .ppf file without needing to write them
   to disk unless a contained file needs to be written to
 * Task: update (write to) all files in a compressed .ppf file, including the
   SQLite database
 * Bug: text files in compressed projects are being duplicated; if manually
   unzipped, one is prompted to overwrite files that were just unzipped. It
   looks like this is happening because of a flattening of the directory
   structure... these aren't really duplicate files; one set belongs in
   MyPecha.ppf/content/text and the other belongs in
   MyPecha.ppf/backup/project/DATE-MyPecha.ppf/content/text. It seems that only
   the "text" directory is being created in the programmatically generated zip
   file (compressed .ppf).
 * Task: add support for compressing nested directories (this should fix the
   bug above).

Later
=====

* Add support for file locking:
   - possibility: http://code.activestate.com/recipes/65203-portalocker-cross-platform-posixnt-api-for-flock-s/
   - this is exactly what I was envisioning: http://www.voidspace.org.uk/python/pathutils.html#file-locking (pathutils)
* Convert sandbox pango-richtext to use HTML instead of Pango markup, so that
  RTF texts can get converted to HTML using existing tools.