XWiki SVN Application

Last modified by Admin on 2024/08/19 00:13

cogAllows concurrent development on multiple servers and simplifies publishing XWiki applications to SVN.
TypeXAR
Category
Developed by

Ludovic Dubost, Anca Luca, Paul Cojan, Denis Gervalle, Sidali Djebloun

Active Installs8
Rating
7 Votes
LicenseGNU Lesser General Public License 2.1
Compatibility

Version up to and including 1.5 are not compatible with XWiki Enterprise 7.1-milestone-1 or later !!!

Installable with the Extension Manager

Description

Allows concurrent development on multiple servers and simplifies publishing XWiki applications to SVN.

Usage

Main Screen: it allows to create multiple SVN configurations by SVN directory and also by user. The configuration stores the password.

svnapp-mainpage.png

Config Screen:

svnapp-configpage.png

Commit/Update Screen:

svnapp-commit.png

Pages are cleaned before comparison and commit:

  • dates and author are set to the value set in the configuration
  • versions are reset to 1.1
  • TagClass is removed
  • comment and minor edit are reset

Committing a list of pages (starting with 1.6)

Starting with 1.6 version, the "saved list" of pages is handled with the SVN application (not the external MultiPageExport application). To use this, follow these steps:

  • create an object of type SVNCode.SavedListClass (e.g. in the page holding the SVN configuration itself)
  • by editing in object mode, fill in the list property of this object with a list of pages, separated by pipe (|)
  • in the SVN configuration, set the property Saved List to point to the page containing the object
  • from now on, the button "List pages to commit" will use this saved list instead of the default spaces

Limitations

  • it does not support conflict resolution

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

1.5 For version 1.5, the recommended way for installation is to use the Extension Manager. In addition to EM install, if you intend to use the XML format option, you should install jaxen-1.1.4.jar in the WEB-INF/lib folder of your XWiki webapp.

1.5 without using Extension Manager OR 1.4 or earlier with a recent version of Oracle's Java JVM (> 1.7.0_72) OR 1.4 or earlier when the SVNCode.SVNGroovy page as not public access Install svnkit-1.3.8.jar and trilead-ssh2-1.0.0-build215.jar in the WEB-INF/lib folder of your XWiki webapp.

Any version without using Extension Manager Import the XAR as describe above (and proceed to the step above if needed)

If you don't upgrade the jar provided with version 1.4 or earlier as recommended above, the SSL handshake will hang for ever during repository access, causing CPU loads increase for each failed access to the repository.

Release Notes

v1.6

Bug

  • [SVN-11] - SVN Application not working with XWiki 7.1-milestone-1 or later
  • [SVN-28] - Cannot list pages using names with spaces
  • [SVN-36] - Can't diff document with space in name

Improvement

  • [SVN-13] - Improve the diff tool of the SVN App to make it easier to read
  • [SVN-27] - Improve error management in the SVN Application

Task

  • [SVN-40] - Make the Saved List of pages work by default in SVN Application
  • [SVN-41] - Figure out what should happen to release 1.6 from the SCM
  • [SVN-42] - Mark SVN Application pages in the SVNCode space as hidden
  • [SVN-43] - Add XWiki UI standards to the edit inline sheet of the SVN configuration pages

v1.5.1


( Contributions made by Denis Gervalle )

v1.5


( Contributions made by Denis Gervalle )

v1.4

( Contributions made by Raluca Stavro )

v1.3.3

( Contributions made by Paul Cojan )

v1.3.2

- Fixing diff styles that are not inherited from colibri.css anymore
- Adding an option to save or not the status

v1.3.1

Fixed bug that prevented pages to be committed because of deprecated API usage ($xwiki.arrayList instead of $util.arrayList). The list of pages to be committed was empty starting with 3.2 version. 

v1.3

Fixed bug that prevented multiple translated documents to be committed at the same time, or a translation to be committed when there were changes in another translation of the same document or in the original document (packed @ r36097).

v1.2

Fix to Translations support to support ALL languages

Dependencies

Dependencies for this extension (org.xwiki.contrib:xwiki-application-svn 1.6):

  • org.tmatesoft.svnkit:svnkit 1.8.10

Get Connected