Trouble migrating from Jurism 6 (back to native) Zotero 9
I switched from Zotero 6 to Jurism 6 in 2021 because I needed multiple citation languages. Now that feature is in Zotero 9 and Jurism (still on 6) is not well supported on Mac silicon, so I want to move back to Zotero.
However...
1. I cannot sync Jurism with my Zotero cloud account because it cannot log on. Iit says the credentials are invalid, but I can log on manually just fine; I presume Jurism is just not up to date with Zotero authentication protocols.
2. Jurism will not export the whole library as an RDF (or anything else); the error log says it has an unknown library type. I can export and import a few items, but I have over 11k items altogether.
3. If I just copy Jurism/jurism.sqlite to Zotero/zotero.sqlite Zotero tells me I need to upgrade because I need 6 but it is only on 9!
Did anyone manage such a migration?
Ideally I would like to copy the multilingual data into the CNE plugin as well, but could forego that if necessary - as long I as I am sure I have the whole library.
However...
1. I cannot sync Jurism with my Zotero cloud account because it cannot log on. Iit says the credentials are invalid, but I can log on manually just fine; I presume Jurism is just not up to date with Zotero authentication protocols.
2. Jurism will not export the whole library as an RDF (or anything else); the error log says it has an unknown library type. I can export and import a few items, but I have over 11k items altogether.
3. If I just copy Jurism/jurism.sqlite to Zotero/zotero.sqlite Zotero tells me I need to upgrade because I need 6 but it is only on 9!
Did anyone manage such a migration?
Ideally I would like to copy the multilingual data into the CNE plugin as well, but could forego that if necessary - as long I as I am sure I have the whole library.
Upgrade Storage
If you do use an extractor, I'd recommend going from the Jurism database through the Zotero API rather than an import format. The beta should also have a local implementation of the write API.
I am not sure what you mean by "going from the Jurism database through the Zotero API"?
The current approach is to use a python script to write an RDF file, then import that into Zotero. Seems safest. It is however still work in progress. For details see https://github.com/AndySymons/Jurism-to-Zotero-migrator
Zotero API is referring to https://www.zotero.org/support/dev/web_api/v3/
I can export a few items from Jurism 6 and import them into Zotero 9, but for some reason Jurism will not export the whole library. I am also trying to get the extractor to translate Jurism language fields into 'Extra' field tags for CNE, and do a few 'cleaning up' tasks:
- normalise language field values to iso codes (e.g. 'Spanish' to 'es'), so CNE will recognise them (good practice anyway)
- change (legacy) absolute linked attachment paths to relative
- keep the original date added (as a tag in 'Extra' (because the Zotero import overwrites it with the import data)
The solution I 'found' is actually to build a migration program myself that extracts the data from Jurism, and writes a Zotero RDF file, putting the language information into tags in 'Extra' that can be read by the Zotero CNE plugin. I am not quite there yet, but close. See my GitHub page for details.
I am of course still interested in any shortcuts anyone can offer!
Issues I am working on (and hope to solve within a few days) are
1. Some fields missing altogether (a slip up in regression testing)
2. Collections and saved searches not migrated.
3. Transliterations not migrated - these were originally out of scope, because I never used them; but I am going to bring them into scope.
Please bear with me, all this requires a lot of testing and I do not want to rush it - but look out for release 1.3 soon.
in my case, Zotero 9 told me that the database is in Zotero 6 (true), which is a future version (false) and I had to upgrade to read it. I tried several tricks (including reverting to Zotero 6) without success. There are full details on my GitHub Wiki page "Why?".
https://github.com/AndySymons/Jurism-to-Zotero-migrator/wiki/1.-Why?
I assume when you open a Jurism database in Zotero, it ignores the Jurism special (legal) types and all the language variants. I do want these and do not see that any of them are written to Extra? (Which is what I plan to do).
The special legal data is definitely in the extra field in the MLZExtra JSON- new legal types, new fields like jurisdiction, etc. Jurism hides this, but if you look at the extra field on the web you can see what's there. I did it and I worked with others on it. I don't know about language stuff like japanese characters. The CNE folks can say if that transferred over.
All I can say is that if you sync with a Zotero repository, my plugin has been plug-compatible with jurism on the legal side, and everything I have needed is in the extra field.
In parallel, I am adapting my Jurism to Zotero Migration program (JZM), to write tags for MVZ, so that all variants are included. (This is work in progress and my GitHub page is not yet fully up to speed with this).
Regarding Jurism judicial extensions, at the moment, I map old Jurism judicial item types to standard Zotero types, e.g. "Classic" to "Book".
I convert Jurism Jurisdiction and Court codes to plain text using Jurism's own lookup tables.
I map the old Jurism fields to equivalent Zotero fields where possible then write any fields that do not fit the Zotero schema to custom Extra tags "jzm-".
I could potentially change these jzm tags (which currently do no more than preserve the data) to Citation Phoenix tags (which are presumably entered into citations), so that we end up with a complete kit that replaces Jurism with Zotero + MVZ + Citation Phoenix, and a migration program that brings the data across from Jurism in a compatible format for both!
I would just need a complete list of the tags you need in the Extra field (I did not yet find one on your GitHub page).
Do you create special item types as well?
I do not use judicial features myself and have not yet got around to testing your plugin. I will be generating test cases, but would need to know what the results are supposed to look like!
Yes, if you want this plugin to be useful, I recommend that you match juris-m's field data format. Indeed, most of this data is already in Zotero's extra field in juris-m (jurism just hides it), so I'm not understanding what you need to rewrite/transform in the first place other than language data. You can get that field formatting from the jurism code. To answer you question, yes, I also do custom types. It is stored in the xtype: json in extra, just as jurism did it. Like I said, multiple people seem to have been able to load my plugin with jurism data just by syncing with zotero.
The full list of custom fields and types is not on my website. It is in Schema.json in the jurism repository. I copy all of the abbrevs and jurisdictions from LRR, which is now maintained by George Duffner. That's what I mimic, exactly. As noted above, I'm suggesting you do the same, or else you are going to have a plugin that converts data into a useless format (that, or you are going to have to rewrite all of the data transformations into CSL and basically reimplement your own version of jurism).
I'm not sure what language features of CNE and what you are doing in your plugin are missing in citation phoenix (other than script). Folks have been using my plugin with other languages already - the field names and citations are localized.