Relays are now live.
Dialer integration have completely changed in form and functions in terms of how data gets from TLD to Dialers (Genesis).
It is now possible to send a lead from TLD to multiple dialer posts or other dialer vendors. This allows you to resell your leads should you choose to in real time.
Please see the section on using Relays for more details.
As a courtesy all accounts have been updated to use Relays based on the “Third Party” settings that was used previously.
Lot’s of Patch notes! New Technologies! Make go more faster!
- Many functions in TLD were recreated in NodeJS. Node is a state of the art asynchronous back end and front end system running on the server. It currently is running timed processes, websockets and other minor routes. We are moving toward more heavily relying on Node in the future due to it’s speed and memory efficiency. Many of TLD’s core features, queries and more are being recreated in Node.
- Mail is now working as intended and is ready for affiliate use.
- Mailer Campaigns
- Mailer campaigns are now active. Setting up a mail query will run every hour and look for leads or policies within an hour and X days based on campaign settings.
- Mailer Queue
- The mailer queue was rewritten to be lighter on the database. Efficiency increased by 1000%. Mail that is queued will not go out until after a minimum of one minute as the queue is checked every minute. We also have to respect Amazon SES limits for bulk mail sending which is currently about 300 mails a minute. Regular mails such as CSR E-mails, Campaigns and even Vendor Post instructions insert into the queue as opposed to mailing direct.
- Redis Sessions
- Redis is a very fast state of the art open source keystore memory database system. It is now running on the server. It is excellent for if we ever have to shard the server (Use multiple servers to host the site).
- Sessions are what authenticate a user and store data. We switched from mySQL Database based sessions to redis sessons to free up the database from having to deal with them. This increases performance from any ajax based checking functions. However most of these were removed with the websocket optimization.
- Websockets! Recordings is our first implementation of Websockets. Now whenever there is a new recording, instead of checking constantly to the server every second, the server emits events to each client that there is a new recording and checks to see if it matches the numbers on the lead. This is 10000% more efficient than the previous method. Active Recordings are now checked on lead load, when the phone number field changes, and when a recording starts on the server. We are working on a method to automatically check for archive recordings and insert into the page when a new one is found.
- If the socket server somehow cant be accessed or crashes the old AJAX method of checking recordings is still active as a fallback.
- There was a bug in the AJAX method that whenever you hit save, it would start double to triple to quadruple checking for the recordings. This was fixed since it is still a fallback method.
- Query Logger
- Installed a query logger for development that we can enable and disable in the config. Had a side effect of being very strict with PDO’s bindParam and bindValue. All queries were updated to bindValue to correct the issue.
- Removed Duplicate Queries
- Found multiple instances of duplicate queries and pushed them into memory when being requested. In some instances this fix drastically increased performance.
- Profile Report Index
- Found 3 indexes not being used properly. Combined them into 1 index which allows the profile page to run much faster. Also makes insertions into lead database faster.
- SSL Log
- We had a few crashes due to the SSL Log being overfull and filling the hard drive. The reason this happened was due to the AJAX method in the dialer. Now that we are using websockets it should not occur.
- Time Clock
- Was removed as we find a better way to deal with users logging in and out from multiple machines and browsers. Expect more strictness.
- Server Updates
- The server was updated to PHP 5.5+ as well as all other software updated. This was much needed. We will be scheduling weekly updates from now on.
- An accurate clock method
- Auto log out if you login elsewhere.
- More annoying but more secure, more accurate clock data.
- Carrier API Integration
- Sync Policy Notes and Statuses
- Sync Policy Statuses
- Sync Recordings via FTP
- Allowing Multiple Posts per Account (Multi Config)
- Increase Mailing Limit to allow Affiliates
- Post System
- Ability to Send Data to multiple third party Posts per Vendor.
Mailer campaigns allow you to pair a Mail Template (From the Templates Section) as well as add a subject, filter criteria for Lead or Policy, and the age of the lead at which you want to send an e-mail.
Emails are sent once per hour on the hour and filter age criteria based on the exact moment the lead came in. This formula has proven to work well as it is often synced with the time a person was already seeking and inquiring health insurance. It also allows us to stagger emails to prevent flooding the email service.
Mailer logs allow you to see and filter results regarding your mail campaigns.
New Policy Status: Insufficient Data
Added Insufficient Data section for when you havbe submitted a policy but are missing data. Works as a queue for your agents to fix the data. Added a button for this status as well.
Optimizations & Fixes
Combined JS methods for Filters into one patterned script for better performance. Removed “click” filtering when using multi-checkboxes and checkboxes. You must now press Go to filter. This will increase performance in some cases when selecting multiple checkboxes.
Exports work across Leads and Policy sections properly. There was an issue where if you were on anything but the “All” section in Clients, it would not export based on the section you were on.
Fixed an issue where you could “Reactivate” a policy before Submitting it, leaving it with no Date Sold.
Now displaying Policy Date information at the bottom near the buttons. This includes Created, Modified, Verified and Sold Dates. This will be editable by Admin or higher in a later patch for now it is just display. Will include Cancelled and Kicked Dates as well.
First pass at standardizing the look of tables and buttons, as well as specific column placement to give the system a more seamless look.