From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

2016

Week of 2016-mar-28

  • Blender ID addon: Using setuptools to build a distributable ZIP that can be installed by Blender.
  • Blender ID addon: Added documentation on how to build, install and use the addon.
  • Blender Cloud addon: Use addon pref to store default texture dir, allowing per-scene override.
  • Blender Cloud addon: Updated README.md to use Phabricator's Remarkdown.
  • Blender Cloud addon: Added setup.py so we can package the addon as ZIP.
  • Blender Cloud addon: Download & bundle dependencies as wheel files from setup.py.
  • Blender Cloud addon: Updated README with building & installation instructions.
  • Blender Cloud addon: investigated Responses as replacement for httpretty.
  • Pillar: Validate authentication token on every request.
  • Pillar: Always set g.current_user (to None when not logged in).
  • Pillar: When BlenderID is unreachable, log an error and handle as not logged in (instead of crashing).

Week of 2016-mar-21

  • Pillar: added unit tests for various things, and added setup.py to enable automated testing
  • Pillar: security fixes and other fixes for file storage
  • Pillar + SDK: generated Google Cloud Storage links are now cached (and properly expired) in MongoDB.
  • Pillar Python SDK: Added support for saving Pillar Resource objects as JSON.
  • Pillar Python SDK: added util function for filename sanitation.
  • Blender Cloud Addon: Thumbnails are now downloaded using HTTP caching headers, also supporting "304 Not Modified".
  • Blender Cloud Addon: All files belonging to a texture are downloaded with one click.
  • Blender Cloud Addon: Downloaded textures are loaded into Blender image datablocks.
  • Blender Cloud Addon: Solved race condition in asyncio loop kicking.
  • Blender Cloud Addon: Documented asyncio-based approach
  • Blender Cloud Addon: discussed integration with Asset Engine with Bastien and Campbell.
  • Blender Cloud Addon: Thumbnails are only downloaded once per session (at most).
  • Blender Cloud Addon: Faster cancelling of thumbnail downloads.
  • Blender Cloud Addon: Include 'map type' in texture filename.
  • Blender Cloud Addon: Per-BlenderID-user cache.
  • Blender Cloud Addon: Added exception drawing code.
  • Blender Cloud Addon: Added script to build and/or download dependencies.
  • Blender Cloud Addon: extended documentation.

Week of 2016-mar-14

  • Pillar: Streamlined some GCloud credential and Eve configurations
  • Pillar Python SDK: added HTTP sessions for connection pooling and to allow client-side caching.
  • Blender Cloud Addon: added basic GUI (no search/filter/scroll) with OpenGL drawing
  • Blender Cloud Addon: fixed stability issues with asyncio
  • Blender Cloud Addon: added much more logging
  • Blender Cloud Addon: added actual downloading of textures
  • Blender Cloud Addon: designed communication & filesystem layout: https://github.com/armadillica/blender-cloud-addon#communication--file-structure
  • Blender Cloud Addon: added HTTP-level caching to disk, in OS-specific cache directory.
  • Blender Cloud Addon: added way to ship Python wheel files with the addon, for 3rd party dependencies.

Week of 2016-mar-07

  • Blender ID: Made default set of OAuth clients more generic/configurable.
  • Blender ID: Fixed bug in updating addresses
  • Blender ID: No longer using deprecated TextField alias for StringField
  • Blender ID: Moved from Country database table to using pycountry. This allows running the migrations on an empty database.
  • Blender ID: Upgraded to latest WTForms (2.1)
  • Blender ID: Documented commands to get Blender ID working.
  • Blender ID: Added token expiry and removed one-token-per-client
  • Blender ID Addon: Replaced SystemUtility and ProfilesUtility with modules.
  • Blender ID Addon: Moved all files to a blender_id subdirectory, so that it can be imported & used by other addons.
  • Blender ID Addon: Create profiles.json with the correct permissions.
  • Blender ID Addon: Added verification of auth token.
  • Pillar: Configured logging.
  • Pillar: Fixed security hole.
  • Pillar: Fixed permission check.
  • Pillar SDK: set up unit testing with Tox.
  • Pillar SDK: allow SDK to override MongoDB projections and include required fields.
  • Blender Cloud Addon: created addon, has Python functions for fetching texture information.
  • Blender Cloud Addon: allow browsing texture library from Pillar, still uncached.
  • Blender Cloud Addon: using Python 3.5's new asyncio features to make the addon work without blocking Blender's UI
  • Blender: bundled Certificate Auth certificates with Blender (9f8311ee8871, will be included in 2.77)
  • Blender: investigated EnumProperty's icon view ability to stay open and allow file-browsing. Conclusion: for now it's not usable.

High-level description:

  • Blender ID can be installed on an empty database (previously required a clone of the production DB), and this process is documented.
  • Made preparations to offer a Blender ID API to other addons.
  • Fixed security holes in Pillar; 1) where an attacker could overwrite all files, including Pillar itself, and 2) where permissions weren't properly checked.
  • Created alpha version of Blender Cloud texture browser, and exposed limitations of Blender's EnumProperty icon view.
  • The Cloud addon is now using Python 3.5's new asyncio features to work without blocking Blender's UI.

Week of 2016-mar-01

  • Installed desktop & got Blender Cloud/ID environment running locally.
  • Blender ID: Migrated REST authentication token to OAuth token.
  • Blender ID: Allow running Alembic in Docker
  • Blender ID Addon: various bugfixes, code flow/layout optimizations, warning fixes
  • Blender ID Addon: security fixes
  • Blender ID Addon: Implemented special snowflake BlenderID authentication
  • Blender ID Addon: Store the profile.json file inside the Blender config directory
  • Pillar: Added unit testing support
  • Pillar: Fixed bug in validate_token(), it now returns the validation status.
  • Pillar & Pillar web: Unified requirements.txt so that both can run from the same virtualenv.
  • Pillar & Pillar web: Cleaned up code.
  • Pillar web: Implemented OAuth2 authentication against Blender ID; Replaced old login with OAuth2 login.

Executive summary:

  • I got my computer set up so I can work on Cloud/ID stuff.
  • The Blender ID addon authenticates against Blender ID using username/password and receives a valid OAuth2 token.
  • Pillar Web uses OAuth2 to authenticate against Blender ID.