VQWiki

Create persistence framework

Details

  • Type: Task Task
  • Status: In Progress In Progress
  • Priority: Blocker Blocker
  • Resolution: Unresolved
  • Affects Version/s: 3.0
  • Fix Version/s: 3.0
  • Component/s: Storage, General
  • Labels:
    None

Description

We need to create a basic persistence implementation. This should contain the PersistenceManager, FilePersistenceManager and DatabasePersistenceManager classes.

A Topic object should have a method like "saveTopic" which uses an instance of the PersistencyManager class to save the topic contents to either the file system or the database depending on the settings in the admin section.

Issue Links

Activity

Hide
Martijn van der Kleijn added a comment -
assigned a component to the issue
Show
Martijn van der Kleijn added a comment - assigned a component to the issue
Hide
Martijn van der Kleijn added a comment -
Persistency components are needed for file-based and database-based perssistency.

- File-based persistency should be forced to UTF-8 by default and an option should be there to change that to a user-specified setting.
- All virtual wiki's (including default) have their own subdirectory.
- Topic content is stored in files named as follows: <safe-encoded topicname>.<date>.txt
- Topic meta data is stored in files named as follows: <safe-encoded topicname>.xml
- Topic meta data files are stored in a seperate "meta" directory
Show
Martijn van der Kleijn added a comment - Persistency components are needed for file-based and database-based perssistency. - File-based persistency should be forced to UTF-8 by default and an option should be there to change that to a user-specified setting. - All virtual wiki's (including default) have their own subdirectory. - Topic content is stored in files named as follows: <safe-encoded topicname>.<date>.txt - Topic meta data is stored in files named as follows: <safe-encoded topicname>.xml - Topic meta data files are stored in a seperate "meta" directory
Hide
Martijn van der Kleijn added a comment -
Work was started on the file based persistency. Database persistency is moved back for later work.
Show
Martijn van der Kleijn added a comment - Work was started on the file based persistency. Database persistency is moved back for later work.
Hide
Andreas Studer added a comment -
Hello Martijn

- Is the information of the last editor (username) in the metadata?
- Will the metadata be versioned too?
- Including the date in the filename is a chlever idea but how good is the performance if you have alot of topics? At the moment we open a specific file precisely defined with a one-shot-filename. If the date is included in the filename, we need to make some sort of filename-query like "<safe-encoded topicname>.*.txt" in the folder for every access.
- Don't forget to put old versions in a separate version folder. I would separate this because it is the part you'll put into an archive from time to time ;-). If it is not separated, it's hard to find the right ones to archive. At least I would need a script for that. ;-)

Cheers

Andreas
Show
Andreas Studer added a comment - Hello Martijn - Is the information of the last editor (username) in the metadata? - Will the metadata be versioned too? - Including the date in the filename is a chlever idea but how good is the performance if you have alot of topics? At the moment we open a specific file precisely defined with a one-shot-filename. If the date is included in the filename, we need to make some sort of filename-query like "<safe-encoded topicname>.*.txt" in the folder for every access. - Don't forget to put old versions in a separate version folder. I would separate this because it is the part you'll put into an archive from time to time ;-). If it is not separated, it's hard to find the right ones to archive. At least I would need a script for that. ;-) Cheers Andreas

People

Watch (0)

Dates

  • Due:
    Created:
    Updated: