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.

If your server machine has a dynamic (changing) IP address instead of a static IP address, you can either use the computer name e.g. http://MyServer:8888 or use a dynamic DNS service like DynDNS. To find your server computer’s name click the Start button, left click on Computer and scroll down to near the bottom.

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.

software installer

Moving From a Single Install to a Multi Install

software installerWhen a company expands, one of the things they often have to do is add more software licenses. A common question we get from such customers is how to move from a single install to share data with multiple users.

Very few CyberMatrix 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 exact 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 (except Timesheets) 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.

For the Timesheets Client/Server and Timesheets Web software, the server accesses the data from the public CyberMatrix\Timesheets folder i.e. C:\Users\Public\Documents\CyberMatrix\Timesheets. So to share data with Timesheets Standard and either the CLient/Server or Web editions you should install these first then share the data folder. In Timesheets Standard install the software and when it asks for the data folder location give the UNC path as explained in the article Moving From a Single Install to a Multi Install.

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. This way all you have to change is the number.

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 paste the files and folders directly.

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

How to Format Report Dates

report display format dialogA common questions asked by CyberMatrix customers is how to change the format of dates on reports. There are two ways to format report dates: using a format function and by changing the display format. With either method you must first edit the report from the reporting screen. To edit a CyberMatrix report click on the report on the report list and choose the Edit Report button or choose Custom Reports | Edit Report from the report screen menu.

Format Functions

All CyberMatrix software have report date formatting functions. The advantage to formatting functions is that they use the system formats instead of hardcoding a fixed format.

To add a date formatting function to a report date field simply double click the field to open the field edit screen. Usually the field value will look something like [frxDBDataset1.”WorkDate”]. This is just a bare data field. To add the date formatting function to this field the field is wrapped inside <> characters and this text is wrapped within the FormatDate() function call. So the resulting text will be [FormatDate(<frxDBDataset1.”WorkDate”>)].

Changing Display Formats

To change the display format for a date field right click the field and choose Display Format from the pop-up menu. In the Display Format dialog click on the Date/Time category. In the Format String box enter the display format you want to use with the report. For example, for the ISO date format use yyyy-mm-dd. For US date format you can use mm/dd/yyyy.

After changing the report make sure to save it. Also note that reports are overwritten every time you upgrade the software. So if you want your changes permanent you should save the report with a new name.

Disaster Prevention: Backup to the Cloud

CloudMany customers depend on CyberMatrix software to run their business. The software itself is replaceable. The data it stores however is not. If the hard drive storing the application’s data fails, you will have lost all the data. Yes there are companies out there than can recover data on a failed drive, but this recovery is expensive and takes time. While you are waiting, your business suffers.

A simple solution to this serious problem is to backup your data regularly to another drive. All CyberMatrix non-client/server desktop database software has a backup solution included with it. To back up data in this software simply choose Records | Backup Data from the Data Manager menu. This will create a time-stamped file in the application’s Data\Backup folder. Many of our products also have an automatic backup feature you can enable.

If you ever have a problem, you can simply restore this data by choosing Records | Restore Data from the Data Manager menu. In the dialog that appears click on the file you want to restore and press OK.

For those using the Client/Server or Web editions, which don’t have a backup feature, there are several third party backup programs out there. Techradar has compiled a list of them.

Note that it is very important that your backups are stored on a different drive. If you don’t and your drive fails, all those backups will be unavailable to you as well as your live data.

An even worse scenario you should prepare for is something like a robbery or a fire. If the machine your backups are stored on is lost, data recovery is impossible. Probably the best and simplest way to prevent this situation is to backup the data to the cloud. There are expensive cloud backup services available but why pay when you can easily do it yourself for free?

Setting up a cloud folder is simple. You can use a free cloud file service like Dropbox or Microsoft’s OneDrive. Once their software is installed you will have a cloud folder available that you can use like any other folder on your machine. Several of our products allow you to change where the backup files are stored. If you set this location to the cloud folder, your data will be safely backed up to the cloud. Otherwise you will have to remember to manually copy the backup files to the cloud folder.

Preparing for disasters is vital to a company’s health. One very important disaster prevention strategy is to ensure important data is backed up safely. You can easily and cheaply setup a cloud backup solution by using a free cloud folder service.

How To Register Cybermatrix Software

SoftwareSome new CyberMatrix customers find the process of registering the software they have just installed to be a bit confusing. This article should clear up any confusions.

Why Register Software?

Registering software is a way to tell the software that it has been purchased legitimately. Many smaller software companies have a single download for their software. When you download and install this software it is either missing some features or stops working after a certain number of days. After purchasing the software, a registration code is sent to the customer that will unlock the software.

At CyberMatrix we found the above method resulted in too much software piracy. The method we use is to have a separate download of the full software and provide the customer a registration key that registers the software.

How To Register CyberMatrix Software

After purchasing a license to use a CyberMatrix software application you will be emailed download instructions on how to obtain the full software. Attached to this e-mail you will also find a registration key file. You should not try to execute, open or rename the registration file. You can save this file anywhere, such as your desktop, and import it using the software. To do this start the software and choose File | Open Registration Key File from the main menu. Navigate to the folder you saved the key file, click this key file and then click the Open button.

At this point to software will be registered to your company.  When you next start the program the splash screen and the About box should show your company name and the splash screen should not say Unregistered.

If you are having trouble getting the software to register you can try working through the following video.

corrupt database

How to Re-Index a Corrupt Database Table

corrupt databaseFor everyday computer users it can be quite unsettling to see an arcane message like this one pop up:

ElevateDB Error #601 The table Users is corrupt

Most CyberMatrix software uses a local database to store their data. Local databases are the easiest to work with but are more likely to have maintenance issues such as database corruption. Database corruption sounds more scary that it really is. When a table gets corrupt it usually just means that the indexes have become damaged and must be re-built. Indexes are ways to find or categorize your data, not your data itself.

All CyberMatrix non-Enterprise and non-Web database applications have a feature to re-index any table used in the software. This feature is found in the Data Manager. You access the Data Manager by choosing Tools | Data Manager from the main menu.

To re-index a table, first make sure no one else but you has the software running. Then select the problem table in the Detail tab of the Data Manager. The Detail tab has a list of tables on the left side of the screen. Usually the problem is with the Users table which is near the bottom. Next simply choose File | Re-index table from the menu. Wait for the operation to complete. You should see a message when it’s finished. That’s all there is to it.

How To Send Texts by Email

TextingBy using the email gateway all text messaging providers have, you can send texts with any software that sends emails.

We occasionally get questions from customers asking if our software can send text messages as well as emails. Currently none of our software can send text messages directly. However, text messages can be sent via e-mail gateways. Pretty much every SMS carrier offers an email to text message gateway. This allows you to send a text message to anyone by using a simple email.

The process is simple. First you must find the domain each text provider uses. PCMag has a fairly comprehensive list. Most carriers use the following format: 10-digit cell phone number @ followed by the host domain. So for T-Mobile you’d use 3335551111@tmomail.net.

Then to send text messages to people instead of emails, enter their carrier gateway email address instead of their regular email address.

This email to SMS technique can be used in the following email-enabled CyberMatrix software: