Just a short post covering all updates recently made within the SeaMist GitHub Repository. I’ve strived to implement most of the Kraken.io features, and in addition to this made some project changes as well.
SeaMist Updates whats new
Let’s start with the Kraken.io API features which were missing until now:
1- API Sandbox
I’ve included Sandbox/development mode within SeaMist. This will enable the option to play around or write integration tests without having to worry about account quotas. There are some rules on how the API behaves when enabling Sandbox mode. In most cases all settings will be applied on a set of test images provided by Kraken.io. Details can be found within the Kraken.io docs.
2 – Preserving Metadata
By default, Kraken.io will strip all the metadata found in an image to make the image file as small as it is possible. Entries like EXIF, XMP and IPTC tags, color profile information, etc. will be stripped altogether.
However, there are situations when you might want to preserve some of the meta information contained in the image, for example, copyright notice or geotags. In order to preserve the most important meta entries add an additional PreserveMeta array to your request with one or more of the following values: Date Copyright Geotag Orientation Profile
3 – User Status / Account information
Kraken.io allows you to programmatically query your account status, enabling you to retrieve details such as your subscription plan, quota information as well as the “active” status of your account. This information can be useful for instances where the user needs to be alerted when the quota is about to be reached.
4 – Reseller Account
I’ve only implemented the “Get all Subaccounts” API call given that I’m not a Kraken.io reseller. This information here is helpful in case you would like to manage and monitor your accounts via a custom interface or automated.
Apart from the including existing Kraken.io API calls, I’ve also improved the project layout and code by adding the following:
- Added a Test project containing unit tests and integration tests
- Build script are now written in FAKE (f#) instead of PowerShell
- Implemented Argument checks
- It’s now required to provide a OptimizeWaitRequest object when calling OptimizeWaitResult and not the object which implements the IOptimizeRequest interface.
- IRequest should have been the name for the request interface instead of IOptimizeRequest which has been corrected (design mistake).
If you like using SeaMist, please use the following Referral url https://kraken.io/?ref=af2523fcd661 or leave a comment! Bugs and feature requests can be entered using GitHub or just leave me a message. Thanks!