TACTIC 4.1.0.v02


Client API Changes

  • added checkin_type to add_file() API call so one can specify auto or strict

Bug Fixes

  • only run DbContainer.release_thread_sql() for deleting a sqlite project
  • fixed a problem in saving timestamp in Sqlite
  • updated the naming, search and sql tests to work better with Sqlite
  • updated transaction logging so it can handle checking in of non-ASCII file name
  • made complex expression in Expression Element exportable thru CSV
  • updated upgrade script for file_name in file table for MySQL
  • added expression_test to changed the expression evaluation of vars so that it can support non-ASCII characters
  • Fixed the issue that check in pdf failed and took so long to check-in.
  • Added statement to check whether user has imagemagick converter.
  • Added PDF to NORMAL EXTENSION, so the check-in will not need the metadata of PDF files.
  • fixed a bug in drawing of search filter criteria in saved search
  • Header can be wrapped now by having kwargs wrap_headers as true for a table.
  • Expandable Text Element Widget is now editable(Edit mode > Edit Enable option is active now)
  • fixed possibility of SwapDisplayWdg losing track of whether it is open or not
  • added SObject.is_day_column() to fix the day column saving and displaying issue when saving work hours
  • fixed a display bug in Work Hour Element Widget where today falls on the weekend, it should still provide a special bkgd color on top of the thick border
  • fix bug where returned was assumed an sobject, but was really a list
  • ensured @GET and @GETALL expressions are cached with different keys
  • fixed add_join() implementation in SQLServer so that the prefix is used before ON
  • made it possible to set a Image metadata parser on a file detail widget
  • improved login page for Perforce
  • fixed calendar alignment in Element Column Definition
  • fixed logging into Perforce
  • fixed for "This table [annotation] does not exist for database [sthpw]" on Admin site.
  • added ability to set parent key and set extra data on ingest widget
  • added PythonElementWdg in the list of elements available for a table
  • added SOBJECT_ID and SOBJECT_CODE variables to ExpressionElementWdg
  • added ability to set label on SelectWdg on element definition
  • fixed Directory to handle depth better
  • fixed the case when datetime is empty for sobjects and it is trying
  • to convert timezone
  • converted ExpressionElementWdg to server local time
  • edited process_value for SQLServerImpl so that the string related manipulation is only run when it's a string
  • added unicode conversion on the data going to jsondump for SObject._add_message()
  • added process=* pipeline=* to HI MED and LOW access level so that task security work accordingly in TaskElementWdg and TaskStatusSelectWdg
  • added handling of an integer number column being a long number in Search.add_relationship_filters()
  • added more latest_versionless test and current_versionless tests to checkin_test.py
  • added ability to explicitly set the width of a button
  • fixed html5 upload from check-in widget
  • fixed faulty logic on dynamic loading.
  • another fix for column add
  • fix on create project if default project does not exist
  • updated the SQLServer process_value for timestamp so that it would handle datetime object properly
  • handled the case when it errors out on SPTDate.convert for a timestamp before epoch
  • updated upgrade script to match code with search_type in search_object table
  • handled case where config file does not exist
  • updated upgrade_script for sthpw/message
  • fixed logic on database specific column adds
  • updated setup expression docs
  • made System Config save and refresh properly in 4.1 by silencing a potential 502 proxy error
  • set the layout on load of table layout wdg regardless of whether the onload js has been loaded


New Features

  • made schema views refreshable using "link" url
  • added concept of root_dir in the DirListWdg
  • made FileDetailWdg be able to take a snapshot as well
  • added ability to just set an sobject to FileDetailWdg.  This will just grab a random latest snapshot for now
  • added the relevant option back to KeywordFilterElementWdg
  • updated expression to handle a single connect
  • added SObjectConnection.get_search()
  • fully implemented the show_context_menu option for Table Layout and Table Layout with Search
  • put default label on select widget for status and assigned
  • added empty option to task status drop down
  • edited task_security_wdg to handle the rule when process or pipeline or both equals to '*', it will set the corresponding group_name true in security_wdg.py.
  • improved ExpressionElementWdg handling of datetime object so they are displayed as string
  • improved Common.process_unicode_string() to encode only when the src is an unicode object
  • improved SelectFilterElementWdg to use a search instance when being run
  • improved the use of SelectFilterElementWdg with column starting with "connect"
  • added the support of "connect" in @SEARCH
  • Added delay in run functions under Timed and Scheduler Thread classes
  • Added condition to produce project URL in the event that value for web is non-existent
  • updated File Browser view execution of a SQL join so it displays an item fine when there are sobjects
  • added @SUBSTITUTE for string in expression language


Database Schema Changes