-
Notifications
You must be signed in to change notification settings - Fork 0
Guide Things To Know
Short, and worth reading once before you rely on this for real review data. Each of these is a real way to lose or corrupt work — none of them are hypothetical.
config section (config.schema, config.screening, config.reviewers, and a
few others) is rebuilt from scratch every time SaiLoR saves. Any key it doesn't specifically know
about gets thrown away in that rebuild — including one you typed in by hand five seconds earlier.
This is not a bug you can work around by being careful — it's how the file format works, and it applies even if you added the key through some other tool, not just by typing JSON yourself. If you want to record something SaiLoR doesn't have a field for, two places are actually safe:
-
The review protocol (research questions, search strings, databases, search date, notes) has a
real, dedicated home: the project editor's Review protocol section, saved as a top-level
protocolkey. See Setting up a project. -
Any other top-level key (not nested under
config) survives untouched.{"version": 1, "myLabNotes": "…", "config": {...}, "papers": [...]}keepsmyLabNotesforever, exactly as written, because top-level keys the app doesn't recognize are preserved verbatim — onlyconfig's own contents are rebuilt.
If you're not sure whether something you're adding is top-level or nested under config, put it at
the top level.
Two ways people actually handle this:
- Take turns. Whoever's turn it is has the file; pass it along (email, shared drive, whatever) when you're done.
- Use git. Each person works on their own clone; SaiLoR's git support merges different reviewers' answers field by field instead of overwriting. See Git support.
pdf path is stored relative to the project JSON's own location, not as an
absolute path. This is deliberate — it's what lets you zip up the JSON and its pdfs/ folder and
hand the whole thing to someone else and have it just work. But it means:
- Moving the JSON file in Finder/Explorer, without using SaiLoR, breaks every PDF reference unless you move the PDFs along with it in exactly the same relative arrangement.
- Use Save as…, or the project editor's Change… button, to relocate a project instead — both re-derive every PDF path for the new location automatically.
Reviewer 1, Reviewer 2, …). If
two different people — on two different clones of the same project — both pick "Reviewer 1", their
answers will merge into one chimeric tree the next time the file is pulled together via git, with no
warning, unless the project file already records who holds each seat.
When you're using git, SaiLoR records your git identity (name/email) the first time you claim a seat, and warns you if you try to take a seat someone else already claimed. That protection only exists when git is available and the seat has actually been claimed once with it on — agree out of band (a message, a spreadsheet, whatever) who is Reviewer 1 and who is Reviewer 2 regardless. See Reviewer-seat identity.
(Screening's exclusion reasons are the one place this is handled automatically: renaming a reason that's already in use prompts SaiLoR to offer moving existing decisions to the new name. See Screening.)
An unticked checkbox is a real answer ("no"), not an absence of one — SaiLoR has no way to tell "deliberately unchecked" apart from "never looked at". That's why the schema editor doesn't offer a Required option on Yes/No fields at all: it would look like a setting that does something, and it never could. If you need a genuine third state ("not stated in the paper"), use a Text field with fixed options instead of a checkbox — see Setting up a project.
These pages are a mirror. They are maintained in
openwiki/ in the repository and published
here automatically. Editing a page here is fine — the change is committed back to that folder — but
the folder is the source of truth. See Operations → Wiki sync.
Repository · README · Issues · Releases · Annotation schema guide
SaiLoR is free software under the GNU General Public License v3.0.
- Things to know
- Getting started
- Screening
- Working with several reviewers
- Setting up a project
- Git support
Developer documentation
{ "version": 1, "config": { "schema": [ /* … */ ], "myNotes": "please don't put things here" // ← gone the next time anyone saves } }