What's New¶
Last Updated: December 2018
Refer to this article for information about each new release of Tethys Platform.
Release 2.1.3¶
Python 3 Support¶
Python 3 officially supported in Tethys Platform.
Python 2 support officially deprecated and will be dropped when Tethys Platform 3.0 is released.
Tethys needs to migrate to Python 3 only so we can upgrade to Django 2.0, which only supports Python 3.
Important
Migrate your apps to Python 3. After Tethys Platform 3.0 is released, Python 2 will no longer be supported by Tethys Platform.
100% Unit Test Coverage¶
Tests pass in Python 2 and Python 3.
Unit tests cover 100% of testable code.
Code base linted using flake8 to enforce PEP-8 and other Python coding best practices.
Automated test execution on Travis-CI and Stickler-CI whenever a Pull Request is submitted.
Added badges to the README to display build/testing, coverage, and docs status on github repository.
All of this will lead to increased stability in this and future releases.
See: Tethys Platform Repo for build and coverage information.
Tethys Extensions¶
Customize Tethys Platform functionality.
Create your own gizmos.
Centralize app logic that is common to multiple apps in an extension.
Map View Gizmo¶
Added support for many more basemaps.
Added Esri, Stamen, CartoDB.
Support for custom XYZ services as basemaps.
User can set OpenLayers version.
Uses jsdelivr to load custom versions (see: https://cdn.jsdelivr.net/npm/openlayers)
Default OpenLayers version updated to 5.3.0.
See: Map View
Class-based Controllers¶
Added
TethysController
to SDK to support class-based views in Tethys apps.Inherits from django
View
class.Includes
as_controller
method, which is a thin wrapper aroundas_view
method to better match Tethys terminology.UrlMaps can take class-based Views as the controller argument:
MyClassBasedController.as_controller(...)
More to come in the future.
See: Django Class-based views to get started.
Partial Install Options¶
The Tethys Platform installation scripts now allow for partial installation.
Install in existing Conda environment or against existing database.
Upgrade using the install script!
Linux and Mac only.
Commandline Interface¶
New commands to manage app settings and services.
tethys app_settings
- List settings for an app.tethys services
- List, create, and remove Tethys services (only supports persistent store services and spatial dataset services for now).tethys link
- Link/Assign a Tethys service to a corresponding app setting.tethys schedulers
- List, create, and remove job Schedulers.tethys manage sync
- Sync app and extensions with Tethys database without a full Tethys start.
See: app_settings <app_name>, services <subcommand> [<subsubcommand> | options], link <service_identifier> <app_setting_identifier>, schedulers <subcommand>, and manage <subcommand> [options]
Dockerfile¶
New Dockerfile for Tethys Platform.
Use it to build Docker images.
Use it as a base for your own Docker images that have your apps installed.
Includes supporting salt files.
Dockerfile has been optimized to minimize the size of the produced image.
Threading is enabled in the Docker container.
See: Docker Documentation to learn how to use Docker in your workflows.
API Tokens for Users¶
API tokens are automatically generated for users when they are created.
Use User API tokens to access protected REST API views.
Documentation¶
Added SSL setup instruction to Production Installation (see: 4. Setup SSL (https) on the Tethys and Geoserver (Recommended))
Bugs¶
Fixed grammar in forget password link.
Refactored various methods and decorators to use new way of using Django methods
is_authenticated
andis_anonymous
.Fixed bug with Gizmos that was preventing errors from being displayed when in debug mode.
Fixed various bugs with uninstalling apps and extensions.
Fixed bugs with get_persistent_store_setting methods.
Fixed a naming conflict in the SelectInput gizmo.
Fixed numerous bugs identified by new tests.