Home User Manual Discussion Forum Search

Server Component  

 

See the Architecture page for an overview of the server component. This page describes how to install it. A moderate level of computer skill is assumed, and we can help you if it's not clear enough.

The server component is a Windows Service called OpenDental. If you are not familiar with the concept of a service, it is a program that runs in the background without any user interface. You can view and manage your services by right clicking on My Computer, Manage, Services and Applications, Services. OpenDental will show in the alphabetical list if it's installed. The biggest advantage of a service is that it will restart every time the computer restarts, and it does not require any user to be logged in. It's common for a server and services to run without anyone being logged in.

To install, simply create a new folder in C:\Program Files\ on your server computer. You could call the folder OpenDentalServer. Then, copy the following files from C:\Program Files\Open Dental\ to the new folder:
OpenDentBusiness.dll
OpenDentServer.exe

ICSharpCode.SharpZipLib.dll
MySql.Data.dll
OpenDentServerConfig.xml
InstallUtil.exe
the 5 batch files

OpenDental Service

After copying the files, you will install the OpenDental service by using BatchInstallService.bat. This will not start the service, however, since the config file needs to be setup first as described below.

Updating Versions

Anytime the client program version is updated, the first two files shown above in bold will need to be recopied to the server. The service will need to be uninstalled before copying these files and reinstalled afterwards. We are working on automating this process.

Config File

Right click on OpenDentServerConfig.xml, and select edit. It initially looks like this:

Edit the file to suit your needs. You can have as many DatabaseConnection groups as you want. In the example above, there are two. This allows users to use the server component to switch between databases if they need to. A simpler setup would only use one. The ServerPort refers to the port on which the server component will listen for incoming connections. You can use any port you want. Remember to change the settings on any firewall on the server to allow incoming connections on this port. The database does not have to be on the same computer as the server component, although it would be most efficient to do so. In the example above, both databases are located on the same server computer as the OpenDental server component.

After editing your config file (and setting up your MySQL users as described below), use BatchStartService.bat to start the OpenDental service.

MySQL Users

You will need to setup and edit your MySQL users. You will use a separate management tool for this. We recommend Navicat or one of the free GUI's available from the MySQL web site. phpMyAdmin is also popular, but hard to install. Setting up the MySQL users has turned out to be the most complex and time consuming part of this whole process. We are working on a better management tool for setting up the users.

Notice that there are two MySQL users for each connection that may be specified. There is a regular user, and a user with lower privileges. The regular user must have all permissions for all tables starting with "opendental" (if that is the name of your database). The regular user must be able to do everything from adding tables to making a backup of the database. It is during the backup process that the user must also have access to a database that might be called "opendentalbackup 07 14 2006", and the user must also have permission to create tables, etc in this other database. So make sure to either give this user privileges for all databases, or use a wildcard character to give privileges for similar databases.

The other user, UserLow, is a user with much lower privileges. Essentially, they only need permission for SELECT and Create Temp Table on the current database. This user will be used when running queries written by the user. This will prevent any user from injecting SQL that is not allowed. They will still be able to use queries to select any data, but not to alter it. If you don't care about this, then you can specify the same user for both in the config file.

Remember that when users connect from the client computers, that they will never see or have access to the users that you setup in this file. They will be connecting using an Open Dental username and password. See the Choose Database window for an example.

 

 

Open Dental Software 1-866-239-0469