Replies: 2 comments 3 replies
-
Hello @99alfie, Could you please explain your approach to running the tests? Based on my recollection of your description, it appears that the issue lies within the test setup rather than the core functionalities of the Session. This issue seems to arise when tests are executed in parallel. This was precisely the rationale behind the inclusion of this change for the actions.
The primary motivation behind introducing this feature was to establish a separation that became necessary when we aimed to divide the distinct extraction and integration phases of a publishing process. This separation deferred the final creation of AssetVersions, allowing the server to dictate the resulting version number. Recorded operations could be incorporated into Ftrack itself as a published artifact. Subsequently, a separate process could take over and perform further operations on these artifacts. We opted to retain the dbm database, as the Ftrack Python API internally relied on it.
Given that this API is still in a pre-release stage, it remains uncertain which aspects are actually being utilized. Hence, my suggestion would be to maintain the existing features for now. Once this project gains reasonable adoption, we can then engage in a more in-depth discussion about potentially phasing out certain features.
Could you provide more detail on this point? Are you indicating that when a deletion is carried out through the Ftrack Python API, it does not get captured in the stack of recorded operations? |
Beta Was this translation helpful? Give feedback.
-
...that was it, I got the tests working now. |
Beta Was this translation helpful? Give feedback.
-
As part of #10, in test_session.py -> test_deferred_operations, a number of ftrack operations is recorded and dumped to a database, then opened and applied in another session.
This currently has the following issue:
Before proceeding and implementing "delete" as a supported operation, I like to know why that feature exists and why anyone would use it. It seems to overcomplicate (for one, the tests). Also, it forces use of a database which is not human readable and is not what I would prefer for a dump file.
If nobody uses it there seems to be no reason to keep it / engineering references: KISS/YAGNI - and "just because you can does not mean you have to".
I would opt to get rid of the functionality in the core - let the user implement this if he wants to
Beta Was this translation helpful? Give feedback.
All reactions