Development – ExchangeDefender Blog

March 16, 2012

Shockey Monkey–SOAP Callback

Filed under: Development,Shockey Monkey — vlad @ 8:44 am

This week our development team here at Shockey Monkey has finished the SOAP Callback framework and has published this new release to all portals. This new framework enables you to configure automatic code level responses when certain conditions are triggered. Current the only supported triggered events are related to tickets (create, update, close). Over the course of this year we will expand the available list of triggerable events as demand for them increases.

The most elegant design feature of this entire framework is the dynamic interface structure that allows virtually any SOAP interface to communicate with our software. Let me briefly walk you through the process for configuring the callback mechanism.

Settings -> Callback

The first time you visit this page, it will seem fairly empty but these two fields you should notice at the top. Simply provide the remote SOAP WSDL location and press “Validate”.



Now, the system will examine the URL and fetch any valid methods that exist inside of the requested module. You should notice the section below; it will become populated with new fields.

You should now see that you have three sections.
One for (Create Ticket, Update Ticket, and Close Ticket).

Select a method from the dropdown list. You will notice these are all valid methods from the request API that we defined above in the previous step.

Once you have selected a method from the dropdown list, you will notice additional (parameter) fields. These fields are loaded dynamically depending on the parameters available in the provided SOAP API.

Note: One thing to keep in mind is complex types. If your method requires complex parameter types such as (arrays, objects, etc.) they will not be supported at this time. Basic types like (strings and integers), should be used mostly for parameter types.


The text box next to each listed textbox is where you will enter the desired value for this parameter. If you would like your method to use TICKET variables (“which is most likely”), they are provided in the dropdown menu to the right of the text field. Click the list and select the desired variable and it will prefill that variable into the text field to the left.

Also keep in mind each trigger is optional. You don’t have to assign a method for every section, only the ones you want to use. After you have finished assigning each of your methods and their corresponding parameters, click “Save”.

That’s it, callbacks are now enabled and you should begin to see the results!

Hank Newman
VP Development, ExchangeDefender

March 2, 2012

ExchangeDefender Password Synchronization

Filed under: Development — vlad @ 11:18 am

Picture9Password synchronization was first implemented inside of ExchangeDefender about 2 months ago. It was also at the same time we released a new version of XDSYNC that also included a password synchronization option. This has been a little confusion among a few partners on how exactly this works and what to expect with password synchronization.

There are two primary configuration models, which are described below.

Hosted Exchange & ExchangeDefender Synchronization.
If you have a Hosted Exchange mailbox with ExchangeDefender, password synchronization happens automatically. This is because both the Exchange mail account and the spam protection layer both exist within servers that we own/operate. So anytime a password is changed through our management portals, that password is now updated in both places. After a chance occurs it may take up to 5 minutes for the Hosted Exchange password to update across our servers.

Private Server & ExchangeDefender Synchronization.
If you operate your own private Exchange mail server and use ExchangeDefender as your SPAM protection, password synchronization will require the XDSYNC tool. XDSYNC will automatically push new accounts into ExchangeDefender minutes after they are added to the mail server. You also have the option to enable password synchronization. In this case, it’s a one way push and will update password changes from within ExchangeDefender back down to your mail server. Keep in mind anytime a change occurs it will typically take about 5 minutes for that modification to be applied to the server.

Hopefully this will help define the two configuration models a little better and what you can expect with each configuration.

Hank Newman
VP Development, ExchangeDefender

February 10, 2012

This Week in Development…

Filed under: Development — vlad @ 1:42 pm

This week the development team here at ExchangeDefender has been working towards internal fixes and upgrades across several platforms. The next few months are going to be jammed packed with a lot of exciting additions, which will help us assist you and your clients more efficiently. We’ve also made several additions and corrections inside of the Shockey Monkey service manager module.

A few areas we addressed internally were in regards to account creation and error handling when it comes to provisioning Hosted Exchange accounts. We have addressed the rare instances where an account(s) would get stuck in the “pending” state upon attempting to create a new mailbox. We were also receiving reports of several issues with the service manager when using “Internet Explorer”; we have corrected these issues as well. Essentially we’ve been trying to smooth the entire ordering process out and help make new account creations and modifications a more pleasant experience.

In regards to new features inside of the service manager, users now have the ability to add or remove distribution group account aliases. What this feature does is allow the distribution group to receive email from more than one address and still distribute the message as if it was sent to the primary email. We decided to implement this feature now because it became a request that kept growing and growing as more and more partners were creating distribution groups for their clients.

I’m looking forward to discussing the future products and changes that will occur within the next few months and helping shed light on the technical aspect of how these new products will function throughout you every day routines.

Hank Newman
VP Development, ExchangeDefender

February 1, 2012

Core Stability & API Extensions

Filed under: Development — vlad @ 12:54 pm

These past few weeks the development team has been focused on improving internal core processes across our Shockey Monkey and ExchangeDefender products. The goal was to encompass all of the changes and issues reported throughout last year and implement solutions going forward. We’ve also been working on developing the foundation for many exciting additions that will premiere at various times throughout this year!

One of the core implementations that happened last week was a revision to our Hosted Exchange account automation software. This component is responsible for handling the ordering process for Hosted Exchange, Public Folders, Distribution Groups, and External Contacts. What this translates into is a “faster & more accurate” ordering process for our partners and their clients. We’ve also implemented a more intelligent logging system that will allow us troubleshoot and possibly script automatic corrections when an issue does occur within our software.

We’ve also been making several additions to the public API as we speak with more and more partners who are interested in having a viable integration into our software. We recently added the ability to limit results based on a ‘lastupdate’ timestamp and implemented several invoice methods to retrieve information from the accounting module. We are still working on and exploring the possibilities of enhancing the current Restful API and implementing a SOAP counterpart.

So in summary, we have finished our January goals and have completed the majority of the core framework for our future projects. I can’t discuss these projects yet, but once they get closer to release I will provide a technical overview of how they work and what to expect when using these applications.

Hank Newman
VP Development, ExchangeDefender

January 20, 2012

XDSYNC V2–A Technical Overview

Filed under: Development,ExchangeDefender — vlad @ 4:09 pm

This week we have been going through the final stages of our XDSYNC v2.0 deployment. Everything has performed great and has been operating as intended inside of our test environments. We are still on schedule and should have this published later today. There are a few key points I would like to cover before we release this new distribution for download.

How does XDSYNC work?

XDSYNC works by establishing a connection to our servers and running a series of checks against the provided domain information. You authenticate by providing the primary Domain and Password for the accounts. The software will then translate this and examine all sub domains for the population process.

The sync process is unidirectional and will pull the existing structure from your Exchange Server. It will then take that structure and mirror it inside of ExchangeDefender. This is important to pay close attention to and understand! Once you enable XDSYNC, you should do ALL of your account creations on the Exchange Server. You should no longer manually create accounts inside of ExchangeDefender.

The sync process allows you to pull all mail addresses associated with (Mailboxes, Distribution Groups and Public Folders). When we pull in addresses from (Public Folders & Distribution Groups), we flag these addresses on the backend as being non-mail accounts. This allows us to exclude these addresses from the billing cycle and also limit certain functionality due to these being non-mailbox accounts.

What about the Password Sync Component?

I mentioned this briefly in my last blog post and essentially everything is the same. Starting today any user account that has the password changed, it will be flagged in the back-end. If enabled XDSYNC will pick up these requests and reset the user’s password on the active directory level.

That is the basic logic of how XDSYNC operates and what you should expect if you choose to install this application. If used correctly, it will make your IT management life a lot easier and help reduce the mundane tasks of adding users to both systems. It will also enable your clients to have control of their password management, while you maintain the higher level management of the servers.

Hank Newman
VP Development, ExchangeDefender

January 6, 2012

Shockey Monkey – Service Manager Updates

Filed under: Development,Shockey Monkey — vlad @ 11:17 am

This week has been focused towards the cleanup and redesign of the Service Manager. It’s a very large module built inside of Shockey Monkey and required a lot of special attention to assure the new code did not interfere with any existing interface mechanics. Everything has gone very smoothly and today we will be finishing the last few sections, before publishing the changes to the remote portals. With the new publish, everything should look a lot cleaner and loading times have been reduced dramatically.

Next week we have a few focus points that have been requests for quite a while. First on the list will be SLA management. We have been notified of several issues with the current SLA system and will be working towards resolving those problems. Next, as several of you have noticed the “Projects” section has not been updated to match the look and feel of Shockey Monkey v2.0 yet. We also have several back-end enhancements we will be implementing into the code base over the course of the week.

We’ve delayed the updates to these sections on purpose. We didn’t want to simply re-theme these areas, but transform them into something more powerful! We originally designed these sections a few years back and the scope of implementation was limited. Now that we integrate with several platforms and have a more advanced understanding of how everything works and plays together, we hope to make these sections something amazing!

Hank Newman
VP Development, ExchangeDefender

December 27, 2011

Shockey Monkey–Accounting Module

Filed under: Development,Shockey Monkey — vlad @ 8:28 am

This past week the main focus on the development side was to bring the accounting module up to standards with the new version of Shockey Monkey. This was no easy task and required a lot of code revisions and new implementation methods. In total: 20,000 lines of code had to be “reviewed” and modifications/additions made where found necessary.

The first thing you will notice is that the GUI has been brought up to standards to match the current look, feel and flow of the 2.0 design. The next things that we addressed were outstanding bugs within the system and new bugs that were created as a result of the upgrade. I won’t go into details here, but you can read about the bugs that we fixed here. Finally the last thing many of you will notice is the ability to set your “currency” within the Shockey Monkey Portal.

You can modify the currency displayed inside your portal on a Global level by going into your branding settings. Here you will notice a new section called “Regional Settings”.

Next week our continued focus will be on improvements to the core and Service Manager enhancements, while we continue to fix bug reported by our Partners within the scope of Shockey Monkey.

Hank Newman
VP Development, ExchangeDefender

December 7, 2011

The Database Availability Group is Supposed to be Completely Fault Tolerant…

Filed under: Development,Support — vlad @ 11:08 am

Earlier this week we created a NOC entry/notification for partners about a maintenance interval we scheduled for ROCKERDUCK. The entry outlined an issue we faced where on DB (DB7) was running on the logs drive instead of the DB drive and our proposed outline of the work to be completed. Unfortunately, because the issue affects all database copies, correcting the issue would involve reducing DB7 to a single mailbox server, moving the database, which would take DB7 offline, and then re-seeding the copies to all passive nodes.

Shortly after posting the NOC entry I received an email from a partner demanding that I explain to them why the Database Availability Group (DAG) could not prevent service interruption for users on DB7.

So why does the DAG not protect from every single event possible?

Simply said; all servers in a DAG must be identical in terms of storage location for databases and logs across all servers. In a DAG, only one mailbox can act as the “active” mailbox database and all other copies on other nodes are purely “database copies” that can be switched to the active/primary database.

In the case of moving the database path, we cannot switch the current active database over to a passive node, move the DB, then switch it back to the original primary as this would break the DAG and we would then have split copies of ‘active’ data. We cannot use passive copies to keep service active while we physically modify the database properties/layout of the ‘active’ copy.

If this was a case where a database experienced a failure on the active copy or there was a network communication issue, the DAG would mount the passive copy of the database and continue providing service to users.

JibberJabberSo all this jibber-jabber means what?

In short, we would remove all copies of DB7 across all nodes except the primary node. After all copies are removed, we would start the move of DB7 to the proper location and then remount the database. By calculation of the DB size, service would be interrupted for about 10-15 minutes. Finally, after the move completes we would re-add the database copy across each node and then bring service back into full redundancy. A fifteen minute outage is unfortunately a necessary evil to provide an overall more redundant solution to our partners and their clients.

Travis Sheldon
VP Network Operations, ExchangeDefender
(877) 546-0316 x757

December 2, 2011

Shockey Monkey 2

Filed under: Development,Shockey Monkey — vlad @ 12:22 pm

With the release of Shockey Monkey 2 coming early next week, we have been working like craaaaaaaaaaaazy these last few weeks to finish the major revisions and clean up all the banana peels! This will be the LARGEST update to the Shockey Monkey core that has happened since it was created several years ago. The first thing you will notice is the new UI and dashboard layout on the main screen. With this redesign we tried to encompass the majority of all the vital information to one central and eye catching location. It will give you and your staff the ability to see a complete ticket overview, recent tickets, announcements, your agenda and tasks at a moment’s glance. The best part… it’s compatible in virtually every browser!

Out of the gate, the new UI will come with 5 preloaded themes that you can switch between inside of the portal. It won’t make it in time for the launch next week, but the goal is to implement a dynamic theme configuration tool inside of the portal. This would allow you to make the solution really and truly represent the look and feel that encompasses your company. We’ve also made several improvements to other aspects of branding that will give you an ease of comfort when navigating your settings.

Shockey Monkey Portal

We have also added several new features that really help Shockey Monkey stand out from the crowd! You now have the ability to go completely full screen and remove the menu bars while working inside of our solution. They are can be controlled by a toggle anytime from the bottom left toolbar and your setting will remain persistent for the duration of your session. This allows you to view more information and stay focused on the task at hand without any compromise to performance. We’ve also implemented a chat and notification system to allow interoffice communication and to give your customers the ability to chat directly with your support or sales team. We’ve improved the logging system and enhanced the search mechanism that will allow you to navigate through the activity inside of your portal.



On the backend we have been continuing to reduce the code overhead and processing load across all pages. This isn’t a difficult process, it’s just a very tedious and mind numbing experience. It may not make a lot of sense right now, but essentially this process is laying the foundation for very exciting future releases. Simply put, it’s all about being dynamic and allowing the solution to be put together to meet your individual needs. Overall the redesign has amazingly well and we will continue to improve dozen of areas even after the Shockey Monkey 2 launch.

Hank Newman
VP Development, ExchangeDefender

November 18, 2011

Shockey Monkey Reloaded

Filed under: Development,Shockey Monkey,Webcast — vlad @ 1:50 pm

This week the development team has been focused on cleaning up Shockey Monkey. This process is mainly composed of three focused categories (UI, Performance, and Bug/Warning Fixes). I would say this has been the largest update to Shockey Monkey since it was originally created over seven years ago. This update should also help lay the framework for any future additions or tweaks.

User Interface

– We’ve applied a consistent look and feel across the entire portal.

– Implemented a themed backend that allows quick and easy branding.

– Improved cross browser support


– Improved loading performance across the portal.

– Minified most of the JavaScript files to reduce fetch & loading times.

– Implemented more session variables to reduce the amount of queries.

Bug Fixes

– Decreased Disk IO access by resolving more than 1000+ warnings that were constantly being written to a local log file.

– We’ve fixed a handful of bug over the past few weeks and have been continuing to resolve these issues as we enhance the portal.

– If you have a bug, submit it here:

Performance is being improved in several ways across the Shockey Monkey portals. The first thing we did was minified thousands and thousands of lines of JavaScript. The compression ratio on average across all of our scripts was about 65%, which is very good. We’ve also been fixing trivial “warning” messages as we progress through the code. By resolving these warning messages that are generated on the back end, it reducing the amount of disk IO that is required to store this information. Typically this is not a big deal, but multiply that by 1000’s of warning and you get some nasty seek times.

If we go a little bit into the cleanup of the User Interface, it was a project that was mainly focused on consistency. We are also making sure that the look and feel between browser types is very similar. There are also a few special features of the new UI that will really help bring the User experience to a new level. One of these features is the ability to view any page in “Full Screen” mode. What this does is remove the top and side menus from the portal. This allows you to manage any page without the annoyance of having to resize or scroll to achieve simple tasks.

ReloadedWe have a lot more information and a ton more features that we are saving for the unveiling. If you would like to be a part of the Shockey Monkey Reloaded webinar on Thursday, December 1, 2011 12:00 PM – 1:00 PM EST, visit the following link:


Hank Newman
VP Development, ExchangeDefender

« Newer PostsOlder Posts »