From XOWA: the free, open-source, offline wiki application

Release: v4.5.0.1703 (2017-03-29 16:00 Wed)

The PC version is a major release. It adds full-text search for the Wikipedias, redesigns Special:XowaSearch, and fixes parsing errors in 2017-03 Russian Wikipedia.

The Android version is a major release. It also adds full-text search for the Wikipedias.

(Wiki) Publish 2017-03 English Wikipedia, 2017-03 Russian, 2017-03 Hindi, and 2017-03 Tibetan wikis

These wikis were uploaded over the course of the month. You can get them from Download Central or see the following links:

(PC / Android) Add full-text search capability for all wikis. See: App/Full-text_search and App/Full-text_search/Lucene/Search_indexes/Getting

XOWA finally supports full-text search. This was a complicated change involving a new Special page (Special:XowaSearch) and a new Java library (Lucene). There will be more changes in future releases, but the current version should work well enough for PCs as well as Android devices.

Right now, full-text search indexes are only available for download for 2017-03 English Wikipedia. To get it, see App/Full-text_search/Lucene/Search_indexes/Getting. Note that future wikis will have full-text search indexes automatically included with them.

You can also build your own full-text search indexes for existing Download Central wikis. To try it, see App/Full-text_search/Lucene/Search_indexes/Building

For more details see App/Full-text_search

(PC) Redesign full-text search Special Page. See: Special:XowaSearch

A basic version of Special:XowaSearch was released to allow full-text search for personal wikis. The current version cleans up the UI and adds features like paging and highlighted snips.

(PC) Add search and allpages button

In tandem with the above, XOWA now has two separate buttons:

  • Search by full-text, as identified by the magnifying glass.
  • List all pages alphabetically, as identified by the list icon.

For those who find the two buttons cluttering, they can be selectively shown / hidden at Special:XowaCfg?grp=xowa.gui.general

(PC) Fix wikibase "attempt to call nil" errors for 2017-03 Russian wikis

The 2017-03 Russian Wikipedia had a bunch of Script errors with "attempt to call nil". Most of these involved many Wikibase changes introduced over the past year, but finally used in a Module within Russian Wikipedia. These errors have been fixed with the current version

(PC) Fix minor issues including page_sync requiring double refresh, long directory names for images, and rare import errors

There are basically three issues worth highlighting:

(PC) Add minor GUI changes including custom url formats, direct HTML from SWT browser, and options link

These are a few minor changes worth detailing:

  • Custom url formats are now available. This was in response to Ope30 and a way to customize the displayed url. For more info, seeSpecial:XowaCfg?grp=xowa.gui.url bar
  • View HTML can now show the actual HTML in the browser. Previously XOWA would show the generated HTML as shown for the Read tab. However, this wouldn't work for Special pages due to javascript changes to the DOM. Now, the actual HTML in the SWT browser is available by changing the option at Special:XowaCfg?
  • Options link for Special:XowaCfg pages. XowaCfg pages allow direct linking to certain groups by using ?grp=code. If you want the direct link to a specific option page, you can now right-click on the "options link" and copy it

Next release

  • Brief hiatus: I'll have more details on this in another blog post, but in short, I'm starting a new job in a week, and will not be able to devote as much time to XOWA as before.

Release: v4.4.0.1703 (2017-03-07 18:00 Mon)

The PC version is a major release. It adds night mode, automatic page backup, performance improvements, an early-version of full-text search, and better support for French Wikipedia.

The Android version has no release.

Note that there are no upgrade versions for v4.4. This is due to XULRunner changes which would make the upgrade almost as large as the entire app.

(Wiki) Publish 2017-02 German Wikipedia and 2017-02 French Wikipedia

Both wikis were updated during the week. You can get them from Download Central or see the following links:

(PC) Add night mode

XOWA now has night mode. To enable it, do Menu -> View -> Toggle Night mode. More info is at App/UI/Night_mode

I implemented this feature over the past few days, so there may be some spots I missed. Also, if you have any suggestions about colors, CSS, or icons, please do contact me at Help/Feedback.

(PC) Add page backup feature

XOWA now does a simple backups whenever pages are edited. This feature is intended primarily for personal wikis.

Here are the details:

  • Go to Special:XowaCfg?
  • Make sure Enabled under Page backups is checked.
  • Edit any page and press Save page.
  • Go to /your_wiki_directory/user/temp/Page_title/. You will see a text file copy there

(PC) Improve performance for starting app as well as creating / loading personal wikis

This version has a number of performance improvements:

  • Faster app startup on Windows machines: Previously, the xowa.exe / xowa_64.exe would pre-allocate 256 MB on startup. On some machines, this seems to make bootup 20 to 30 seconds long. This build now doesn't allocate any pre-determined amount.
  • Faster personal wiki creation: XOWA used to try to download a Wikimedia css for personal wikis. Now, XOWA will just use the default css
  • Faster personal wiki loading: XOWA used to load a database connection to every personal wikis at bootup. Now, XOWA will only load the database connection when it's opened.

(PC) Update XULRunner to v31 for Windows machines

The Main Page for 2017-02 French Wikipedia now uses the CSS flex directive. Unfortunately, this is not supported in XULRunner v24 but it is in XULRunner v31.

This is how XOWA handles this on different operating systems

  • For Windows machines, XOWA now uses XULRunner v31. Note that 64-bit XULRunner is no longer available for download, so I used a copy I had downloaded a few years ago.
  • For Linux machines, XOWA still uses XULRunner v24. Unfortunately, XOWA can't upgrade to v31 because SWT doesn't support it on Linux. See: The only alternative is to use webkit. See: App/UI/HTML_Browser#WebKit
  • For Mac OS X machines, this shouldn't be an issue, as XOWA uses webkit already.

(PC) Add preiminary full-text search for personal-wikis

XOWA now has a basic full-text search feature. It should only be used for small wikis (like a personal wiki). It works by opening up every single page and searching for the text phrase. Although this sounds slow, it performs relatively quickly on modern generation machines (especially if you have a SSD). It also has the advantage of not taking up any space for search-indexing.

This feature will be expanded in the coming months, but any feedback is welcome. To try to it, go to Special:XowaSearch

(PC) Other minor fixes, including ?curid for command-line and no more current directory for logs

There are a bunch of other minor fixes, but I'll highlight two which were reported by users:

?curid did not work on the command-line

XOWA added a ?curid feature to look up a page by page-id. Unfortunately, this wasn't working for command-line calls.

This build fixes this bug.

No more current directory for logs

XOWA stores its logs at C:\xowa\user\anonymous\app\tmp\log. XOWA used to store the current directory in a folder called current. Unfortunately, this caused problems on Linux systems when two or more different-permissioned users were running XOWA.

This version replaces the current directory with a timestamp directory which should now reduce the likelihood of errors.

Next release

  • Full-text search: I need to polish up the full-text search for personal wikis. In addition, I'm going to look at getting it working for the Wikimedia wikis



Getting started