Skip to content

Commit 4b8625f

Browse files
authored
Merge pull request #406 from petebankhead/rfc9-comment4
RFC 9 comment 4
2 parents 4eb593b + 2ffcd0e commit 4b8625f

3 files changed

Lines changed: 60 additions & 1 deletion

File tree

rfc/9/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Add a specification for storing an OME-Zarr hierarchy within a ZIP archive.
1313

1414
## Status
1515

16-
This RFC is currently in state `D5` (ready to enter RFC phase).
16+
This RFC is currently in state `R2` (waiting on reviewers).
1717

1818
| Name | GitHub Handle | Institution | Date | Status |
1919
| ----------------- | ------------- | --------------------------------------- | ---------- | --------------------------------------------------------------- |

rfc/9/reviews/1/index.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# RFC-9: Review 1
2+
3+
(rfcs:rfc9:review1)=
4+
5+
## Comment authors
6+
7+
This comment was written by: Pete Bankhead, University of Edinburgh
8+
9+
## Conflicts of interest (optional)
10+
11+
None
12+
13+
## Summary
14+
15+
I am strongly in favor of standardized single-file support, which I think will make OME-Zarr much easier to use and support within desktop applications, including QuPath.
16+
17+
## Minor comments and questions
18+
19+
### Use of ZIP64
20+
21+
> 1. The ZIP64 format extension SHOULD be used, irrespective of the ZIP file size.
22+
23+
I'm not familiar enough with ZIP to understand the rationale for this recommendation or how straightforward it would be to follow.
24+
25+
Specifically for Java, Zip files can be written with [`ZipFile`](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/zip/ZipFile.html) or the [optional Zip file system module](https://docs.oracle.com/en/java/javase/25/docs/api/jdk.zipfs/module-summary.html).
26+
I believe both support ZIP64, but I do not see an API to request that it is always used, including for smaller files. Apache Commons Compress [provides more ZIP64 control](https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.html#setUseZip64(org.apache.commons.compress.archivers.zip.Zip64Mode)), at the expense of requiring an extra dependency.
27+
28+
The source for OpenJDK's `ZipFileSystem` [mentions a `"forceZIP64End"` property](https://github.com/openjdk/jdk/blob/master/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java#L179), but this appears to be undocumented.
29+
30+
Will guidance / tooling be provided to achieve this recommendation in common languages?
31+
Otherwise, if it's technically hard to achieve and likely to be ignored in practice, might this be downgraded from SHOULD to MAY?
32+
33+
### Use of `.ozx` extension
34+
35+
The use of a simple extension is very welcome.
36+
Multi-part extensions are poorly supported in JavaFX file choosers, with different behavior across platforms.
37+
38+
### Image preview
39+
40+
Under **User experience-related challenges**:
41+
42+
> Similarly, some operating systems expect an image to be stored in a single file, as apparent by e.g. file permission systems, file type concepts (e.g. file name extensions) and file type-dependent functionality (e.g., double/right-click, drag-and-drop, preview).
43+
44+
The 'preview' aspect makes it tempting to want to embed a thumbnail, which could be supported by some applications or operating system plugins.
45+
Should this be explicitly forbidden / discouraged / encouraged in a standard way?
46+
47+
48+
## Recommendation
49+
50+
Adopt, with some clarification around ZIP64 to ensure the recommendation is justified and readily achievable across most relevant programming languages.

rfc/9/reviews/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Reviews
2+
3+
Reviews of RFC-9:
4+
5+
```{toctree}
6+
:maxdepth: 1
7+
:glob:
8+
*/index
9+
```

0 commit comments

Comments
 (0)