Where to place plugins on server?

This forum is for programmers who have questions about the source code.
Post Reply
User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Where to place plugins on server?

Post by wjstarck » Thu Feb 25, 2010 12:27 pm

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
Cheers,

Bill Starck, DDS
Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA

User avatar
jordansparks
Site Admin
Posts: 5742
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Where to place plugins on server?

Post by jordansparks » Thu Feb 25, 2010 12:59 pm

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.
Jordan Sparks, DMD
http://www.opendental.com

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Re: Where to place plugins on server?

Post by wjstarck » Fri Apr 09, 2010 8:09 am

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.
Cheers,

Bill Starck, DDS
Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA

User avatar
jordansparks
Site Admin
Posts: 5742
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Where to place plugins on server?

Post by jordansparks » Fri Apr 09, 2010 8:31 am

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.
Jordan Sparks, DMD
http://www.opendental.com

User avatar
wjstarck
Posts: 936
Joined: Tue Jul 31, 2007 7:18 am
Location: Keller, TX
Contact:

Re: Where to place plugins on server?

Post by wjstarck » Fri Apr 09, 2010 8:41 am

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.
Cheers,

Bill Starck, DDS
Big Idea Software, LLC
Developer, EASy(Electronic Anesthesia System) for Open Dental
817-807-1709
TX, USA

Post Reply