Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-13) was last changed on 26-Sep-2007 23:36 by JanneJalkanen  

This page was created on 01-Sep-2003 16:51 by 212.226.212.119

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 8 changed one line
* Page and Attachment provider implementations can differ
* Page and Attachment provider implementations (how these should behave is not strictly controlled)
At line 10 changed one line
* Cache configuration errors make life difficult
* Cache configuration problems
At line 16 added one line
!!Page api
At line 18 added 36 lines
There are currently multiple requests to fill out the provider data on a page. Sometimes a (remote) call to request one property of a page is so expensive that returning more information than requested doesn't cost anything. Like loading the page content even if only a request for page existance is needed.
I consider the following to be properties of a page (there might be more):
* ACL
* versions
* content
* creator
* timestamp
* subpages/attachments are just pages which inherit their ACL from the master page
** getAllPages should really load these also
When requesting one property of a file it should be possible to fill out more properties
than absolutely needed as it might be practical to do that. The simplest providers would
probably fill the whole structure no matter what is requested.
All pages (existing or nonexisting) would be objects implementing an interface capable of returning all this information as the page content permits.
At we just fill a WikiPage structure and pass it to various providers that then request
data relating to the page. This is very inefficient and causes multiple expensive DB requests when rendering pages.
!!Cache
The cache needs to approach the pages as intelligent objects when doing expiration of
page content. Calling refresh(), instead of reloading the page once it needs possible freshening. This way the page can use possible intelligence of the underlaying database or filesystem to check if it needs to refresh or invalidate some data. There are some issues
that need to be checked when actually implementing this as some parts of data may expire
at different times.
!!Implementation
The current WikiPage object already implements most of the queries. WikiPage could actually act as an interface to the actual data. This might cause some problems as WikiPages can get created dynamically without actually communicating with a provider? Therefore a WikiPageContentProvider (having problems figuring out a good name) interface is probably needed.
There needs to be a master database connection and a place where to request a list of pages (including the subpages, even if they are currently handled by a different provider). This functionality is needed by all the WikiPageContentProviders in order for them to get data and to verify data validity.
!!Pros & conds
||Ptro
Version Date Modified Size Author Changes ... Change note
13 26-Sep-2007 23:36 6.447 kB JanneJalkanen to previous
12 26-Sep-2007 02:38 6.466 kB 207.44.238.95 to previous | to last
11 26-Sep-2007 02:37 6.458 kB 63.241.9.240 to previous | to last
10 28-Jan-2004 12:24 6.447 kB Bebbo to previous | to last
9 02-Sep-2003 10:56 6.245 kB JanneJalkanen to previous | to last
8 02-Sep-2003 10:54 6.149 kB JanneJalkanen to previous | to last
7 01-Sep-2003 18:53 5.717 kB AikoMastboom to previous | to last
6 01-Sep-2003 18:08 4.273 kB 212.226.212.119 to previous | to last
5 01-Sep-2003 18:04 4.115 kB 212.226.212.119 to previous | to last
4 01-Sep-2003 17:53 3.417 kB 212.226.212.119 to previous | to last
3 01-Sep-2003 17:13 0.996 kB 212.226.212.119 to previous | to last
2 01-Sep-2003 17:02 0.755 kB 212.226.212.119 to previous | to last
1 01-Sep-2003 16:51 0.634 kB 212.226.212.119 to last
« This page (revision-13) was last changed on 26-Sep-2007 23:36 by JanneJalkanen