SQL Queries to pull data once without having to remove it

A common situation that comes up is how do you notify customers based on some records in a database without having to delete the data in the external database? I guess more accurately, how do you notify them only once?

There are many ways to approach this problem, but one of the simplest is to make sure that you keep track of which records have already been processed.

To do this in Coretalk, you essentially want to create a set of queries like this:

  1. A query to decide what records need to be pulled
  2. A query to pull the records
  3. Optionally, a query to delete the records you have processed if they don’t need to stay in the external database
  4. A query to update the record which records which queries you have pulled

As an example, assuming that the data in the external database has an auto-generated key for each record you want to pull, you would do it this way (Please note that the queries would be different in every database system, so I won’t show specific queries):

  1. Set up a table to store record keys and a name for the specified keys
  2. Set up a field in this for the last ID you have processed and set More >

Message duplication in Coretalk

Since we’ve had a few questions about message duplication in Coretalk, I figured we could clear up some confusion.

It is highly unlikely that Coretalk will duplicate messages. The only times we have seen Coretalk duplicate messages are as follows:

  • SQL Integration queries are wrong and the results are sent through multiple times. If this is the case, the messages will show up multiple times in the Communications history (and messages table) in Coretalk.
  • The GSM network are accepting and delivering messages after sending an error message saying that they could not accept the message. If this is the case, the message will be sent a second time when the message is retried. You can see this because the message is being delivered to the client, but shows as a cancelled message in Coretalk. There is no way to work around this as it is a bug in the GSM network’s system.
  • The GSM network could be delivering the message multiple times. This is also a bug in the GSM Networks system, but it is nearly impossible to prove that it is happening. To a large degree, even the GSM network can’t see this. If this is happening, there will be no indication of More >

Coretalk 9.5 B18 Released for testing

Coretalk 9.5 Build 18 has been released for testing and can be downloaded. Please email Simon for the download link.

The following items has been implemented:

Fixed:
  • Case 1335: Coretalk can’t run as a service.
  • Case 1298: New message notification comes up long after message shows in outstanding items.
  • Case 1345: Comms history exports un-languaged column names
  • Case 1367: Coretalk tries to connect to data even though it is connected to the internet.
  • Fixed a problem with integration services preventing them from running under some circumstances (Datalive, Infoline and XML).
Improvements:
  • Optimized message handler – It should process messages slightly faster and use less memory.
  • Optimized modem handler – Fixed a memory leak.
  • Optimized Coretalk background services. Should use less memory and be more stable.
To install Coretalk as a service:

Everything will still need to be done the same as for the old version. The only change is that where you would previously run the installService.bat file from the Coretalk folder you will now have to run installService.bat followed by startService.bat in the bat folder.

Possible Security Related Problems with Reporting in Coretalk 9.5

If you are sure that your account details are correct and that you are connected to the internet, but you still can’t validate your account or register users, the problem could be with security settings on your PC or network.

For GMA to work, Coretalk needs to be able to connect to the following ports on report.coretalk.biz over TCP: (Currently, the IP Addresses in use is 74.86.39.12 and 184.172.8.136)

  • 80
  • 81
  • 51730
  • 51731

Make sure that any firewalls on your PC or network allow connections to these ports or GMA Reporting might not work. You should also confirm with your internet service provider that you are allowed to connect to these ports, and if not, request that they open these ports for you.

Another possible problem is that some Firewalls or internet security applications could be set to prevent outgoing connections from unauthorized applications. The easiest way to see this would be if the “Internet” light at the top of Coretalk stays red even though the computer has a working internet connection.

If this is the case, you would have to allow the following executables to establish outgoing connections (These paths are relative to the path where Coretalk is installed):

  • Coretalk.exe
  • jre\bin\java.exe
  • jre\bin\javaw.exe

Unfortunately, the exact process to do this would be More >

Latest Coretalk beta for 64bit support – Build 17

The latest beta for Coretalk 9.5 (B17) was released in July – If you did not receive a mail with the download link, feel free to send us an email to request a download link.

While this version is fairly stable now, we advise that you only install it for clients after you have tested it yourself and you are happy to support the current issues with this version. I would not install it for clients unless they have a good reason to need this version and they understand that there are still some problems with this version.

After extensive testing, a few problems have emerged. The worst of these are simple to work around if you know about them.

The confirmed problems with workarounds are as follows:
  • Coretalk will not detect a modem plugged in after it has started. To work around this, plug in all modems before starting Coretalk. (Case 1246)
  • Serial ports with no modems attached occasionally stops Coretalk from detecting other modems. To work around this, disable the serial ports in the port management screen (available from the modem status screen. (Case 1246)
  • Coretalk will crash if a modem is unplugged while it is running. This is a very visible issue, More >

Coretalk SMS Credit Explained

There seems to be some confusion about how the Coretalk SMS credit works. When I refer to Coretalk SMS credit, I’m talking about the number of credits you can see on the SMS Write screen. This credit is an internal control mechanism and does not have any relation to prepaid credit from your GSM operator.

The why and how of SMS credit

Coretalk SMS credit is a client control that allows clients to limit the number of text messages that they send.

It is accessed through the System >> Preferences Menu in Coretalk under “SMS and Messaging”. But, if a client tries to send more messages than they have credit for they will be prompted to order credit on the SMS write screen as well.

Once the order is placed Coretalk sends an SMS to the Distributor system (To the server number set up in the preferences). The Distributor system receives the message, and provided that the client’s IMEI is registered and active, immediately (automatically) sends back the requested amount of credit.

Some potential problems

SMS credit can only be ordered once every 30 minutes.  If a client tries to order more than once in a 30 minute period they’ll receive a message telling More >

Windows 64-bit problems

We’ve been seeing some problems with some Windows 64-bit installations, so I wanted to clarify the situation.

The problem:

On some installations, When Coretalk is running, Windows explorer becomes unresponsive. This issue seems to be pretty intermittent, so even on a system where it is working fine most of the time, this problem might occur. It also seems like it might start happening after some Windows updates, so even if it works when you install, it might start presenting this problem after a while.

All of this makes it hard to test for this situation, and is also making it more difficult to diagnose.

(more…)