1.3.0

New Features

Comments

From now on it is possible that two Users collaborate on a 3D Project by adding comments to it!
Commenting can be used to either

  • communicate with colleagues from the same team
  • communicate with the printing service

The feature is straight forward to use:

  • Just go to a 3D Project and leave a comment.
  • Invite other users to the 3D Project
  • Users can reply to a comment (By clicking the "Reply" button)
  • Users can edit or delete own comments
  • A e-mail notification is send for every new comment to all people that can access the 3D Project (except to the commenter itself)

We will monitor now how the feature is used and may improve it in the future (e.g. by adding text-formatting tooling). 


OAuth

It is now possible to connect our Application with any oAuth provider. oAuth is the de facto standard for Single-Sign-On (SSO).

The Login/Signup System can now be configured in several ways: For each organization it can be configured (by a 3YD-Developer):

  • Either to use our classic Authentification (Username + Password)
  • To only use oAuth with an external Signup and Login Process
  • To use a combination of both (Signup with 3YOURMIND or oAuth Provider)

Sample Data

From now on, every new instance of our platform can be easily populated with some sample data. We expect that this helps a lot developing, testing and deploying the platform into new environments. The sample data contain two organizations: "Multi" (multi.whateverserver.com) and "Single" (single.whateverserver.com).

Webhooks

Every Printing Service now has its own webhook interfacing with our API.

Download Endpoints

Internally, we switched from downloading files from our server directly to using download endpoints.
This makes downloads safer and ensures that files can only be accessed by the specified user.

Improvements

  • [B3-2792] - Printing Services can now easily switch between VAT, Tax, and Sales Tax.
  • [B3-2830] - Manual request emails' format is changed and can include files.
  • [B3-2706] - User cannot delete Fulfillment Partners from the database - use DeleteDate Manager for FullFillment Partners.


  • [B3-2609] - Verifier of addresses are easier to assign.


  • [B3-2572] -  Organizations can customize the names and properties of the materials shown. 


  • [B3-2705] - Gap analysis values are added to catalogue_product.


  • [B3-2658] -  all_public_partners_enabled is replaced, the field is not used anymore. 


  • [B3-2401] -  CSRF errors are improved, logging in on multiple tabs does not cause a problem anymore. 


  • [B3-2709] - "Clone 3D Project" button is added to the ordered project page.
  • [B3-2157] - The way emails are sent is unified. 
  • [B3-2463] - Better shipping methods are shown in project.
  • [B3-2472] - Materials (Products) cannot be deleted. 
  • [B3-2590] - Upload flow simplified.
  • [B3-2686] - Help text that is shown when part is too big is improved.
  • [B3-2700] - POST not sent on project detail when project is ordered.
  • [B3-2740] - Inches can now be set more accurately with two digits behind the decimal point.
  • [B3-2780] - The new field "Tradename (DE)" was added to the editable product page.
  • [B3-2778] - Our code has been refactored to comply to PEP8 Coding Standart.
  • [B3-2801] - Now it is impossible to delete a StockRecord.
  • [B3-2819] - Baskets are now stable after redesigning the deletion of files and the mapping to UUIDs.
  • [B3-2747] - Manual Pricing User is deprecated to ensure backwards compatibility.
  • [B3-2886] - Pipelines Caching is added to our Bitbucket repository.

Bugfixes

  • [B3-2701] - The print-ability filter doesn't work as expected.
  • [B3-2723] - Sentry: AttributeError: 'NoneType' object has no attribute 'full_product_title'.
  • [B3-2724] - Sentry: DoesNotExist: Order matching query does not exist.
  • [B3-2730] - Sentry: materialise API - TypeError: string indices must be integers.
  • [B3-2738] - Tax is calculated wrong.
  • [B3-2741] - Should not be able to request manual price unless all lines completed.
  • [B3-2744] - After manual pricing printing service marked as 'no access' but it does.
  • [B3-2749] - Sentry: AttributeError: 'NoneType' object has no attribute 'all_public_partners_enabled'.
  • [B3-2753] - Sentry: AttributeError: 'NoneType' object has no attribute 'lower'.
  • [B3-2760] - Remove SESSION_COOKIE DOMAIN.
  • [B3-2779] - Sentry: error when onboarding user.
  • [B3-2757] - Styling issue.
  • [B3-2800] - Sentry: ShippingMethod does not exist psconfig.
  • [B3-2811] - Basket API calls make wrong price displayed.
  • [B3-2820] - Sentry: AttributeError: 'NoneType' object has no attribute 'currency'.
  • [B3-2826] - Sentry: NoReverseMatch: u'promotions' is not a registered namespace.
  • [B3-2833] - Strange text appears when the order has a status "In Production" or "Shipped".
  • [B3-2793] - Sentry dev: NoneType object has no attribute stockrecords.
  • [B3-2810] - is_opened is NULL and the owner is not set.
  • [B3-2831] - Sentry: ValueError: Expecting property name: line 1 column 13 (char 12).
  • [B3-2834] - Wrong filextension detection in JavaScript.
  • [B3-2836] - Currency on Dashboard is wrong.
  • [B3-2869] - Sentry: Exception while updating basket line.
  • [B3-2872] - Sentry: AttributeError: 'NoneType' object has no attribute 'users'.
  • [B3-2876] - Sentry: RelatedObjectDoesNotExist: Organization has no site.
  • [B3-2877] - Sentry: update basket: get() returned more than one StockRecord -- it returned 2!
  • [B3-2879] - Sentry: RelatedObjectDoesNotExist: Site has no organization.
  • [B3-2888] - Sentry: payment methods IndexError: list index out of range.
  • [B3-2889] - Sentry: KeyManager UnicodeEncodeError.
  • [B3-2890] - Verification email message empty.
  • [B3-2893] - Sentry: 'NoneType' object has no attribute 'get_bounds'.
  • [B3-2906] - Sentry: AttributeError: 'NoneType' object has no attribute 'partner'.
  • [B3-2722] - Sentry: AttributeError: 'NoneType' object has no attribute 'strategy'.
  • [B3-2752] - Negative Prices shown for some eCommerce platforms.
  • [B3-2831] - Sentry: ValueError: Expecting property name: line 1 column 13 (char 12).
  • [B3-2836] - Currency on Dashboard is wrong.
  • [B3-2841] - Sentry: AttributeError: 'module' object has no attribute 'InvalidOrderStatus'.
  • [B3-2850] - Sentry: ipinfo.io has returned bogus stuff.
  • [B3-2853] - Sentry: HTTPError: HTTP Error 403: Forbidden.
  • [B3-2857] - The iframe doesn't show materials.
  • [B3-2858] - Product title not translated when overridden.
  • [B3-2862] - The button "download" in the order confirmation e-mail directs to wrong URL.