It also seems to me that what is called a "vendor file" can really be called a "distribution file" sincedevelopers my not what to"vend" their workbut simplyprotect theirIP interests. In addition,developer distribution objectivesmay differ, for example:
- Developer/Vendor centric - alldeveloper indicators in oneDLL
- Indicatorcentric - a DLL for eachindicator
- Suite centric - a DLL for each collection ofindicators
- User centric - a customized DLL for each user to facilitate user authentication.
The help was silent on where to place the "distribution" file so as not to confict with the DLLcompile process. I found it best to savethese files above the \bin\Custom folder in its own \Distribution folder during this process. Of course, if you want to test the DLL you've just created, as if you were in a user's environment, it would need to be moved back to the \bin\Custom folder and the original source code in \bin\Custom\Indicator placed elsewhere above the \bin\Custom folder.
I also found it curious that once the distribution file and DLLare distributed, the end user would need toedit another indicator (not the one they just received but any other one) in order to right click on the chart to reference the DLL globally. If its a global reference, why not just add a "3rd Party Registration" selection of the Tools command on the Control Center.
I would be very interested in learning more best practices that are in use bythe NinjaTeam or other users/developers regarding effective means to manage code, distribution files, and DLLs in this environment to streamline the process and mitigate the need for moving code about yetbe developer and end user friendly.
I am a big fan of NinjaTrader,havebeen a DOMuser for a while, andam making great progress coming up to speedwithNinjaScript development.However, the DLL creation and distribution process was an unexpected bump in what hasbeen anotherwise smooth and enjoyablelearning curve.
Regards,
Whitmark
Comment