Accessing CyberMatrix Software Through the Web

All CyberMatrix business software can be shared with multiple people on your company’s network. The Client/Server, Enterprise and Web editions of our software can also be accessed outside of your network via the Internet.

Sharing Data on Your Network

To share data on your network you enter your network IP address in the Network tab of the Options screen in the Client/Server and Enterprise editions of our software or the web browser URL of the Web editions of our software.

Finding Your Network IP Address

The easiest way to find your network IP address is through the Windows program called IPConfig. To start IPConfig, right click on your Start button and choose Open Windows Explorer. In the windows that pops up, type cmd in the navigation box that says Libraries. Press enter and a command line window will appear. Type IPConfig and press return. If you are on a wired connection look for a line like this: Ethernet adapter Local Area Connection:. If you are connecting wirelessly, check for a line like this: Wireless LAN adapter Wireless Network Connection 3:. Your IP address will be on the line that starts with: IPv4 Address. Usually it will start with 192.168.

Sharing Data Over the Internet

To share data over the Internet you enter your Internet IP address in the Network tab of the Options screen in the Client/Server and Enterprise editions of our software or the web browser URL of the Web editions of our software.

Finding Your Internet IP Address

Finding your Internet IP address can be a bit harder. Often it is not listed in the IPConfig output. If that’s the case you can easily find it by typing the text “what is my ip” in your web browser.

Static Vs Dynamic IP Addresses

A final note on the importance of the type of IP addresses your network or Internet connection uses. The best type of IP address to use with our software is called a static IP address. The benefit of a static IP address is that it never changes. Dynamic IP address on the other hand will change. When your IP address changes you will have to find the new address and enter it in the software again.

Using a DNS Service

If you have a dynamic IP address the simplest way to get a static IP address is to use a DNS service like no-ip,com.

Accessing Your Schedule on Your Phone For Free

Many people love the simplicity of our scheduling software, Pro Schedule for scheduling appointments and Meeting Manager for scheduling meeting rooms or resources. The Windows editions of this software is easy for just about anyone to install and use. The problem is that more and more people need to access schedule information on their phone when out of the office.

Our Web editions: Pro Schedule Web and Meeting Manager Web can do this but they are tricky to setup and maintain for smaller organizations without an in house IT department. A very affordable alternative is to use the HTML calendar export feature.

Often organizations have just one person managing a schedule for appointments or rooms and resources. Many other people however, need to view this schedule but don’t need to add to or modify the schedule. A very affordable solution for this scenario is to use the HTML calendar export feature.

The first step required is to have a website setup where you can easily manage web pages or posts. One extremely popular and easy to use website management system is WordPress. Once you have WordPress setup on your site you can create a special page where you will maintain your schedule.

From Pro Schedule or Meeting Manager view the schedule you want to share and choose View | Schedule HTML Report from the main menu. This will create a web page version of your schedule. Save this file somewhere and you will then be asked if you want to open it. Say yes and the schedule will appear in your browser. Press Ctrl+A to select the entire schedule and then Ctrl+C to copy it. Go back to your WordPress page and press Ctrl+V to paste the schedule. Save it. Now you have a web page with the current schedule your people on the road can easily view on their phone or workstation without requiring expensive software licenses.

Database Antivirus Problems

security-265130_960_720These days antivirus and anti-malware software are a necessity that protects us from software viruses and malware that threaten our data. This security though has a downside in the form of false positives. A false positive occurs when a benign file is suspected by your antivirus software of being malicious. When certain files that update frequently, like database files, are scanned every time they are written to the files can appear to the software using them to be locked. When a necessary file is locked the software issues an error and can’t finish what is was trying to do.

At CyberMatrix we have had a major headache with several antivirus products locking the database files used in our applications. When this happens an error something like the following would be seen:

ElevateDB Error #600 File manager error (Cannot delete the file C:\DOCUME~1\user42\LOCALS~1\Temp\CM1S29083572PC45.EDBTbl (OS Error: The process cannot access the file because it is being used by another process. )).

When encountering such a problem the easiest thing to do is to configure your antivirus software to avoid scanning the problem file or file type or even the entire folder involved. In this case the folder involved is users42’s Windows temp folder. Every antivirus software has a way to prevent certain files or folders from being scanned. In Microsoft Security Essentials for example, you just go to the Setting tab and click on Excluded files and locations. Enter the files and folders to exclude in the File Locations box and press the Add button.

If you want to avoid scanning an entire file type you can enter something like this:

C:\Users\user42\AppData\Local\Temp\*.EDBTbl

The * is a wildcard which stand for any number of characters.

If doing that doesn’t solve the problem some other process is locking the file. The next usual suspect is our software itself. If a machine on your network has some sort of problem our software might lock up while in the middle of writing to the database. This will lock some database files. Try closing down all instances of the software to see if it resolves the problem.

If that doesn’t work what you will have to do is use special software to see which application on whose machine is locking the files. One such program is Microsoft’s Process Explorer.  In Process Explorer go to Find > Find Handle or DLL. In the “Handle or DLL substring:” text box, type the path to the file (e.g. “C:\Users\user42\AppData\Local\Temp\Clients.EDBTbl”) and click “Search”. All processes which have an open handle to that file should be listed. Go to each machine listed and close down those applications.

Antivirus software is indispensable in this day and age but it can cause headaches too. Please don’t blame innocent software vendors when a problem is caused by overzealous anti-malware scanning.

Putting a Calendar Schedule on Your Website

A common request we get from customers is how to put the calendar from our scheduling software on their websites. Most customers that ask this question simply want a static page that people can view but not change. Our Pro Schedule and Meeting Manager event scheduling software both do have web editions but using this software provides another layer of expense and maintenance. A simpler cheaper way is to use a static HTML representation of the schedule.

All our Windows scheduling software can save the currently viewed schedule to an HTML file. This includes: Pro Schedule, Meeting Manager, Class Scheduler and Employee Scheduler. To save the current schedule view to an HTML file chose View | Schedule HTML Report from the main menu. You will be prompted to save the HTML. After saving this file you can upload it to your web site.

Continually saving your schedule and uploading it to your website is very time consuming. To save time you could use a program like the free Core Ftp to create a batch file to upload it directly to your site.

How To Use Core FTP To Upload File With a Single Click

  1. First download Core Ftp free here and install.
  2. Create a site profile in Core Ftp by choosing Sites | Site Manager from the menu. Click New Site and enter the FTP details for your server.
  3. Create a batch file with any text editor like Notepad. It must end in the extension .bat.
  4. Enter something like the following text in this batch file:
    “C:\Program Files\CoreFTP\coreftp.exe” -O -site MySiteProfile -u c:\myschedulefile.html -p /public_htm/mydirectory/
    Change the path to coreftp.exe if it is different on your machine. Change MySiteProfile to the name of your site profile you created in Core Ftp. Change c:\myschedulefile.html to the path of the html file you saved from our software. Change /public_htm/mydirectory/ to the path on your web server where you want to access the file from.
  5. Save the .Bat file somewhere like on your Desktop and double click it whenever you want to upload.

CyberMatrix Calendar Software New Year Problem

7768030On January 2, 2015 we heard from several calendar software (Pro Schedule and Meeting Manager) customers with the same problem. When trying to add a new appointment or booking they saw an error message stating that “Your schedule end date is earlier than today. Would you like to change it to one year in the future?”. On choosing Yes, another error could appear saying something like: “The new booking end date will cause double bookings due to the booking with ID 31245”.

This is an annoying situation but unfortunately it is a side-effect of how the scheduler was designed. Fortunately, the situation is easy to resolve. The solution involves temporarily allowing double bookings, updating the End Date to five or ten years in the future and then again disallowing double bookings. Here are the exact steps:

  1. From the main menu choose Tools | Options.
  2. For Pro Schedule choose Schedule for Meeting Manager stay on General.
  3. Make sure the Allow Double Booking is checked.
  4. Choose the Date/Time tab.
  5. Ensure Default End Date is unchecked.
  6. Click the year in Booking End Date.
  7. Enter either 2020 or 2025.
  8. Press OK.
  9. Go back to the Options Screen and uncheck the Allow Double Booking box.
  10. Press OK to save.

That will solve the problem for another five or ten years. But the same thing will happen when the next Booking End Date is reached. This is why we are now recommending changing the End Date setting to five or 10 years into the future instead of one year into the future. In the past, we recommended one year because this would give the software better overall performance. At this point though, the scheduler has been optimized so that any performance benefit will hardly be noticeable.

The problem with this solution is that all recurring events having the current End Date will be changed to have the new End Date. This may cause double booking of appointments at some time in the future.

To minimize these problems we will be soon releasing an update which no longer has this particular error message. However, adding any recurring bookings with an End Date in the past will still result in an error that prevents saving the booking until the End Date is changed. We apologize for this annoyance and want to assure all customers that the upcoming Event Scheduler software will use an unreachable End Date (100 years in the future) to deal with this problem.

 

Understanding CyberMatrix Web Applications

CloudMany people seem a bit confused about our web applications. They often assume that we host the web application. We are not providing application hosting just yet though. We are working very hard at consolidating all our core software and rewriting this software into a form more suited for the software as a service (SaaS) model. For those preferring unhosted software, we plan to continue offering this type of solution as well.

What Is Hosted Software?

Hosted software is software that you access remotely from another company’s server. Usually hosted software are web applications that are accessed from a web browser. Just because software can be run from a browser doesn’t mean it is hosted on the vendor’s site. You can also install web software on your own site or network.

Our Software is Currently Unhosted

Currently all our software, including all web applications, is unhosted. This means you have to install the software on your machines or hire another company to host it for you.

Benefits of Unhosted Software

Unhosted software has many advantages that people sometimes overlook. First and foremost, when having software running from your own computers you have complete control over the software and the data. If something goes wrong your own staff can often resolve the problem yourselves. If the vendor has a power outage, a system failure or simply goes out of business you are left stranded. If you host your own software and the power goes out you would not be able to work on the software anyway.

Another consideration is cost. With unhosted software there is a large upfront cost but there are no monthly fees. Provided that you don’t require any new features or vendor support, you can use that software for many many years without additional costs.

How Does Unhosted Software Work?

With unhosted software you must install the web software on one of the machines on your network. To keep things simple, we’ll refer to this machine as the “server”. If you want people to be able to access the software from outside your network, the “server” machine must have a static Internet IP address. A static IP address is an IP address that doesn’t change. All machines on a network will have a network IP address but network IP addresses cannot be accessed from outside your network.

Running the Web Software

Once the web software is installed and running, people can use the software by entering a special link in a web browser. An example link is http://127.0.0.1:8888/. This link consists of the IP address of the “server” machine followed by the port it uses. In this case we’re using 127.0.0.1 as the IP address and 8888 is the default port. Note that 127.0.0.1 is a special IP address that refers to the machine you are on right now. Obviously this IP would not then work when attempting to access the web software from another machine. To access the software over the network, you should use the network IP address of the “server” machine. To access the software from outside your network you must use the Internet IP address of the “server” machine.

In closing, as you can see running your own web software is probably not as onerous as you might think. Still, many companies would prefer not to deal with the level of complexity involved and wait for a fully hosted solution. As indicated, we are working on providing hosted solutions and will soon be able to provide this service to interested customers. Though we will be moving into providing hosted solutions, we will also continue to provide unhosted solutions as well.

Moving From a Single Install to a Multi Install

software installerWhen a company expands, one of the things they usually have to do is add more software licenses. CyberMatrix is no different that other companies in that regard.

Very few customers have a single license of our Web, Client/Server or Enterprise editions. If you do though, adding more licenses is very simple. With the Web editions all you need to do is install the new registration key file and explain to the new users how to access the software from their web browser. Similarly, for the Client/Server and Enterprise editions you must import the new key file and then simply install the software on the new machines. For the Standard editions and Project Clock Pro things get a bit more complicated.

With the Standard editions the data will usually reside in a common folder on the machine it is installed on. By default this folder is inside the public documents folder. So with Pro Schedule Standard for example, the folder will be C:\Users\Public\Documents\CyberMatrix\ProSchedule. This is fine for single user installs. For multi-user installs it’s best to move the data folder somewhere else. This is because with the Standard editions, each computer must be able to access the exact named folder. If you have a common network drive such as G: which everyone can access you could move the data folder there. For example, G:\Data\ProSchedule.

If you don’t already have a common network drive you can map to one on everyone’s machine. Even simpler is to simply create a shared folder. To do this first create a folder on one machine. For example C:\Public\Data\CyberMatrix. Right click on the folder and choose Properties. Then click the Sharing tab. Click the Share button and in the dialog add all the users that will use the software. Click Share. Notice the Network Path under the folder icon. It will look something like this: \\PC1\Public\Data\CyberMatrix. This is called a UNC path. The important thing about such a path is that every machine on your network can access your shared folder with the very same UNC path. Click Close. Now you have a shared folder.

Start up the software. If you moved the data folder you will see a dialog that says the data folder cannot be found. Click the folder icon to the left of the old data path. This will bring up a folder navigation dialog where you can navigate to the shared data folder you setup before. It’s extremely important that you select or type in the UNC path talked about earlier. This is because each user must have precisely the same data path setting. Press OK twice and if everything was entered correctly the software will now be using the new shared data folder.

If you copied the data folder to the shared location instead of moving it you will have to change the data folder setting in the options screen. From the main window of the software choose Tools | Options from the menu. In the Options screen click the Data tab. Click the folder icon next to the Data Location setting and choose the new shared data folder. Press OK twice to save.

The next step is to import the new registration key file and and install the software on all the other new machines. During the install process remember to choose the Client Only installation option and select the shared data folder you had setup earlier. That’s all there is to it. You can check that everything is setup properly by adding some data and verifying on all the other machines that they can see that new data.

Sharing Data With the Web Edition and the Desktop Edition

server network sharingOne great thing about CyberMatrix software are the many different editions available. Small offices like the simplicity and affordability the Standard editions provide. Larger offices like the performance and remote access capabilities of the Client/Server and enterprise editions. Highly mobile offices with varied devices like the Web editions for the platform independance.

One great feature about our editions is that many editions can be used together. The only exception are the Enterprise editions. Currently only Timesheets has both an Enterprise desktop and web edition that can share the same data. All other software including Meeting Manager, Pro Schedule, Timesheets and Project Clock can share data amongst the Standard, Client/Server and Web editions.

Sharing data between the Timesheets Enterprise desktop and web editions couldn’t be simpler. You simply use the exact same database connection parameters when installing both editions. For all other software the key is to use the exact same data folder. Our software helps with this by first looking for special folders. For the Standard and Web editions, the software first looks for a folder called Data inside the folder the software is running from. For the Client/Server software the server program looks for the data files first inside the folder it is running from. So the simplest way to install all three editions to all use the same data is to first install the Web edition. For example, we’ll install Pro Schedule Web to G:\ProSchedule. This will create a data folder in G:\ProSchedule\Data. We install the Client/Server server software into G:\ProSchedule\Data. Then we run the Client Only install of Pro Schedule Standard and point to the data folder in G:\ProSchedule\Data. Voila. All three editions accessing the exact same data.

Setting up the Client/Server Database Server as a Service

Windows servicesRunning a server application as a service has some definite advantages. The most significant advantage is that when the server is running as a service it can be configured so that no user is required to be logged in on the server machine. Another advantage is that services can be configured to automatically restart if the server ever has to be restarted.

Several CyberMatrix products have client/server editions. Some other products have client/server options. Pro Schedule, Meeting Manager, Project Clock and Timesheets all have a client/server edition. Employee Project Clock and CyberMatrix Point Of Sale have an option to use the software in a client/server configuration. The server for all these products can be configured to run as a service.

 Before Installing the Server as a Service

There are a few steps you should perform before installing the server application as a service.

  1. Verify the server IP address.
    Run the server application. You will see an orange icon is the system tray. Double click that to see the ElevateDB server manager. Click the icon in the upper left that says “Stop Server”. Click the icon below that says “Edit Server Options”. Under the Connections tab you can change the IP address if you had set it wrong during installation or if the IP has changed. If you make the IP address field blank, all IP addresses will be listened for.
  2. Set the temp folder.
    In the Miscellaneous tab of the “Edit Server Options” you should verify the server temporary folder. For a service you should ensure that the user the service will run under will have full write access for the temp folder used. In particular you should not use any user folders as they may not exist later on.
  3. Run first as a non-service application.
    Before running the server as a service, run the server as a non-service application to verify that there are no problems like obvious folder rights issues or firewall issues.
  4. Configure your firewall.
    Make sure there is an application exception for the server application. Also make sure that the port used (default 12010) is opened in the firewall.

Installing the Server as a Service

To install the edbsrvr.exe database server as a service enter the following command at a command line prompt or from the Run Menu:
edbsrvr.exe /install

To install the database server so that it does not interact with the desktop at all, which is required in instances where the current user will be logged out of the system, you should use the /nointeract flag along with the /install command-line switch:
edbsrvr.exe /install /nointeract

This will install the service as a non-interactive service and the database server will not display a user interface when it is started.

Starting the Server Service

To start the edbsrvr.exe database server as a service enter the following command at a command line prompt or from the Run Menu:
net start edbsrvr

Uninstalling the Server Service

To uninstall the service first stop it and then type:

edbsrvr.exe /uninstall

Using Multiple Databases with CyberMatrix Software

Databases

Databases

Occasionally we are asked how our software can use multiple databases. Some people need to keep track of different sets of data and want two databases to ensure this data remains separate. There are two ways to do this: by switching the data path or with multiple installs.

Switching the Data Path

All our database software with the exception of all client/server editions, all enterprise editions, all web editions and Project Clock Standard, has an option to change the data path setting. This setting tells the software where the database files are located. To use multiple databases then all you need to do is have a separate data folder for each database. Then when you want to access the data from another database simply change the data path setting to this other database.

This solution is the simplest but requires the cumbersome process of changing the data path each time. You can minimize this inconvenience by putting all database in the same folder with similar names. e.g. Data1, Data2, Data3.

For all enterprise editions you can do something similar by having several different databases with similar names e.g. pc1, pc2, pc3. If you use the same login ID and password for each database you can just change the database name in the Options Screen to switch to another database.

Multiple Installs

All of our software products, with the exception of all enterprise editions, have been designed to allow the use of a database folder residing within the program folder. For example, if your software is installed in C:\Apps\Project Clock\, it will first look for a data folder called C:\Apps\Project Clock\Data. If that folder exists and contains data files, it will use this folder. We added this feature for testing purposes but you can make use of it to use the software with multiple databases.

Using this technique to work with multiple databases is very simple. Suppose you want two databases in the following folders: C:\Apps\PC1\Data and C:\Apps\PC2\Data. First, you would run the setup program twice, choosing the Data Only install to create each of your database folders. Next, run the setup program twice again to create the two program folders, one in C:\Apps\PC1 and one in C:\Apps\PC2.

If you’re comfortable working directly with files You could just copy and past the files and folders directly.

That’s all there is to it to create multiple databases for your software.