Comments (3)
Hi @ryantomaselli! Thanks for asking. A little background about the project may help. serverless-iiif
was originally developed as a small proof-of-concept repo extracted from a bigger project I wrote to serve up images for NU's Digital Collections. It's since grown into a full-fledged project, but it still has some code in it that belies its “minimum viable demo project” roots.
The TIFF limitation isn't a hard technical limitation – the server will work with whatever source image you give it, as long as it can be read by the sharp image library. I chose pre-tiled pyramid TIFFs because they already have multiple resolutions and tiles embedded in them, so sharp can carve them up more efficiently than other formats. But as long as the source image is accessible and sharp can parse it, it should be fine.
Same with the headers – I went with a sane default for a public server just to prove the concept.
The hard-coded .tif
extension is easy enough to change – resolvers.js
is meant to be the file that gets overridden and customized for specific configurations anyway. So the short answer is that the things you mentioned are not difficult to change, but they're not configurable – you'd have to fork the repo, make those changes in code, and deploy your customized version.
In that vein, perhaps moving the response headers into a resolver would solve that issue for you as well, along with more documentation on how to easily deploy a customized version of the server. (Did you deploy your existing service using the Serverless App Repository link, or the command-line sam
tool?)
We're just now working on moving serverless-iiif
out of Northwestern University Library's GitHub organization an under the umbrella of the Samvera Community. I'll still be maintaining the project, but I'll have more help and hopefully some additional perspectives and use cases to make the service more generalizable.
from serverless-iiif.
Ah! Thanks for the detailed response @mbklein, that helps.
Yes I did deploy using the Serverless App Repository link and I made the edits to those 2 files using AWS Console directly (for now).
Some documentation on "how to easily deploy a customized version of the server" would be unreal.
Great to hear this project will getting more investment!
from serverless-iiif.
@ryantomaselli serverless-iiif
now supports an alternate customization method – the use of a CloudFront distribution with a viewer-request function to handle things like file resolving (as above), as well as authentication/authorization and other things. Full documentation for it isn't available yet, but there's an early draft/intro in the README, and issue #53 calls for improved customization docs.
from serverless-iiif.
Related Issues (20)
- Match `Access-Control-Allow-Origin` to incoming `Origin`
- Project Branding
- Look into Lambda Streaming Response to replace 6MB workaround HOT 3
- CloudFront cache key should include Origin header when using REFLECT_ORIGIN HOT 1
- CloudFront caching interfering with CORS responses HOT 1
- Error: VipsJpeg: Bogus JPEG colorspace HOT 2
- Question -- upgrade path HOT 5
- unable to deploy standalone version HOT 4
- problems on 4.3.2 that were not on 4.2.0, maybe with image dimensions? HOT 5
- image dimension errors HOT 4
- Which viewers work best with serverless-iiif? HOT 3
- Image contains errors HOT 5
- Error: Input image exceeds pixel limit HOT 5
- Add S3 metadata info to docs
- Extract region and OpenSeaDragon error HOT 9
- can one define a custom host name in place of the Lambda host name HOT 2
- Remove `sizes` property from `info.json`? HOT 1
- Support for nodejs20 runtime
- Fix response limit docs
- Using Serverless IIIF with Cloudfront and Origin Access Control HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serverless-iiif.