Hi,
On Dec 5, 2008, at 5:48 PM, Clemens Robbenhaar wrote:
According to the installation/upgrade guide,
"You may want to
upgrade to
a newer version of the Default Wiki XAR in order to benefit from the
latest changes. As mentioned above in the "Installing the Default
Wiki
XAR" section you should be very careful and when doing the import
make
sure you selectively decide what pages you wish to import."
Is there any particularly good recommended way of doing this
efficiently?
[...]
I would be interested in some pointers here, too. Currently for every
upgrade most of the time I am busy with comparing the exported and
unpacked *.xar of my wiki with the differences between the
xwiki-enterprise-*.war from the corresponding releases, and update the
*.xml files manually.
When I reimport the changes files again in the running xwiki I always
have the fear of overwriting some important local modifications, or
forgot to add important updates from the release.
I guess there must be better ways to do it, and maybe someone already
knows one ;)
Right now there are only 2 best practices:
* first you should try to avoid making modification to pages bundled
with the default XAR that you'd like reimport in future versions. For
example if you need to change the WebSearch page you can create your
own WebSearch page in your own space for example or copy it to a
different name.
* you could also maintain a list of default XAR pages that you have
modified so that you don't overwrite them when importing a new XAR.
Last there's a list of pages that you should not reimport (they are
mentioned in the installation guide).
Of course none of this is perfect and it won't be perfectly till we
have finished the new application manager:
http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationManager
The work for it is going to start in XE 1.8 but since it's a complex
thing it'll probably be fully operational only around 1.9 or maybe
even 1.10. Depends how fast we progress, the contributions, etc.
I personally
don't need any pretty xwiki app to do this, if I can
accomplish it in my shell, it'd be fine. And barring comments,
I'll try
to work this up on my own.
I just wondered if one day I get to the point where I could at least
write an importer plugin, which accepts the pristine *.xar from the
current and new release, and then updates all pages, which still have
the content from the old release with the content of the corresponding
page in the new release. (Well, just updating the content would not
help
for the Panels, which are actually the most heavily customized
things in
the wiki here). Though I am not there yet, partially because still
have to
learn the XWiki API, partially because the updates somehow went
through
without it.
Yes it's definitely possible. You could probably even reuse the diff
API to compare the versions.
That said what you describe is very similar to the application manager
idea we have:
http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationManager
You are very welcome to help us design it. Thomas Mortagne and Jean-
Vincent Drean are the ones who have planned looking into this during
the XE 1.8 timeframe. If you have some ideas fire them here for
discussion and when agree we can consolidate everything on that page:
http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationManager
Thanks
-Vincent