New OS, new eXist install

FacebookTwitterShare

Hankering for a change of some sort–though goodness knows why I think I need even more of that in my life, but that’s an existential question best left offline–I decided recently to ditch Windows and commit fully to Ubuntu. I had 11.04 on a computer I didn’t really use all that often, sort of an excuse to continue using Windows, but I don’t know. I guess I just wanted to dive in. Also, I had run into some (more!) problems with GitHub that involved not being able to reconcile branches–I can’t even talk about it. So, I took the coward’s way out and just started from scratch.

Truthfully, I’m always astonished at how much easier things are when you have a general level of literacy about how to find good information.

I’m happy to say, everything so far has gone smoothly–my clunky old ThinkPad T420 is has been de-Fenestrated; I’ve got a nice, shiny new install of 15.04 (Vivid Vervet), and yesterday I turned my laptop into a server with xampp. I had to install Java 8, which was a bit dicey, but an Internet connection and mad Google skillz prevaled. My goal for today was to get eXist-db 3.0 up and running, which was pretty straightforward, especially after having received some help a couple of months ago from @joewiz. The documentation at eXist-db.org is wonderfully useful, overall.

But then I thought I’d restore from a backup I’d made, without fully reading that wonderful documentation, and ran into some troubles–notably, a namespace exception:

err:XPST0081 error found while loading module restxq: Error while loading module modules/restxq.xql: No namespace defined for prefix text [at line 271, column 40]

I tried doing the repairs using the xQuery  advice given here,  from the Java admin client, but then I discovered that the Java 8 security settings were too high and I couldn’t run it–so, I had to add an exception, which was a little confusing, as the address I expected, “localhost”, didn’t work. Turns out it was “http://localhost:8080”, but the address was hidden beneath another window. Anyway, that done, I could open the Java admin client, open a connection, and then TOOLS>QUERY to run the xQueries on the server that would clean it up:

xquery version "3.0";
import module namespace repair="http://exist-db.org/xquery/repo/repair" 
at "resource:org/exist/xquery/modules/expathrepo/repair.xql";
repair:clean-all(),
repair:repair()

Of course, this didn’t work–I was still getting the error from earlier. So, instead of doing more research, which I should have done, I sent an email to the eXist-db forums; just afterwards, I found the answer to my (and other peoples’) question about the start error, here and then from there, to Wolfgang’s fix. Ta-daaaa! The power of other people, I tell you.

Now that that’s done, I can see my restored app on my new localhost install, and that makes me very happy indeed. Now, to continue wrangling with github, upgrading my TEI, and adding functionality to the project!

UPDATE: While I could see my app in the dashboard, and I could run the app, I was unable to use eXide or collections to access files in the app or update them–and everything I did get opened in eXide was opened read-only. It looked as if my db was empty:

ss19

The eXist documentation package was also not working; this is what appeared when I tried to open fundocs from the dashboard:

ss20
It turned out to be a problem easily fixed–installed packages all needed to be updated via the package manager, and then the dashboard and shared resources repository needed to be re-connected and updated. The xQuery to do that is here, via Wolfgang:

repo:remove("http://exist-db.org/apps/shared"),
repo:remove("http://exist-db.org/apps/dashboard"),
repo:install-and-deploy("http://exist-db.org/apps/shared", "http://exist-db.org/exist/apps/public-repo/find"),
repo:install-and-deploy("http://exist-db.org/apps/dashboard", "http://exist-db.org/exist/apps/public-repo/find")

Now, all is right with the world! Well, with the world on my laptop.