|
| 1 | +Baseprint Document Format (BpDF) |
| 2 | +================================ |
| 3 | + |
| 4 | +BpDF is the digital encoding format of a *Baseprint document snapshot*. |
| 5 | +These document snapshots can be identified with a |
| 6 | +[SoftWare Hash IDentifier (SWHID)](https://swhid.org). |
| 7 | +Baseprint document snapshots exemplify the concept of "baseprint" discussed in the |
| 8 | +document |
| 9 | +"[What is a baseprint?](https://perm.pub/HKSI5NPzMFmgRlb4Vboi71OTKYo)". |
| 10 | +As of 2024, these document snapshots are only used within |
| 11 | +[Baseprint document successions](../successions.md). |
| 12 | + |
| 13 | + |
| 14 | +Technical details of the format are being [documented in a draft specification on |
| 15 | +GitHub](https://github.com/castedo/bpdf-spec/). |
| 16 | + |
| 17 | + |
| 18 | +Objectives |
| 19 | +---------- |
| 20 | + |
| 21 | +The primary objective of BpDF is to minimize [format |
| 22 | +rot](https://doi.org/10.1038/scientificamerican1117-26) and maximize "format |
| 23 | +shelf-life", where software in the future is backward compatible with the present |
| 24 | +encoding format. |
| 25 | +Unlike formats like LaTeX and Markdown, which are used for authoring (in the present), |
| 26 | +BpDF is designed for redistribution and archiving (for the future). |
| 27 | +The primary tactic for minimizing format rot is to encode articles like those |
| 28 | +archived in [PubMed Central](https://en.wikipedia.org/wiki/PubMed_Central). |
| 29 | + |
| 30 | + |
| 31 | +Supporting Software |
| 32 | +------------------- |
| 33 | + |
| 34 | +The BpDF format is implemented in the |
| 35 | +[open-source Python library epijats](https://pypi.org/project/epijats/). |
| 36 | +This library is used in the authoring tool |
| 37 | +[Baseprinter](https://try.perm.pub/baseprinter/) (for previews) |
| 38 | +and in |
| 39 | +[BaseprintPress](https://gitlab.com/perm.pub/baseprintpress) |
| 40 | +for generating websites, such as [pilot.perm.pub](https://pilot.perm.pub). |
| 41 | + |
| 42 | + |
| 43 | +Related Formats |
| 44 | +--------------- |
| 45 | + |
| 46 | +JATS XML: |
| 47 | +: The XML file inside BpDF is a sub-format of the [JATS XML Article Authoring |
| 48 | +format](https://jats.nlm.nih.gov/articleauthoring/). |
| 49 | +This Baseprint JATS XML subformat is more minimal than the JATS XML Article Authoring Tag Set. |
| 50 | + |
| 51 | + |
| 52 | +PubMed Central JATS XML Flavor: |
| 53 | +: The various different software systems of different |
| 54 | +organizations process different "flavors" of JATS XML. |
| 55 | +Baseprint JATS XML does not target supporting the various flavors of JATS. |
| 56 | +Baseprint JATS XML targets processing a subset of the JATS XML found in archived |
| 57 | +articles of the [PMC Open Access |
| 58 | +Subset](https://pmc.ncbi.nlm.nih.gov/tools/openftlist/). |
| 59 | +Baseprint JATS XML targets matching the rendering of the |
| 60 | +[PMC Article Previewer](https://pmc.ncbi.nlm.nih.gov/tools/article-previewer-intro/). |
| 61 | + |
| 62 | + |
| 63 | +JATS4R: |
| 64 | +: Baseprint JATS XML targets being similarly restrictive |
| 65 | +like [JATS4R (JATS for Reuse)](https://jats4r.niso.org/). |
| 66 | +However, Baseprint JATS XML targets re-use by |
| 67 | +[Free Open-Source Software](https://en.wikipedia.org/wiki/Free_and_open-source_software) |
| 68 | +for author self-archiving/publishing redistribution within |
| 69 | +[Baseprint document successions](../successions.md). |
| 70 | + |
| 71 | + |
| 72 | +Manuscript Exchange Common Approach (MECA): |
| 73 | +: Unlike JATS XML, BpDF is also a format for the packaging of the files included |
| 74 | +in a research document, such as images. |
| 75 | +In this respect, BpDF is similar to the |
| 76 | +[Manuscript Exchange Common Approach (MECA)]( |
| 77 | +https://meca.niso.org/) |
| 78 | +Both BpDF and MECA are interchange formats between authoring and archiving. |
| 79 | +However, unlike MECA, BpDF targets author self-archiving/publishing and redistribution |
| 80 | +and not traditional publisher workflows. |
| 81 | + |
| 82 | + |
| 83 | +BpDF'23 |
| 84 | +: *BpDF'23* is the version of BpDF supported by the |
| 85 | +[epijats](https://gitlab.com/perm.pub/epijats) Python library |
| 86 | +in 2023 and 2024. |
0 commit comments