TACTIC Open Source
VFX Plugins - Printable Version

+- TACTIC Open Source (http://forum.southpawtech.com)
+-- Forum: TACTIC Open Source (http://forum.southpawtech.com/forumdisplay.php?fid=3)
+--- Forum: TACTIC Announcements (http://forum.southpawtech.com/forumdisplay.php?fid=5)
+--- Thread: VFX Plugins (/showthread.php?tid=114)

Pages: 1 2 3


VFX Plugins - remkonoteboom - 05-12-2020

Just today, I have merged in a Plugin version of the VFX template in the latest 4.8 branch.  Eventually these will replace the template vfx.  It has a few changes that I noticed and future fixes specifically in the VFX module will go here.  There is still a bunch of work to do to integrate with the project creation interface and make sure you can still save your own templates, however, it is a good example to see how plugins are built.

src/plugins/TACTIC/vfx/

There are  two plugins: stypes (which define all of the search types) and config (which define ui configuration).  We separate these because you tend not to want to reload the stypes plugins as it literally has to dump the table, create the new table and reload the data (not something you want to do after production starts).

To use these plugins, simple create an empty project with no theme, go to the plugin manager and load both plugins.


RE: VFX Plugins - listy - 05-13-2020

Thank you so much, Remko!
Can't wait to have my hands on it!


RE: VFX Plugins - Diego - 05-13-2020

Good news, it is very handy for people starting to use tactic to have a base to work on!

I just wanted to add that after activating the plugin you have to go to "project workflow" and click save for each workflow in order to be able to start adding tasks


RE: VFX Plugins - remkonoteboom - 05-13-2020

Yes, I noticed that. That's because, for whatever reason, there are no entries in the config/process for these workflows. These workflows are quite old and like predate this table. Saving them in the workflow auto-generates the entries.


RE: VFX Plugins - Diego - 05-13-2020

Yes, the same happens when you create a workflow for a sTypes from the project_configuration

I just made a PR for a Scrum plugin, I ported the old scrum template, it still a bit rough but it works.

Don't know if you are interested in it but I use it for tracking my development...


RE: VFX Plugins - listy - 05-14-2020

Soon i will release my own template, suited for web-series


RE: VFX Plugins - Nachogor - 05-27-2020

Hi guys!

Loved the idea and I´m porting our templates into plugins, but I found the Stypes in VFX plugin don´t appear in the Manage sTypes or the Search Types Configurator in the VFX Plugin. Is this ok? Would it be possible to "bake them" in any way?

Could this be a problem in some moment or I´m being scared just because I know nothing about coding?

Thanks in advanced!
Nacho


RE: VFX Plugins - remkonoteboom - 05-27-2020

Could it be related to this issue?

https://github.com/Southpaw-TACTIC/TACTIC/issues/1426

It seems it has to do with the Project Type. Is the Project Type = "vfx"?
This was a bug, but I believe I set the vfx plugin to set the project type to "vfx".

That UI matches the project type with namespace of the search types to filter which stypes to list.


RE: VFX Plugins - Nachogor - 05-28-2020

For some reason I can change between the rest of the project types (all are simple) but I get this error with VFX

---
user: admin
timestamp: 2020-05-28 12:56:11
method: execute_cmd
ticket: f77a3c0f4e17c16c44e
( 'tactic.ui.panel.EditMultipleCmd',
{ 'element_names': 'preview,category,code,title,status,type,project_info,is_template,palette,db_resource,database',
'extra_action': '[null]',
'extra_data': '[null]',
'input_prefix': '__NONE__',
'search_keys': ['sthpw/project?id=14'],
'update_data': '[{"type":"vfx"}]',
'view': 'edit_item'},
{'web_data': '[{}]'},
{})
Duration: 0.041 seconds (request_id: 140610560182016 - #0000013)
FAILED TO COMMIT TRANSACTION <pyasm.prod.service.api_xmlrpc.get_full_cmd.<locals>.ApiClientCmd object at 0x7fe2a0646c50> ApiClientCmd
--------------------------------------------------
File "/opt/tactic/tactic/src/pyasm/command/command.py", line 363, in execute_cmd
transaction.commit()
File "/opt/tactic/tactic/src/pyasm/search/transaction.py", line 187, in commit
self.commit_log()
File "/opt/tactic/tactic/src/pyasm/search/transaction.py", line 379, in commit_log
self.command_class, xml_string, self.description, self.title )
File "/opt/tactic/tactic/src/pyasm/search/transaction_log.py", line 187, in create
cls.create_sobject_log(log, transaction_data)
File "/opt/tactic/tactic/src/pyasm/search/transaction_log.py", line 281, in create_sobject_log
SObjectLog.create(sobject, log, action)
File "/opt/tactic/tactic/src/pyasm/search/sobject_log.py", line 27, in create
log.set_sobject_value(sobject)
File "/opt/tactic/tactic/src/pyasm/search/search.py", line 3668, in set_sobject_value
schema = Schema.get()
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 1432, in get
schema.add_dependencies()
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 463, in add_dependencies
self.parent_schema = self.get_parent_schema()
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 520, in get_parent_schema
parent_schema = Schema.get_predefined_schema(project_type)
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 1283, in get_predefined_schema
schema.set_value("schema", SCHEMA_XML[code])

'vfx'
--------------------------------------------------
--------------------------------------------------
File "/opt/tactic/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 583, in new
cmd.execute_cmd(cmd)
File "/opt/tactic/tactic/src/pyasm/command/command.py", line 363, in execute_cmd
transaction.commit()
File "/opt/tactic/tactic/src/pyasm/search/transaction.py", line 187, in commit
self.commit_log()
File "/opt/tactic/tactic/src/pyasm/search/transaction.py", line 379, in commit_log
self.command_class, xml_string, self.description, self.title )
File "/opt/tactic/tactic/src/pyasm/search/transaction_log.py", line 187, in create
cls.create_sobject_log(log, transaction_data)
File "/opt/tactic/tactic/src/pyasm/search/transaction_log.py", line 281, in create_sobject_log
SObjectLog.create(sobject, log, action)
File "/opt/tactic/tactic/src/pyasm/search/sobject_log.py", line 27, in create
log.set_sobject_value(sobject)
File "/opt/tactic/tactic/src/pyasm/search/search.py", line 3668, in set_sobject_value
schema = Schema.get()
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 1432, in get
schema.add_dependencies()
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 463, in add_dependencies
self.parent_schema = self.get_parent_schema()
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 520, in get_parent_schema
parent_schema = Schema.get_predefined_schema(project_type)
File "/opt/tactic/tactic/src/pyasm/biz/schema.py", line 1283, in get_predefined_schema
schema.set_value("schema", SCHEMA_XML[code])

Error: 'vfx'
--------------------------------------------------
Exception ignored in: <function Sudo.__del__ at 0x7fe2ab202ef0>
Traceback (most recent call last):
File "/opt/tactic/tactic/src/pyasm/security/access_manager.py", line 68, in __del__
return self.exit()
File "/opt/tactic/tactic/src/pyasm/security/access_manager.py", line 78, in exit
raise Exception("count of sudo: ", count)
Exception: ('count of sudo: ', -1)
Error: ('count of sudo: ', 0)
--------------------------------------------------
File "/opt/tactic/tactic/src/pyasm/command/command.py", line 229, in execute_cmd
transaction = cmd.get_transaction()
File "/opt/tactic/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 220, in get_transaction
sudo = Sudo()
File "/opt/tactic/tactic/src/pyasm/security/access_manager.py", line 35, in __init__
raise Exception("count of sudo: ", count)

('count of sudo: ', 0)
--------------------------------------------------
--------------------------------------------------
File "/opt/tactic/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 583, in new
cmd.execute_cmd(cmd)
File "/opt/tactic/tactic/src/pyasm/command/command.py", line 229, in execute_cmd
transaction = cmd.get_transaction()
File "/opt/tactic/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 220, in get_transaction
sudo = Sudo()
File "/opt/tactic/tactic/src/pyasm/security/access_manager.py", line 35, in __init__
raise Exception("count of sudo: ", count)

Error: ('count of sudo: ', 0)
--------------------------------------------------
Exception ignored in: <function Sudo.__del__ at 0x7fe2ab202ef0>
Traceback (most recent call last):
File "/opt/tactic/tactic/src/pyasm/security/access_manager.py", line 68, in __del__
return self.exit()
File "/opt/tactic/tactic/src/pyasm/security/access_manager.py", line 72, in exit
if self.already_exited == True:
AttributeError: 'Sudo' object has no attribute 'already_exited'


RE: VFX Plugins - remkonoteboom - 05-28-2020

Thanks for trying it out. I also encountered this and fixed (as I was fixing other stuff on VFX for a related issue):

https://github.com/Southpaw-TACTIC/TACTIC/pull/1452

and specifically, this commit:

https://github.com/Southpaw-TACTIC/TACTIC/pull/1452/commits/c9cfbe7e67a458013f9052bcd12d7f773ae44e89

I believe this fixes it. It is merged with the latest 4.8