| 71726d78 | 30-Aug-2006 |
Ben Coburn <btcoburn@silicodon.net> |
scalable changelog redesign
This patch provides a rewritten changelog system that is designed to run efficiently on both small and large wikis. The patch includes a plugin to convert changelogs from
scalable changelog redesign
This patch provides a rewritten changelog system that is designed to run efficiently on both small and large wikis. The patch includes a plugin to convert changelogs from the current format. The conversion is non-destructive and happens automatically. For more information on the new changelog format see "http://wiki.splitbrain.org/wiki:changelog".
Structure In short the changelog is now stored in per-page changelog files, with a recent changes cache. The recent changes cache is kept in "/data/meta/_dokuwiki.changes" and trimmed daily. The per-page changelogs are kept in "/data/meta/<ns>/<page_id>.changes" files. To preserve revision information for revisions stored in the attic, the "*.changes" files are not removed when their page is deleted. This allows the full life-cycle of page creation, deletion, and reversion to be tracked.
Format The changelog line format now uses a general "line type" field in place of the special "minor" change syntax. There is also an extra field that can be used to store arbitrary data associated with special line types. The reverted line type (R) is a good example. There the extra field holds the revision date used as the source for reverting the page. See the wiki for the complete syntax description.
Code Notes The changelog functions have been rewritten to load the whole file only if it is small. For larger files, the function loads only the relevant chunk(s). Parsed changelog lines are cached in memory to speed future function calls.
getRevisionInfo A binary search is used to locate the chunk expected to contain the requested revision. The whole chunk is parsed, and adjacent lines are optimistically cached to speed consecutive calls.
getRevisions Reads the changelog file backwards (newest first) in chunks until the requested number of lines have been read. Parsed changelog lines are cached for subsequent calls to getRevisionInfo. Because revisions are read from the changelog they are no longer guaranteed to exist in the attic.
(Note: Even with lines of arbitrary length getRevisionInfo and getRevisions never split changelog lines while reading. This is done by sliding the "file pointer" forward to the end of a line after each blind seek.)
isMinor Removed. To detect a minor edit check the type as follows: $parsed_logline['type']
darcs-hash:20060830182753-05dcb-1c5ea17f581197a33732a8d11da223d809c03506.gz
show more ...
|
| 3cb4b39f | 09-Aug-2006 |
Ben Coburn <btcoburn@silicodon.net> |
Add AJAX_CALL_UNKNOWN event
Allows action plugins to support custom ajax calls. The event data is the call name from $_POST['call']. When handling a custom ajax call, remember to use $event->prevent
Add AJAX_CALL_UNKNOWN event
Allows action plugins to support custom ajax calls. The event data is the call name from $_POST['call']. When handling a custom ajax call, remember to use $event->preventDefault(); to avoid having the 'AJAX call <call> unknown!' message appended to the output.
darcs-hash:20060809194501-05dcb-0082e4f2a83fc8657fc7cdcf32d44aac8d1a6b99.gz
show more ...
|
| 7a24876f | 07-Aug-2006 |
Andreas Gohr <andi@splitbrain.org> |
make image details indexable
darcs-hash:20060807205738-7ad00-5492ba5fe3e854f9dc233254535e4e897847353c.gz |
| e5cafda0 | 31-Jul-2006 |
Andreas Gohr <andi@splitbrain.org> |
fix in JS compressor
This fixes a problem with escaped backslashes in single and double quote strings.
darcs-hash:20060731223008-7ad00-ebae61a00115b7f32c12eb9355059a1ecf467cd3.gz |
| 0d353189 | 31-Jul-2006 |
Andreas Gohr <andi@splitbrain.org> |
spellchecker CSS changes #539 #824
This patch now assigns the needed proprietary CSS attributes for the spellchecker through JavaScript. This makes the CSS valid again (at least it appears to be ;-)
spellchecker CSS changes #539 #824
This patch now assigns the needed proprietary CSS attributes for the spellchecker through JavaScript. This makes the CSS valid again (at least it appears to be ;-)) I also fixed a problem with leading single spaces in IE
darcs-hash:20060731192807-7ad00-b82bdcae9a0c8cf063c3a1e985dbfd1dfdee7b06.gz
show more ...
|
| d98d4540 | 10-Jul-2006 |
Ben Coburn <btcoburn@silicodon.net> |
fixing undefined variables
Fixing undefined variable notices and sometimes the underlying error that produced them.
darcs-hash:20060710114655-05dcb-073948171847f1f43f153e96c8382abd421da36a.gz |
| cc7d0c94 | 05-Jul-2006 |
Ben Coburn <btcoburn@silicodon.net> |
IO action events
Adds page and namespace events: IO_WIKIPAGE_READ IO_WIKIPAGE_WRITE IO_NAMESPACE_CREATED IO_NAMESPACE_DELETED
The namespace events are purely advisory, while the wikipage ev
IO action events
Adds page and namespace events: IO_WIKIPAGE_READ IO_WIKIPAGE_WRITE IO_NAMESPACE_CREATED IO_NAMESPACE_DELETED
The namespace events are purely advisory, while the wikipage events allow page content to be modified between DokuWiki and the disk.
These events are primarily intended to simplify keeping other tools in sync with the semantic structure of a DokuWiki site. As an added benefit, the events allow plugins to conduct automated processing of raw wiki page content.
The namespace events cover the separate namespace trees for both pages and media. The "name" of the tree that the event belongs to is included in the event data.
darcs-hash:20060705105652-05dcb-f44024e852a2adf1a14b8a7d69c46db067e72307.gz
show more ...
|
| fd0cab2e | 01-Jul-2006 |
Andreas Gohr <andi@splitbrain.org> |
check if ignore_user_abort was successful (maybe fix for #852)
darcs-hash:20060701120325-7ad00-07efe9cacd51043ad95d8d2d71d8680036721286.gz |
| 4ad141d6 | 28-Jun-2006 |
Michael Klier chi@chimeric.de <andi@splitbrain.org> |
use template name along with CSS cache file name
darcs-hash:20060628094419-484ab-148d62ec3e29deb7ca9fa9b787c238a1d73bc4e3.gz |
| 3f4c2ce3 | 19-Jun-2006 |
chris <chris@jalakai.co.uk> |
js.php fix
- correct begin/end comment, plugin filename wasn't being used - add file exists check, to avoid bloating js with comments for non-existent plugin js. Many (most?) plugins don't have ja
js.php fix
- correct begin/end comment, plugin filename wasn't being used - add file exists check, to avoid bloating js with comments for non-existent plugin js. Many (most?) plugins don't have javascript.
darcs-hash:20060619104613-9b6ab-08a570cdbb0d6441f1caa71766d4c59c73828835.gz
show more ...
|
| 5cafff96 | 16-Jun-2006 |
Andreas Gohr <andi@splitbrain.org> |
better onload handling
This patch improves the way the window.oninit JavaScript function is called. This function is used to initialiaze all JavaScript funcions attached to the DOM so it needs to be
better onload handling
This patch improves the way the window.oninit JavaScript function is called. This function is used to initialiaze all JavaScript funcions attached to the DOM so it needs to be executed **after** the full DOM was parsed by the browser. Unfortunately currently only Mozilla supports a DOMContentLoaded event. In all other browsers we had to wait for the window.onload event which will only be called after **all** content (including images) was loaded - this caused a visible delay on all JavaScript generated content (like the toolbar) in non-Mozilla browsers.
Dean Edwards now presented a solution [1] which will work for all the bigger Browsers and is used in this patch.
The following browsers now should fire the init event right after parsing the DOM:
All Mozilla based browsers Internet Explorer Safari Opera >
darcs-hash:20060616104539-7ad00-db70d31fcb21cb812cf4982fe80a7d649e2daa1c.gz
show more ...
|
| 847b8298 | 15-Jun-2006 |
Andreas Gohr <andi@splitbrain.org> |
$conf['fetchsize'] added
This patch adds an option to configure the maximum size for files the fetch.php will ever download. Setting this to 0 completely turns of the caching of external media files
$conf['fetchsize'] added
This patch adds an option to configure the maximum size for files the fetch.php will ever download. Setting this to 0 completely turns of the caching of external media files.
Disadvantages of setting a low or zero fetchsize:
* fetch.php needs to download images to be able to resize them. When the used fetchsize prevents the downloading the images can only be resized by the browser which means the browser will need to download the fullsized image first.
* If the linked external media files vanishes it will no longer display in the wiki because it is not cached.
Advantages of setting a low or zero fetchsize:
* fetch.php may be used for a possible denial of service attack by requesting many big external files.
* The created cache files may take a lot of space on the server
I recommend to leave the setting at 2MB for internal and private wikis and lower the setting to about 200 to 500 Kb for bigger public Wikis.
Note: the caching of files uploaded through the media manager is not affected by this setting.
darcs-hash:20060615184847-7ad00-04fc39928f7d72e56f5c5e271013ef265436e6c9.gz
show more ...
|
| 1e68a7fe | 04-Jun-2006 |
Andreas Gohr <andi@splitbrain.org> |
fix for serious security bug #823
darcs-hash:20060604175833-7ad00-cd96ba6a7db7211082ff82e189828e2e11a6f566.gz |
| 0280d25b | 29-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
fixed google sitemap pinging #815
darcs-hash:20060529183003-7ad00-de0e3acac75a9f94f6c27f67651eeabe40411d7a.gz |
| 8d975344 | 27-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
usability enhancements for the loginform #803
darcs-hash:20060527185238-7ad00-1593c8b25d7f870c8a0b3017fbcf29c4e047f52c.gz |
| 45be45c5 | 27-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
small improvements on JS compressor (maybe fixes #807)
darcs-hash:20060527140157-7ad00-225a9ba66f658cc279cb44ebb04d483291d567d2.gz |
| 10eae714 | 26-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
fix for sitemap creation #813
darcs-hash:20060526223358-7ad00-2bdfd39a5dd8ca09101288834cc75e5e963afda5.gz |
| 9f420521 | 25-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
fixed an AJAX problem for the media manager
darcs-hash:20060525175501-7ad00-eebd033af344904eab32fe70ba5acfb77b94eada.gz |
| cf6894df | 25-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
more mediamanager fixes
This fixes some styling issues, the cookie handling and a bug in the JavaScript caching mechanism.
darcs-hash:20060525144000-7ad00-2f0b673d4f747c979f460e4e927a50eeeae81ec1.gz |
| 7b877f51 | 20-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
minor media manager tweaks
darcs-hash:20060520172118-7ad00-ad605bf51c8774d734012ece0071f70e6624788a.gz |
| 3138b5c7 | 19-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
moved gzip compression to init.php
darcs-hash:20060519212751-7ad00-ace54b61706fdf4f1b7c2abdbabee215a1e256ab.gz |
| 3df72098 | 19-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
new mediamanager
This patch adds a completely rewritten media popup. The following noteworthy changes were made:
- media manager uses a collapsible namespace tree - media manager uses AJAX if avail
new mediamanager
This patch adds a completely rewritten media popup. The following noteworthy changes were made:
- media manager uses a collapsible namespace tree - media manager uses AJAX if available - media manager popup can be kept open when selecting a media file - only one template is used for the media manager :!: Template - Editable image metadata is configured in conf/mediameta.php now - The JS cookie mechanism was enhanced to store key/value pairs - Language strings can be exported to JS in js.php
darcs-hash:20060519165023-7ad00-4932b4553fc919aa4a8b8187958b823acf4f8cee.gz
show more ...
|
| 2b03e74d | 16-May-2006 |
Ben Coburn <btcoburn@silicodon.net> |
jpg quality option
- Adds a jpg quality setting for scaled images (Some images were getting too many jpg artifacts at the hard-coded compression setting.) - Creates a group for the medi
jpg quality option
- Adds a jpg quality setting for scaled images (Some images were getting too many jpg artifacts at the hard-coded compression setting.) - Creates a group for the media settings in the config plugin.
darcs-hash:20060516062321-05dcb-a175b0de3264322a335cf60d8ee96317f7b03144.gz
show more ...
|
| 7421c3cc | 11-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
more info is gathered on metaupdate in background indexer
The background indexer now gathers info on contributors and modification dates from the changelog when adding the missing meta info.
A new
more info is gathered on metaupdate in background indexer
The background indexer now gathers info on contributors and modification dates from the changelog when adding the missing meta info.
A new io_grep function was added which might be useful for other parts in the Wiki as well.
darcs-hash:20060511191450-7ad00-baba1b48ea03b823c88a480862c612316f159b5a.gz
show more ...
|
| b1a4fe22 | 07-May-2006 |
Andreas Gohr <andi@splitbrain.org> |
empty default title for inserted images #770
darcs-hash:20060507165308-7ad00-3526c8c4e5d8c10a8e003068008e2344e94e1739.gz |