Coda Project Management

by Clay Of Man in Addons


This Addon uses a python module, codaio, as a wrapper for the coda.io API to read and write from for the purposes of tracking information on a UID basis. Its goal is to be as flexible as possible for a range of user/small studio needs and to accommodate for the change and expansion of the coda document.


Requirements:

Installation of codaio python module via pip, addon pip handler, or similar.
Coda profile (Free ones are available)
Read/Write Coda API key (Generated under account settings)
    Note: Its recommended that all users have their own unique coda API keys


Addon Architecture: 

This addon separated into three main components: reading, drawing and writing. 

  • Reading
    • Reading is where the information of a row is tied to the information about column type and generates a property group item to be displayed in the UI. 
    • Injection settings use the column names in a list (without spaces) to match and inject information into these property group items or control what cells are viewable.
      • For example the Linked Assets Injection finds a column and replaces the files contents with a list of all current linked libraries UIDs
  • Drawing
    • Drawing is where the UI takes these property groups and interprets them based on string tags to show their associated information in the correct way
  • Writing
    • Writing is where the addon returns the list of editable items + exceptions created by injection settings, and creates lists of information based on column and information which is then written in to coda


Inject settings:

Injection settings gives a list of options to change the way that the addon interprets, displays or assigns information to retrieved data.
As coda allows column names to have spaces these lists must not have leading or trailing spaces around each entry.

  • FilePath Column is a list of column names that a string containing the full filepath is written to.
  • Linked List Column is a list of column names that a string containing every UID (See UID) of linked files is written to
  • ViewOnly is a list of column names that can only be Viewed and will not write to coda (Baring exceptions of columns made by Filepath and Linked in Write)
  • Edit Only is a list of column names that dont display in the viewed Selection but can still be written to.
  • Table Whitelist Is a list of table names that when populated will filter the table dropdown menu
  • Doc Whitelist is a list of Doc names that when populated will filter the table dropdown menu
  • Playlblast bool (impl 0.9.3) is a list of columns that will be checked when a file is rendered
  • Playblast Filepath (impl 0.9.3)  is a list of columns that will have the rendered files path inserted into
  • Import setting is a string filepath that will attempt to import the settings .json file set to update the injection settings on every time the file loads.
    • This is for the studio tech to propagate injection settings to the team as the Coda File is being changed.


UIDs:
UIDs or universal IDs are the trunkated names of files without R_A_ or _V_A_001 pre or suffixes that I use for file version and branch control
UID of each matches:
Asset_Example == R_A_Asset_Example == Asset_Example_V_B_012


Known issues:
Information via the Coda API takes a few seconds to a 30 seconds to update, changes written then read quickly may return stale information

Coda's API python Wrapper has a slight change to hang while attempting to resolve a connection that was lost. Attempting to close the blender document and clicking 'attempt to
restore program' and retrying usually resolves this issue.

Choose a product version:

Dev Fund Contributor
Published about 1 year ago
Blender Version 3.0, 3.1, 3.2, 3.3, 3.4
License GPL
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message