jimmejardine / qiqqa-open-source

The open-sourced version of the award-winning Qiqqa research management tool for Windows
GNU General Public License v3.0
380 stars 64 forks source link

Properties & Annotations missing after copying commercial Qiqqa to Open Source Qiqqa library #286

Open jaysmestad opened 3 years ago

jaysmestad commented 3 years ago

We copied our V79 Qiqqa libraries to V82 Internet Libraries by adding documents to the Internet Libraries from the local V79 libraries. In doing so, we lost many of our Annotations and received parse errors in Properties due to " " spaces. How can we migrate documents + metadata - including annotations, etc... from V79 Qiqqa to V82 open source Qiqqa - without loosing this critical information?

GerHobbelt commented 3 years ago

We copied our V79 Qiqqa libraries to V82 Internet Libraries by adding documents to the Internet Libraries from the local V79 libraries.

Could you help me understand what you did exactly by elaborating on how you did this exactly? (Did you do this via right-mouse popup menu > copy document, or via another set of actions?)

How can we migrate documents + metadata - including annotations, etc... from V79 Qiqqa to V82 open source Qiqqa - without loosing this critical information?

The quickest and simplest way to do that would be to just install v82 over v79 (following the setup installer prompts, OK which the 'different version already present' message box appears and default choices all the way), in which case v82 should 'discover' all your local libraries, including intranet libs and v79 commercial Qiqqa Cloud libraries and everything should be available then, including annotations, as is. Note: as open source Qiqqa (v80 & upwards) doesn't know about Qiqqa Cloud, this will be your local copy, so when you know your local copy is out-of-sync with your cloud-stored lib, then please install v79 and use that one to sync to local, then re-install v82 to 'migrate'. From that point onwards these libraries will be marked as local/legacy.

Main issues I can come up with are:

Despite the issues, you should at least be able to have qiqqa discover the (local copies of these) libs and you should be able to view and edit the PDF documents' metadata (BibTeeX, annotations, etc.) - the 'read-only marker' I mention above only concerns itself with the 'sync' ability & permission.


I still have the feeling, after writing this, that I might have misunderstood, so please correct me if I did. Thanks!

jaysmestad commented 3 years ago

Thank you for your response. I had already followed the procedure that you described. I have a number of contributors that use the same Qiqqa libraries, so I setup a mapped network drive q:\Internet_Libraries and then created a new Internet Library for each local library that I had on v79 and are now local on my upgraded v82 version. I then added documents to the Internet Libraries I created by using the copy Library option to add documents. All of the documents were copied over to the new Internet Library, however the annotations were missing and there were parse errors on Properties for any original entry that had a " " space character in it. The question is, how can I migrate all content (annotations, etc...) from my local Libraries to my new Internet Libraries?

jaysmestad commented 3 years ago

Since we use Qiqqa daily, can we rollback to V72 (premigration) and use the Web Libraries without the worry of loosing the data/functionality, or is there an end date where the Web Library storage will be turned off? Just asking if this is an option until we have functionality on V82+. Thank you!

GerHobbelt commented 3 years ago

Sorry for late response. You can roll back to Commercial Qiqqa v79 (I wouldn't advise going as far back as v72, as I never checked Qiqqa binary compatibility for downgrades below v79-commercial.)

In response to your question:

I then added documents to the Internet Libraries I created by using the copy Library option to add documents. All of the documents were copied over to the new Internet Library, however the annotations were missing and there were parse errors on Properties for any original entry that had a " " space character in it. The question is, how can I migrate all content (annotations, etc...) from my local Libraries to my new Internet Libraries?

Welllll, you might want to try the following method: it's nasty and comes with a couple of caveats, but should do the trick. Before I describe that one, there's v83+ to consider as an alternative, as you can convert any library you have to an Intranet Library with that version onwards. (Currently there are only TEST releases for that version available, which may or may not exhibit other problems, so YMMV there at the day of writing (2021-jan-21).

Copying a library in it's entirety

Suppose you have a library 'X' you wish to copy to library 'Y'.

You have created library 'Y', say, as an Intranet Library. It is currently empty.

For example, say you only had the 'Guest' library before and created a new Intranet library 'Target', then you have two libraries in your Base Path like this:

image

Note the cryptic INTRANET_... folder name: Qiqqa assigns unique GUID/Hash folder names like that, so you'll have to look carefully searching for your empty library.

An empty library has an empty documents directory and very little else, except a tiny 5KByte Qiqqa.Library metadata database, as shown here:

image

Now we go to the directory where your source library is, for example my 'Guest' library.

Select all files and directories in there, EXCEPT the ones which have NOT been selected here either: copying those files would cause some havoc later on!

image

In Explorer, Copy and then go to the Target library's directory as shown before, where you PASTE, so Windows will copy everything into there.

NOTE: Windows Explorer will yak about overwriting the Qiqqa.Library file, which we SHOULD do: overwrite with your bigger source library file:

image

and

image

Caveats

Be very very careful with this procedure: copying data like that into a Qiqqa library directory will destroy any data that was previously stored in that library. Hence use this only for copying to newly created libraries, which are guaranteed to be empty.

Notes

I've noticed that more folks ask about 'copying libraries': apparently this is generally asked about due to the lack of a UI to edit a library's sync path and type. That has been resolved (if somewhat rudimentary) by v83, where you can go to the Sync Dialog and edit the sync path for any library, thus making any library you have instantly share-able via any Windows folder that's on USB stick, HD or part of your DropBox, Google Drive, etc. shared folders.