Release Notes

Released: 2013-12-23
 

Client API Changes

  • updated API method query_snapshots() to better support single=True
  • updated API method get_snapshot() to better support sobject without a code column or value

Bug Fixes

  • updated and simplified ExpressionFilterElementWdg to assume using @SEARCH() expression
  • fixed a bug in the checkin subcontext select drawing.
  • commented out the setting of chunk_size and chunk_num in BaseTableLayoutWdg to fix a bug where a limit higher than 100 appear to be ignored when saved
  • added assigned_values_expr to TaskElementWdg.
  • updated transaction logging so it can handle checking in of non-ASCII file name
  • ensured @GET and @GETALL expressions are cached with different keys
  • renamed the key to tmp_key for a variable used in evaluation palette
  • updated SearchKey.get_by_search_keys() to support keep_order kwarg
  • removed the unnecessary use of str() for code in Snapshot.get_by_sobjects()
  • made complex expression in Expression Element exportable thru CSV
  • updated upgrade script for file_name in file table for MySQL
  • fully implemented the show_context_menu option for Table Layout and Table Layout with Search
  • prevented eval error in query API method
  • updated ExpressionElementWdg to better handle expression error
  • fixed condition when label is empty
  • fix for 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 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
  • updated the SQLServer process_value for timestamp so that it would handle datetime object properly
  • fixed a bug in Check in New File context menu by passing in the auto checkin_type and upload/uploaded mode properly
  • updated importing of PIL
  • added import of PIL in the old and new way so it works in different python on different OS
  • better handling of icon generation failure during project creation
  • fixed a bug by remembering the initial editablility state when switching between different widgets in Edit Column Definition. It only affects the case when switching from an editable type like Formatted to Expression widget.
  • let RawTableElementWdg create a column of the same name by default
  • Edited security_type to set pre-checked box based on the Security Access Levels chart.
  • fixed the bug in Create New Column where the Enable Edit checkbox is disabled if the user hasn't selected any Widget type.
  • fixed the PythonCmd reporting if a script doesn't exist
  • with the sqlserver_timestamp type, a disabled TextWdg is returned for editing.
  • added a SQL compliant way of stating a portion of where condition return empty result set.
  • filtered out timestamp as sqlserver_timestamp for SQLServerImpl
  • added Snapshot.set_booleans() so that is_latest and is_current are set in the update phase of snapshot creation during a check-in
  • improved efficiency of SnapshotIsLatestTrigger by running update_versionless only in update
  • updated Naming to account for not having a file object
  • improved the initialization of Script Editor and set the initial theme to Twilight
  • sthpw_upgrade.py: sinqle quoted to path to allow script to be found on Windows machine even with forward slashes
  • made sure any columns named "timestamp" are double quoted (and leave any column types named timestamp un-quoted)
  • deleted config_upgrade_SQLServer.py and sthpw_upgrade_SQLServer.py files
  • added condition for Sqlite when deleting a project so it won't check it if it still exists since on checking
  • it will create an empty database again.
  • fixed Sqlite implementation of process_value of timestamp column type to fix the bug in insert with auto CURRENT_TIMESTAMP value
  • fixed the bug of Sqlite implementation of nullable by properly detecting the NOT NULL constraint and avoided error messages when inserting new items
  • added screenshot of sameple_02 theme in Project Creation Wizard
  • fixed a bug in Create Project Wizard in the Theme selection UI for Tactic TEAM
  • added C:/ProgramData/Tactic/data/assets as win_32_client_repo entry value.
  • edited Quick Select Directory behavior's is_sandbox to be false in checkin_wdy.
  • fixed provision when my.order_element is NULL
  • added option Quick select file, quick select directory and quick select in folder menu.
  • fixed the issue that function browse_folder always set select_dir = True.
  • fixed a bug in Task Security where it was not removing the task security entries defined in earlier version
  • fixed a bug in Task or Process Security where a user could potentially create a duplicated entry when the user
  • unchecks and checks the same checkbox before saving
  • added the feature so any element in a simple search view can be set to invisible with view='false'
  • corrected config_test, system_test and transaction_test
  • Gear menu -> Print -> (all 3) print options, opens a new page to respect the addresss port
  • turned & into & for HashPanelWdg
  • updated ReplaceWithValueExpressionFilterElementWdg and TaskConnectFilterElementWdg with last_modified_days option
  • caught the error properly in ExpressionElementWdg on the get_display level to avoid error during calculation of the bottom widget
  • made the @SUM operation not throw an error when a column does not exist
  • fixed the metadata parsing with improved ImageMagicParser that account for empty lines and special symbols

 

New Features

  • added "class" kwarg to SelectWdg
  • added @GETALL to the tactic expression language which doesn't try to eliminate duplicated sobjects when traversing through hierarchy
  • updated the conf file for sthpw/login with added department and password re-enter column
  • selected the FFMPEG parser for movie type file
  • added utility script to run sql_convert for all supported database types
 

 

Database Schema Changes

  • added the SQL Server specific upgrade statement
  • added columns named id_column varchar(256) and default_layout varchar(32) to bootstrap_schema.sql for all database types

 

Released: 2013-10-15

Client API Changes

 

Bug Fixes

  • fixed the issue of having a premature trigger firing with versionless snapshot in Windows server file check-in
  • improved display of Check-in history tab  in the Full Check-in Widget
  • added handling of the case when the parent of a task cannot be located when clicking on Work on Task button
  • handled failed icon generation better to let a file check-in to go through
  • updated the import statement in metadata retrieval to import PIL properly even in newer Linux OS.
  • fixed the bug where an & appearing in the file name will prevent the CheckinWdg from drawing properly due to it being an illegal character in xmlrpc. The user is alerted to rename their files.
  • fixed a bug in adding bid_duration to task when the number is interpreted as a string instead of number.

     

New Features

  • improved java applet interaction and suppressed the frequent pop-ups asking for confirmation
  • better error handling of  metadata retrieval, better support of unicode characters in eval and query used in Custom Layout
  • added docx and xlsx to the list of file extensions that skip icon generation
  • used parent as the object to get the file path in SObjectDirListWdg when the stype is sthpw/task and sthpw/notes
  • edited task-configuration file to use default as pipeline-code setting.
  • hid pipeline_code and status attribute in Insert popup of task
     

 

Database Schema Changes

 

Released: 2013-09-25

Client API Changes

 

Bug Fixes

  • updated the HelpWdg to show the Create button when no built-in doc exists
  • fixed a bug in SObjectDirListWdg when a pipeline is not found
  • fixed a typo error in dashboard-conf.xml
  • changed add_base_dir_behaviors and add_base_dir_behaviors to use repo_dir when requests are coming from server
  • fixed the ad authenticate script to support variation of the active directory object
  • updated MySQL server specific upgrade script for sthpw to support drop NOT NULL
  • fixed the bug for setting an element to non editable when the element xml does not exist yet
  • fixed the display issue in task security widget.
  • fixed a bug when ALL is selected in Task Security
  • by using load event to set the message in notification trigger, HTML text message is now displayed properly
  • improved the DialogWdg so that dialog that otherwise appear offscreen will move back in place horizontally only. (as seen in Notes Widget)
  • made the triangle pointer follow properly even at different zoom levels
  • ensured the Attach Flies in DiscussionWdg work with multiple Note/Attach files entries without refreshing the page.
  • deleted the duplicated email message encryption section when sending out email notification
  • Fixed the issue that "Email test" button sends the disorder message when clicks it in Notification section.
  • updated DiscussionWdg to use Html5 upload for attachment. made use of multiple kwarg in UploadButtonWdg
  • added 'mail_sender_disabled' option in System Configuration > mail server section.
  • changed the browser button in SimpleUploadWdg to use html5.
  • fixed the display issue in Notification. Edited filter to use whether the search_type or event's search_type.
  • fixed the bootstrap_load to use sthpw as the targeted upgrade project during TACTIC installation for mysql and sqlserver
  • fixed the bug that cannot save system configuration(linux_server_dir and win32_server_dir) after clicking 'save' button.
  • fixed a bug in js API checkout where it ignores the context
  • fixed a bug in Schema.get_related_search_types() where direction is not used for parent and sthpw schema

New Features

  • added new docs and updated alias file
  • updated the windows config file to include sudo_no_password
  • fixed up sql_test.py and added SearchType.clear_column_cache method
  • improved keywords search handling of | and & in the search string
  • improved SObjectDirListWdg Download button's feedback to user
  • made unique constraint to have a constraint name with a _unique suffix during creation thru Edit Column Definition and CreateTable command
  • used json encoded filename for HTML5 upload
  • used HTML5 to upload preview image in Project Creation
  • used subprocess.call instead of os.system(cmd) to process pdf file icon.
  • added the missing relevant option back into LookAheadTextInputWdg
  • updated the ColumnAlterCmd to use a UNIQUE constraint instead of UNIQUE index
  • added checking conditions for backward comaptibilty in ProcessSecurityWdg and SecurityBuilder remove_process.
  • added support for more pipeline based task status security for TaskElementWdg
  • added project as a variable available to the script_path for naming
  • added access_rules_hidden to the Group List tab
  • added support for all processes checkbox and the pipeline attribute in Task Security so that task status with the same name for different pipeline can be turned on and off individually.
  • added spt.table.set_data()
  • added spt.table.set_changed_color() to FastTableLayoutWdg
  • added get_parent_view() to BaseTableElementWdg
  • added get_view() to BaseTableLayoutWdg
  • widened the input text field in the System Config page
  • added tmp_dir in 'Install' section in the System Config page
  • made checkout js API call return the paths it checks out
  • edited naming validate function to deal with 'empty' sandbox_dir and dir_naming
  • used html5 instead of java to upload the project_image file when creating a new project

 

Database Schema Changes

 

Released: 2013-07-26

Client API Changes

  • added set_config_definition to Python API
  • added "uploaded" mode in Python API simple_checkin as an accepted mode.

Bug Fixes

  • added locale function to decode date in SimpleElementWdg.
  • renamed Plugin Widgets as Custom Layout Columns in Column Manager
  • fixed a bug in Snapshot.create where it will set the version to 1 even if only a Versionless -1 snapshot is left in the db
  • fixed a bug in Sqlite handling of NULL value as 'NULL', it should be unquoted.
  • updated Task Security wording and added a TaskSecurityCbk to not use project code in the saving of the task status access rules xml
  • made sorting of a timestamp column to adopt the same simplified time format as if he chooses group by week / month
  • fixed a bug in Security data saving where it would save duplicated data
  • added functionality to delete the forward slash in checkin_wdg.py  
  • updated read_cookie method to use pure javacript method
  • Added naming validation for sandbox_dir_naming. Deleted all the forward slash at the end.
  • fixed the case when Editing an existing trigger to send a notification
  • added a read_cookie function to spt.environment
  • added check for app_busy message block before showing or hiding
  • added extra protection for non JSON decodable string into FilterData when drawing SearchWdg
  • updated trigger wdg UI to dynamically update the Action area when a new Event is chosen
  • only added the pre-generated script when the event is "A task status is changed"
  • made tab drag setup select the tab right away
  • fixed the TabWdg requiring clicking twice the first time in places like Edit Column Definition or Plugin Manager, by setting allow_drag to False
  • updated Manage Search Type view to make use of BaseSectionWdg
  • when modifying column data type, the definition xml will be updated as well
  • fixed the broken button in the create column for Schema view so it will open the Project Schema now. 
  • removed the saving of entries into the deprecated prod/custom_property
  • fixed General CheckinWdg UI occasional class import errors by removing GearMenuWdg and importing it from tactic.ui.container.
  • changed location of GearMenuWdg, Menu and MenuItem in remaining scripts to correct import error for GearMenuWdg, Menu and MenuItem
  • made PythonTrigger work well in same process, different transaction
  • edited search.py to handle separated string when '@ORDER_BY' function is called. 
  • fixed a bug where "Files are checked in" event  is incorrectly saved as __custom__ in pipeline mode 
  • prevented checkin event trigger from saving anything to the search_type attribute of a server trigger
  • fixed button widget so that you can use it in a custom layout
  • prevented adding extra behavior to Process Select when drawn in a EditWdg for insert of a task
 

New Features

  • added empty option to DatabaseAction to simulate the deprecated NonEmptyAction
  • simplified the order_by logic a little in BaseTableLayoutWdg
  • made it backward-compatible in case people set the order_by value to "true" in ExpressionElementWdg
  • made local expression like @GET(.code) work for ordering in ExpressionElementWdg
  • let search_limit show even if expression option is used in FastTableLayoutWdg
  • improved Plugin Install to handle unique attribute for widget config, naming and url properly
  • fixed the HAS_IMAGEMAGICK error during check-in
  • made CheckinMetadataHandler work better with int or float value from PIL metadata parser
  • modified dashboard-conf.xml, shows the 'Tasks' in dashboard's tab top instead of admin site view. 
  • removed help button on presentation layer when engine not present
  • added support for multiple uploads in one http request
  • adjusted the CheckboxWdg alignment so that the label is vertically aligned center, which should affect it in pages like Configuration page 
  • Add default codes before the script when user choose 'Run python code' where event is 'A task is changed'
  • Modified the trigger action when the Event is 'A task is changed'. Saved the user's choice. 
  • added context menu on side bar manager.
  • added a new Card Layout to layout switcher
  • added ability to add a keyword search on the view panel wdg shelf
  • added show_keyword_search display option to ViewPanelWdg
  • added kwargs as a keywod argument top PythonCmd 
  • hid the unittest and sample3d plugins in Plugin Manager
  • added MIN access level between LOW and NONE that has access to all search_types
  • handled API methopd eval(@GET(.attribute)) better for non-ASCII characters
  • renamed the kwargs tab to Options in Custom Layout Editor
  • added Display Name of users in Configuration page
  • updated Security for the support of MIN
  • updated note and task creation to set the project code after the sobject instead of the current project
  • added update_row|<search_type> event when an item is edited   
  • optimized FastTableLayoutWdg by skipping the setup of client triggers when in temp mode
  • retained the function to set the table on refresh of a table with the refresh button. That indirectly help widgets that rely on the current table like Work hours widget to work properly
  • added the extra task status changed prepended script only if such event is choosen
  • Hided the publish process in checkin_wdg when it is not explicitly defined in a pipeline. Added my.autogeneration to fulfill the boolean function
  • Added new test examples to test the 'Orderby' function in search.py.
  • made Pipeline creation go thru SearchType.create
  • updated add_initial_tasks to add the numeric suffix properly
  • updated unittest plugin with a person pipeline
  • added Task Security UI for managing Task Status visibility 
  • removed the animation for spt.info()
  • Added naming validation for sandbox_dir_naming dir_naming. Deleted all the forward slash at the end.
  • added show_keyword_search to the display option for FastTableLayoutWdg
  • added min to access level which allows access to all sTypes but not all processes
  • added get_default_processes to Task
  • removed using the [ ] around table in the main UPDATE and INSERT statement for SQLServer
  • updated TaskElementWdg to display the allowed statuses properly according to access rules

 

Database Schema Changes

  • updated sthpw/schema for all database types
  • added code column to debug_log and sobject_log

 

Released: 2013-06-24

 

Client API Changes
 

Bug Fixes

  • fixed the double email bug
  • set max_length to 0 at a minimum for ItemsNavigatorWdg
  • put the missing RecipientElementWdg for Notification Log  in tactic.ui.table module
  • added catch for bad && or || syntax in keywords search
  • fixed a potential bug in Search Limit Wdg when there is a query error
  • more fixes to description of transactions
  • adjusted the display so mouseover a number won't remove it's background highlight in simple search filter
  • made the Snapshot creation running the integral triggers instead of None to fix the bug that is_latest attribute are not being updated on new check-ins
  • fixed file being read twice if both sType definition and sObject data are in thesame file during a Plugin install.
  • fixes to potential problems with reports and calendar
  • fixed a potential stacktrace in Delete Tool UI when the sobject chosen for delete has already been deleted
  • fixed the bug in Search Limit jumping between 100 and 20 
  • fixed a NoneType bug in EmailHandler if the user type in an unknown group name/word in mail_to
  • fixed bug in perforce view where file sizes are displayed incorrectly.
  • fixed CDATA and mako problem in the Custom Layout Editor
  • fixed folder state bug in dir list.
  • more fixes to tile layout and support for title_view and bottom_view 
  • fix for delete causing all snapshots to loose is_latest
  • fixed a bug in SimpleSearchWdg global mode for the look ahead display
  • fixed the kwargs tab in CustomLayout Editor so that there is a check on syntax before saving
  • made Manage Side Bar or Edit Column Definition capable of handling kwargs from Custom Layout in regular dictionary format. It doesn't have to be JSON qualified with double quotes
  • fixed a bug in the same UI where the kwargs from one widget will be drawn for another widget
  • fixed the opacity issue of the Save a New View dialog
  • fixed the check_type name in the naming config
  • stringify update_data if it's a datetime object

 

 

New Features

  • added days due widget (TaskDaysDueElementWdg) to tasks
  • added some date variables 2_SUNDAYS_AHEAD and 2_SUNDAYS_AGO to allow for next week and last week date ranges in expressions
  • added hidden ability to add titles to the side bar.
  • some minor visual adjustments to the single asset view.
  • provided ability for index url to set palette.
  • updated Configuration page to have  the checkbox option to show multi-project sTypes
  • further improve keyword search to use a "contains the word" algorithm if nothing is found
  • in case keywords starts with white spaces, it will be stripped
  • improved LookAheadTextInputWdg by allowing most words typed in to work with the auto suggested list
  • some adjustments to wording of descriptions on transactions.
  • ability set search_key on ThumbWdg
  • better handling of initial class on element definition widget
  • added injection of thumbnail widget
  • added more activity reports.
  • better handling of description in transaction log.
  • stopped hiding of a process named "publish" in the Check-in widget to bring more clarity to the user using the Simple Checkin/Checkout
  • If the simple checkin widget is used on the asset level, the process is not displayed to allow the user to choose on picking a file.
  • Changed metadata parser to get correct dirname of checkins
  • made the Publish button create a zip file as well in Plugin Manager
  • added the Publish button in the Info page so one can just change the Version string and publish.. 
  • made sure the publish busy overlay work in Chrome
  • added ignore patterns to prevent copying of pyc, py~, swp, and swo files
  • added the running of resolve_search_type_relationship in Schema.get_relationship()
  • updated biz_test to check for is_latest attribute of snapshots
  • made spt.popup.close() find the popup if only the child of the popup is sent in
  • updated Simple Checkin Checkout widget to support pre-selected checkout and checkin action
  • updated dashboard-conf.xml to use project_sk instead of @GET(state.get_search_key())
  • added latest, latest (version omitted), open file browser, to the checkout_action presets
  • made js api checkout_snapshot() return the paths checked out
  • added "edit side bar" to quick links
  • some cosmetic changes to element editor
  • added ability to view definitions of tabs
  • added ability to add reports to side bar.
  • db_config_wdg.py to offer user more options in System Config
  • added ability to add a report to the side bar
  • added output to the calling of "checkin" event
  • improved the validate of WidgetDbConfig
  • added support of passing in a function to spt.api.app_busy_hide() to save the caller the need to use setTimeout to ensure the display order of the overlay.
  • It's spelled "upgrade"
  • added try/catch to most functions in Plugin Manager to improve feedback to users in case the Activate,Remove, Export or Publish fail
  • added op kwarg to add_keyword_filter
  • improved the Keyword filter search auto suggestion display by allowing the user typing in extra spaces, . or other symbols
  • cosmetic changes to Reports
  • cosmetic changes to user schedule (added a legend ... currently only shows task pipeline, but will show relevant pipelines later)
  • deprecated pre-evaluation of expressions in the definition which prevented expressions from actually passing to the widget.
  • made keyword mode search use OR operator while global mode search uses AND in KeywordFilterElementWdg
  • deleted debugging message when we hover over: VFX project -> Asset Checkin -> Connection Type
  • from forum question: JS alerts when using the cgapp "Connection Type" dropdown
  • minor visual improvements
  • added a side bar to Custom Layout Editor.
  • made default theme respond better to dark themes
  • lots of color updates for dark theme.
  • disabled the display of WeekWdg in the ActivityCalendarWdg
  • added support for NOW in insert/update value for Sqlite
  • updated some js variables in the calling of the event when saving in Edit Popup Widget
  • let the user override the kwarg search limit defined in the LinkWdg
  • added support of a value of 0 for ReplaceWithValueExpressionFilterElementWdg
  • only show scale widget if there are search results for tile layout
  • run the _init() method for the WidgetDbConfig on commit in ColumnEditCbk
  • added ability to clean a plugin.
  • added support of stripping out \r\n EOL characters when activating Plugin
  • save scale through searching in tile_layout
  • change of arrow colors for swap display depending on theme
  • Tile Layout widget has been revamped.
  • enhancements to perforce tool.
  • added support for show_retired in ExpressionElementWdg
  • added new logic for metadata on images
  • added more functionality for javasript api.
  • better positioning of pointer on hidden row.
  • allowed spaces in ignore_columns attribute in manifest
  • added convert_to_timezone
  • functions in the api in local mode will create a transaction if none exists
  • improved shadow color for silver palette
  • added some text in the simple checkin widget 
  • made swap display more visible on hidden row.
  • added ability to login to perforce from tactic
  • added RawTableElementWdg
  • removed pyasm.admin in some old classes
  • updated python API docstring
  • updated SimpleSearchWdg to support setting up simple search for another project using that project's simple search config
 
 
 
 

Database Schema Changes

  • added code column to sthpw/trigger

 

 

Pages