Page 1 of 1

Where to place plugins on server?

Posted: Thu Feb 25, 2010 12:27 pm
by wjstarck
Hello-

Where do I place my plugin on the server so it will be copied to workstations when the plugin is updated or when I do a clean install? Right now it doesn't get copied to the workstations no matter where I place it on the server.

Thanks

Re: Where to place plugins on server?

Posted: Thu Feb 25, 2010 12:59 pm
by jordansparks
We don't yet have an automatic mechanism for copying plugins to workstations. That would have to be explicitly added to our UpdateFileCopier project. I assumed that plugins would be distributed in the same manner that OD was distributed for the first few years: Clear instructions to the users on how to copy the dll to each workstation. And that gradually, we would begin to automate the process.

Re: Where to place plugins on server?

Posted: Fri Apr 09, 2010 8:09 am
by wjstarck
That last post looks spammish, but since he brought it up... :|
jordansparks wrote:We don't yet have an automatic mechanism for copying plugins to workstations. That would have to be explicitly added to our UpdateFileCopier project.
I'm beginning to think it might be best if distributing plugins to workstations is left to the individual developers. For example, in my case I have additional software distributed with my plugin that allows me to push updates to the workstations after my plugin is launched, handling licensing and the like, all independent of OD. Currently, I ship an installer that must be run on individual workstations, which is a pain, but once installed, updates are automatically downloaded whenever the plugin is launched. This has worked nicely because I can send critical patches outside of the usual OD update cycle, which I think is a good thing. Eventually, I will make an installer similar to UpdateFileCopier, but for now this is a pretty good solution.

It also seems that "best practices" should probably be that outside developers install their plugins etc in separate folders inside the Open Dental program folder. That way, we know that OD installs and updates never break our installs, and vice versa. I would also think that this would make support easier for OD support staff, as you won't have to wade through a bunch of installed plugins in the OD folder when you're troubleshooting a problem.

Re: Where to place plugins on server?

Posted: Fri Apr 09, 2010 8:31 am
by jordansparks
What spam? :-) My delete button is working really well today.

By reviewing the code, it looks like the UpdateFileCopier will copy all files to each new workstation. But it won't first clear the folder out. So yes, one of your dll's might be overwritten by the dll from the first computer that did an upgrade, but wouldn't that always be safe? It would take some effort and testing to be able to support dll's in sub folders. We don't have time for that right now. If there are files that you want to keep safe you can put them in a sub folder, and the UpdateFileCopier won't touch them.

Re: Where to place plugins on server?

Posted: Fri Apr 09, 2010 8:41 am
by wjstarck
Yeah, I think that's the idea. Keep UpdateFileCopier.exe non-recursive, and that way things will always be predictable for us...
jordansparks wrote:So yes, one of your dll's might be overwritten by the dll from the first computer that did an upgrade, but wouldn't that always be safe?
Not necessarily.

In my current scheme, the user would install an initial version on the server and all workstations. Once that's done, updates get pushed whenever the plugin is launched from either server or workstation. So it's possible that the server could have an older version than the workstations (for those cases where the server sits in a cabinet and is never used as a workstation), so after my initial install I wouldn't want the older server plugin overwriting the newer workstation plugins. It won't matter that the server version is older, because if the plugin is evenutally launched on the server, the update will get pushed to it and it will get updated.