Time/Place
This meeting is a hybrid teleconference and slack chat. Anyone is welcome to join...here's the info:
- Time: 11:00am Eastern Daylight Time US (UTC-4)
- Audio/Video Conference Link: https://lyrasis.zoom.us/j/396037251
- Meeting ID: 396 037 251
- Find your local number: https://lyrasis.zoom.us/u/ad6Xb7q3ia
Join fedora-project.slack.com on the "tech" channel
- Self-register at: http://slack.fcrepo.org/
Attendees
Agenda
- Announcements/Updates
- Tickets fixed last week:
- Fedora Online User Group (Week of August 10)
- Ongoing sprints
- Tickets fixed last week:
- July Sprint
- Defining Fedora ID limits
- What are limits are non-negotiable
- Of those that are negotiable, what is the recommendation
- is it user friendly?
- will it be performant?
- will anyone be unable to use Fedora as a result?
- List of limits to consider:
- OCFL object root directories
- uri limits
- invalid characters or character patterns
- ?
- Current work
- 5.1.1 Release?
- We should submit some proposals to the "Online Fedora Users Group"
- FCREPO-3306 - Re-establish Demo Server OPEN - what are the dependencies?
- Remove `master` branch?
Your Topic Here
Tickets
In Review
Please squash a bug!
Tickets resolved this week:
Tickets created this week:
Notes
Online User Group
- Can we, as the tech team, bring updates from the upcoming release?
- Docker: logs, Fedora-via-docker
- Fedora 6 features: search, OCFL
- Deadline: July 10th
July sprint
- July 6 - 10
- Objectives
- Simple search
- Clarity on F6 layout/headers
- Side-loading API
- Bug-fixing
- Verify that jmeter testing works (large number of files, containers)
- verify purpose? F6 improvements?
- DB issues
- containment index with Postgres
- search on MySQL
- Search issue
- date filtering
Fedora ID limits
- Scope of discussion
- encapsulation directory name (255 char limit)
- path length: especially archival groups
- Fedora-ID to OCFL-ID mapping
- Transparency of what is on the filesystem is very important
- encapsulation dir: deriving path on disk is sufficient
- files in object be named as provided
- Encoding for Windows may not be required on Linux
From Slack
Some background on the various factors that impact what's allowed in a Fedora ID. An ID part is a string that results from splitting an ID on the / character. For example: foo/bar/baz => [foo, bar, baz] OCFL restrictions: - ID parts cannot equal . - ID parts cannot equal .. - ID parts cannot be empty, eg. // These restrictions are non-negotiable. Fedora restrictions due to storage layout: - ID parts cannot equal .fcrepo - ID parts cannot equal fcr-root - ID parts cannot equal fcr-container.nt - IDs cannot end with ~fcr-desc or ~fcr-desc.nt - IDs cannot end with ~fcr-acl or ~fcr-acl.nt These restrictions are negotiable, but only by devising a different storage layout. Filesystem restrictions: - ID parts cannot exceed 255 characters - IDs cannot contain characters that the filesystem considers illegal (this is a real problem for supporting Windows) - The absolute path to a file cannot exceed 2048 characters (this is likely a squishy requirement on linux; on Windows the limit is ~32,767) These restrictions vary by filesystem. Filesystem restrictions can affect Fedora IDs in two ways. 1. Fedora IDs are mapped to OCFL IDs, and OCFL IDs are mapped to a path under the OCFL storage root. If all of these mappings are direct, then the Fedora ID determines the names of directories on disk. 2. Parts of Fedora IDs are used to name files within OCFL objects, OCFL logical paths, and these logical paths are mapped to content paths, which are the paths where files are physically stored on disk. Again, if all of these mappings are direct, then the Fedora ID determines the names of files on disk. Database restrictions: - IDs cannot exceed 503 characters This restriction stems from the fact that Fedora IDs are used as keys for some tables, and 503 characters is the largest size these columns could be in MySQL. This restriction could be lifted if a surrogate key was used instead. Search restrictions: - IDs cannot contain: *, <, >, = These restrictions are a result of how search conditions are parsed.
Actions
- Danny Bernstein to ensure that a JIRA exists for scenario of transaction does not succeed completely, but rollback does succeed (see: 2020-07-02 - Fedora Tech Meeting)
- Peter Winckles to create a JIRA to investigate support for optimistic locking and mutable head (see: 2020-07-02 - Fedora Tech Meeting)
- Who: Clarify in documentation that multiple simultaneous writes to OCFL are not supported