mirror of https://github.com/perkeep/perkeep.git
db2604f981
The current maximum size for a schema blob is 1MB. For a large enough directory (~20000 children), the resulting static-set JSON schema is over that maximum size. We could increase that maximum, but we would eventually hit the maximum blob size (16MB), which would only allow for ~300000 children. Even if that is an uncommon size, it is technically possible to have such large directories, so I don't think it would be reasonable to restrict users to such a limit. So it does not seems like enough of a solution. The solution proposed in this CL is to spread the children of a directory (when they are more numerous than a given maximum, here set to 10000) onto several static-sets, recursively if needed. These static-sets (subsets of the whole lot of children) are stored in the new "mergeSets" field of their parent static-set schema. The actual fileRefs or dirRefs, are still stored in the "members" field of the subset they were spread in. The "mergeSets" and "members" field of a static-set are therefore mutually exclusive. Fixes #924 Change-Id: Ibe47b50795d5288fe904d3cce0cc7f780d313408 |
||
---|---|---|
.. | ||
example-blobs | ||
json-signing | ||
protocol | ||
publishing | ||
release | ||
schema | ||
todo | ||
README.md | ||
app-environment.md | ||
arch.md | ||
client-config.md | ||
compare.md | ||
environment-vars.md | ||
overview.md | ||
overview.txt | ||
principles.md | ||
prior-art.md | ||
release.txt | ||
search-ui.md | ||
server-config.md | ||
sharing.md | ||
status.md | ||
storage-examples.md | ||
terms.md | ||
uses.md | ||
web-ui-styleguide.md |
README.md
Documentation
- Overview: The original motivation and background for why Perkeep exists and what one might use it for.
- Compare: how Perkeep compares to similar services and software
For Users
If you're just looking to set up a Perkeep server and use it yourself, check out our getting started guide. The documents below go into more detail on customizing the high level configuration for use such as alternative blob storage or synchronization to cloud storage.
- Command-line tools
- Server Config: Details for configuring server storage and access, including synchronization to other Perkeep servers or backup to cloud storage providers
- Client config: Clients need this configuration file to securely connect to your Perkeep server(s)
- Search Commands: Covers the available search operators
For Developers
If you want to help the development of Perkeep or just want to know more about the how and why behind Perkeep, these docs are going to help you get started. Something we didn't cover here that you're interested in? Ask on the mailing list.
Concepts
- Principles: our base principles, goals, assumptions
- Terminology: let's agree on terms to stay sane
- Use Cases: what one might do with all this (or at least our aspirations)
- Prior Art: other projects with similar goals or strategies
- Contributing: how to help
- Style guide for the Web UI
Technical Docs
- Packages: internal API documentation
- Architecture: the pieces, layers, and how they interact
- Schema: how we model data in Perkeep
- Protocol: HTTP APIs (discovery, blob storage, JSON signing, ...)
- JSON Signing
- Sharing
Presentations
- 2016-04, GDG Seattle: [slides] [video]
- 2016-04, LinuxFest Northwest: [slides] [video]
- 2015-02, FOSDEM: [slides] [video]
- 2014-02, FOSDEM: [slides] [video] [WebM]
- 2013-06, Google Developers Live: [video]
- 2011-05, São Paolo Perl Conference: [slides]
- 2011-02, First Introduction: [slides]