XMLTagsEditHistoryDiscussion

  1. Introduction
  2. 2007
    1. 06
      1. 22
    2. 05
      1. 31
      2. 30
      3. 29
    3. 04
      1. 19
      2. 15
      3. 14
      4. 01
    4. 03
      1. 30
      2. 17
      3. 16
      4. 15
      5. 14
      6. 11
      7. 02
    5. 02
      1. 27
      2. 20
      3. 14
      4. 11
      5. 01
    6. 01
      1. 31
      2. 29
      3. 28
      4. 27
      5. 26
      6. 25
      7. 24
      8. 17
      9. 16
      10. 15

Introduction

An old list of old changes made to svnwiki. At this point the changes are being documented in The Svnwiki Changes weblog.

2007

06

22

i18n
We now use gettext throughout the wiki. I'm not sure the list of dependencies in the documentation for installing the Svnwiki are correct now, since we now require more logic. Arhuaco helped wrap all strings in a (svnwiki-translate env ...) form.
Better handling for symlinks
Two improvements were made. First, if one commit removes a file and adds it as a symlink, Svnwiki previously failed to removed its associated files. This has been fixed. Secondly, we don't update backlinks and tags for links.

05

31

Better handling for some conflicts
Suppose an edit form is loaded at revision 20 to create a new file, a commit is made to the file by someone else and then the form contents are submitted. Subversion doesn't handle this type of conflicts as it does with the others (using the “»» mine” text): instead, the update from version 20 to HEAD as the form is commited fails. This type of conflict wasn't handled very gracefully by Svnwiki: it would just 500 Internal Server Error, as a svn-update command failed. Now it detects this type of error. If the file is a discussion, Svnwiki just appends the new comment at the end. If the file is not a discussion, Svnwiki shows the usual “buzz, conflict” message.
Fix for locking code
The previous code for locking a working copy used the directory for the working copy itself. However, this is problematic: if a svn update fails, the directory will be unlinked but other processes waiting for a lock will already have an open file descriptor for it to attempt to lock it. A new process will create a new directory and lock that. So you could end up having locks on different files. Now we use $DATA/lock-$PROGRAM for the locks.

30

Fix bug in svnwiki:rss:include
There was a bug in the way this property was being handled, that was fixed.

29

Fix bug in list handling
Fixed a bug in the stream-wiki egg that sometimes caused it to improperly handle lists.
Use AJAX for tags (folksonomies)
Finally, we are using AJAX for the related pages functionality. The pages no longer contain the list of all the other pages they share tags with. Instead, when you click on a tag, a JS downloads the XHTML file, extracts the list of pages with that tag from it and displays it. This should greatly speed up some operations in the wiki: previously, when you added a tag to a page, all pages with the same tag had to be regenerated. This is no longer the case.
Set type correctly in RSS files
Now the type parameter in the content entries in the ATOM/RSS files is set correctly, based in the svn:mime-type property. It seems lots of readers where misbehaving before because binaries where being incorrectly reported as type HTML.
Better XHTML generation
Now the html tag has the appropriate parameters, allowing Mozilla to correctly show an XHTML file in the wiki.

04

19

Support svnwiki:rss:include property
Added support for this property, which gives users more control over what gets included in RSS files.

15

Usability improvements in “Identity”
I improved the form for authentication, it should be easier to use for people not familiar with Svnwiki/Subversion. Also it now assumes that the only authentication method ever will be against the Subversion repository, which sounds fair.

14

Support environment variable SVNWIKI_DEBUG_PROPSET
If set to yes, Svnwiki will show one message for all calls to svn-propget it makes.
Support for svnwiki:links:del.icio.us
Setting svnwiki:links:del.icio.us to no on a file or directory will cause the “Save to del.icio.us” links to be hidden.
Support for svnwiki:discuss
Setting svnwiki:discuss to no on a file or directory will cause the discussion links at the bottom of pages to be disabled.
Favicon support
Added support for the svnwiki:icon property, which you can set to the full URL to your favicon icon.
Random action
We added support for the random action: given a directory, it redirects the browser to one of its files (or directories) picked randomly.

01

Fixed problems with links that pointed to directories
Symbolic links inside wikis that pointed to directories often misbehaved, as reported in /svnwiki-bugs/aliases. This has been fixed, they should behave properly this time.
Fixed problems with tags
The IDs (the values of the name parameters) are now converted to a canonical form. This, sadly, breaks many previous links to anchors. However, this is required in order to conform to XHTML Transitional (which allows us to treat Svnwiki-generated pages as XML, making it easy to extract information from them).

03

30

Fixed a file descriptor leak
Some weeks ago we introduced a leak of file descriptors. Each time Svnwiki ran into a warning for a use of an obsolete escape sequence in the template used to build the pages, a file descriptor was leaked. Eventually the svnwiki-post-commit-process would run into a Too many open files error.
Gave span tags priority over break tags
This fixes a problem where the opening tag in bar sometimes got interpreted as a break tag.

17

Fixed memory leaks in svn-client
We fixed some memory leaks in the error-handling code in the svn-client egg. These were very evident when svnwiki-post-commit-hook was run starting from scratch for a repository with many commits.

16

Added %b escape sequence to template, obsolete %l
The %b escape sequence is now added to the list of supported escape sequences for templates. It gets replaced by a <ul> with the list of links to the current page from other pages in the wiki. If the list is empty, no output is produced. The %l sequence has been obsoleted. This should make it easier to have Svnwiki-generated pages adhere to the XHTML Transitional standard. Actually this should be done by a tag in a tag defined by an extension. I also modified the default template to use the new sequence.

15

Make it possible to include the encoding in a file
We added the "%E" escape sequence to render.scm's render-template file, making it possible to include the encoding of the current file somewhere (from the template).
Include XML header and DOCTYPE
The default template now includes the XML header and the DOCTYPE for XHTML Transitional. Svnwiki should now generate valid Transitional XHTML (unless we have bugs in the extensions or someone uses a broken template).
Support for anchors
It is now possible to include anywhere in a wiki file. It gets replaced with an anchor (currently it is left as is in HTML output and removed for all other kinds of output).
Better conformance to W3C standards
Fixed the code that used to wrap headers (== ...) with an anchor to make the output closer to being XHTML Transitional conformant.
Fix bug in delicious extension
The del.icio.us extension now includes an alt parameter on its img tag, as alt is a required parameter.

14

Changed the semantics for ordered and unordered lists
The semantics for ordered and unordered lists were finally modified, according to the suggestion made by Alexandre Oliva. See http://listas.el-directorio.org/pipermail/svnwiki/2007-February/000035.html for details. Feel free to add new tests for ordered/unordered lists to the lists file in testwiki (and email the mailing list if you find out something broken).
Better handling of local links
Links to unexistant local files are converted to a canonical form ("The File Yes" would become "the-file-yes").
Better handling of file deletion or changing extension
We have better logic to handle file deletion or changes that cause the extension of the pre-render file to change. Hopefully we won't be seeing errors like the one in http://listas.el-directorio.org/pipermail/svnwiki/2007-March/000050.html in the future.
Fix for HTML rendering for headers
There was a bug that caused contents of headers (== ... lines) not to be HTML escaped. This was reported by Alexandre Oliva.

11

Bug fix so Svnwiki can now actually handle conflicts
Alexandre Oliva reported that Svnwiki wasn't really handle conflicts. It turned out we had some basic bugs that had the conflict-handling functionality disabled. We fixed them so Svnwiki should be handling basic conflicts now. It should be noted that it can't still handle conflicts where multiple users edit the same line of the same file (ie. users Bob and Alice start editing file Foo, Bob commits and then Alice commits and both there are lines that both commits modified).

02

Improvements for progress extension
It is now possible to call the progress extension directly, without modifying any pages in the repository. It's called using ?action=extension&extension=progress as the query string to the Svnwiki CGI application.
weblog extension becomes languages-aware
The weblog extension now checks the languages for all the posts. For any languages it finds, it creates a single index.lang file, including only posts in that language. If it finds any posts without language, it generates an index, where it only includes posts without a language.

02

27

Created the progress extension
With Arhuaco, we created the progress extension. It uses JavaScript/XML to show an interactive progress report when a commit is made to the wiki through the web interface and, once the pre-rendered page for the file changed has been updated, redirects the browser to the new version.
Bug fix with svnwiki:static-url
If the svnwiki:static-url Subversion property is not specified, default to whatever was found in the config file as the static URL.

20

Strip BASE from links in history
Fix: links in the history of a directory now have BASE stripped.

14

Don't accept creation of empty files
The CGI will no longer accept the creation of empty files (or files consisting of just whitespace).
Fix redirecting error for new files
Fixed the Firefox has detected that the server is redirecting the request for this address in a way that will never complete error. Now, when a page view is requested of the CGI, if the file isn't yet available (it hasn't been pre-rendered), rather than redirect the request, the CGI will display a Ooops, I'm not yet ready to show you that page, please try again message.

11

Fixes for extensions
Fixed some bugs that the tags.scm extension had. I hadn't changed everything that needed changing in the changes I made in 01/31.

01

Optimizations for ATOM generation
Now svnwiki checks to see if any of the files in an RSS file has actually changed since the last update before re-generating the RSS. This should make it run faster for updates associated with comments posted, votes for the rating extension or updates to old files (which, since they are old, they are no longer shown in the RSS) which previously caused lots of needless RSS regenerations.

01

31

Improvements to the rating extension
It now shows the number of votes: Score: N (votes M).
Fixes for the ATOM generation
The ATOM generator now adds path-out-real to the environment, which it failed to, and now uses render-file-contents (whereas previously it called wiki->html directly.
Fixes for the PDF generation
We now pass the environment to the wiki->latex function that we call as part of the PDF generation. Previously we didn't pass it so extensions used to fail.
Fix for editing based on old revisions
When editing based on old revisions, svnwiki used to leave /tmp/svnwiki-cat-* files. It now erases them. Still need to test this
Better handling for definition lists
Fixes a bug I introduced some weeks ago and probably the bug I originally tried to fix back some weeks ago (when I introduced the bug).
Significant internal improvements in extensions
Made significant improvements in the API for extensions, specially for those that define new tags and bind functions to them. This caused some bugs but they are hopefully all fixed by now.

29

Implemented the rating extension
This is the first extension that defines actions for the CGI (see change of 2007-01-28). It allows users to rate the quality of files by voting them up or down. It's all very AJAXy and doesn't currently work in Konqueror/Safari (I will debug it tomorrow to find out why). You can see it in action at Bogowiki's Escuchado en Bogotá. It is also the first extension that does an svn-commit. It currently doesn't scale that well but should be good enough for now (in the future it should use the DB to cache things). It is divided in four parts: (1) render-bottom links to vote up or down, (2) render-bottom info with the current rating for the current file, (3) dynamic code to receive votes, update files and commit changes and (4) update-handler that detects changes to the votes files and updates xml files that #2 uses.
Better error detection in the CGI
The CGI is now smarter at detecting errors than it was before.

28

Allow extensions to extend the CGI
Svnwiki extensions can now define functions to export their functionality on the CGI. These functions get full access to the CGI input.

27

Allow editions without filename
Previously, Svnwiki didn't accept edits to directories. It now does: when a directory is edited, Svnwiki will use a randomly created name for the file. This is useful for http://bogowiki.org/escuchado-en-bogota.
Support authentication
Allow users to select if they want svnwiki to use their username/password to authenticate to the server (instead of using the default tokens from config.scm). This is all very AJAXy and sexy. And if svnwiki:authenticate is set to yes on the file being edited (or one of its parent directories), Svnwiki will require this. I worked on this with Nelson Castillo.

26

Improve weblogabout
Some of the expansions of the weblogabout tag in the weblog extension now include a link to the weblog's RSS.

25

Use rel=nofollow on untrusted links
Links to external sites that have been present in the wiki for less than a certain amount of time (default: 10 days) will show rel=nofollow. That way, spam added to the wiki will show with rel=nofollow until the administrator removes it. Only after some time has passed without the links being removed will they become trusted.
svnwiki-search-register to disable registering pages with Estraier
Made it possible to set a property to avoid having a page registered to the search engine, as requested by Arhuaco. The property is svnwiki:search-register. Still need to test this.
Improvement in default template
Don't show search form when estraier is not available.

24

Better handling of TOC for multi-lang files
Say svnwiki:toc is set to x. For a file called foo.lang, where lang is one known language (currently known languages are just en, es, pt and fr), if x.lang exists, it gets used instead of x. This allows us to have language-dependant menu files used depending on the language of the file being generated.
Better handling of links to multi-lang files
If a file foo.lang exists, links to foo will be treated as existant, even if foo itself doesn't exist.
Created translations extension
Basically, a translations tag in your files will expand to a list of links to versions of the current page in other languages.

17

Import weblogs from WordPress
Wrote an external addons/wordpressimport.scm program. It's full of dirty hacks but it allowed us to import the posts from an RSS file for a weblog from WordPress into a svnwiki weblog (see the results).

16

Optimize archive extension
Now it will only update files it really needs to update (previously it regenerated everything).

15

Implemented weblogabout
Extended the weblog extension adding the weblogabout that, which, when included in a menu, shows contextual help in posts/archives/discussions/index in a weblog.

Last update: 2007-06-28 (Rev 11855)

svnwiki $Rev: 12966 $