Hey Marcus, Just a list of feedback as I read through it:
* The quickstart showed 4 different plugin classes that were used. It would be nice if you first just quickly said something like "pyblish has a number of task oriented classes to derive from. these 4 do xyz". Just a short sentence on the purpose of each one. * In the quick start, you might not want to use an "assert" as an official example of a validator implementation. I believe assert statements can be optimised away from code if the code is run under a python optimisation flag. Might be an edge case, but people may just take your example and always do it. Is there another way to fail the validation? Is it only AssertionError? Or is it any exception raised? Might be good to be absolutely clear about what is expected to communicate a validation failure that will be properly handled by the framework. * Files - can PYBLISHPLUGINPATH take multiple paths? I. e. ":" or ";" separated? * Branching 2 - I actually had to read that example a couple times to get the fact that PrintAssets operates on each asset. I know you mentioned earlier that it uses dependency injection, but I have rarely (if ever) seen it used like this in a dynamic language. Normally it is much clearer in a statically typed language where you can read the exact type, as opposed to how this is magical based on the attribute names. The part I found confusing is that not only is it based purely on magic variable names, but in addition to injecting the dependencies, it also changes the behaviour of the function. It was hard for me to get that from reading the code. Two plugins derived from the same plugin base class, implementing the same process() function, with the same number of arguments... but different argument names... will behave differently. What happens if I do process(self, context, asset)? That is legal right? Are there any illegal combinations that will be ambiguous as to what the plugin will actually want to do? * Validating 1/2 - More use of "assert" as an official example, which might not be a good idea: https://wiki.python.org/moin/UsingAssertionsEffectively "Assertions should *not* be used to test for failure cases that can occur because of bad user input or operating system/environment failures, such as a file not being found. Instead, you should raise an exception, or print an error message, or whatever is appropriate. One important reason why assertions should only be used for self-tests of the program is that assertions can be disabled at compile time." * Report 4 - "Let's get cackin'." typo? Hope that feedback is useful! Justin On Tue, 11 Aug 2015 12:17 AM Marcus Ottosson <[email protected]> wrote: > Added a getting started guide to Pyblish, the test-driven content creation > framework, that I'd like to share. It includes a Maya-specific example of a > basic asset - a rig - along with how it can be published. > > - http://forums.pyblish.com/t/learning-pyblish-by-example > > I'm looking for insight on first impressions and whether there are things > too easy, too difficult, too quickly explained or too slow and mundane for > a technical directory or pipeline developer to follow. > > Enjoy and let me know what you think! > > -- > *Marcus Ottosson* > [email protected] > > -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOCsh6GHa-2gnVkr5qyA2LYTCv%3DpxnZYfUNVL3efhiEqnQ%40mail.gmail.com > <https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOCsh6GHa-2gnVkr5qyA2LYTCv%3DpxnZYfUNVL3efhiEqnQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA21QavJTO%3D4Ykgbq_-fgMQNa5VjkOEyQRHhY36W%2B%2BQUig%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
