I hope everyone enjoyed their holidays! We have had a number of issues reported, several of them were big enough that we decided to release an 8.5.3 patch version that fixes the issues that were found.

Issues Fixed:

Win: There were instances that caused Barcode corruption when the Barcode was rotated on a label

Mac: There were issues with with the Web Service refreshing the list of DYMO printers

Mac: Web Service method timeout is increased due to too many timeouts

JS: Fixed issues with Async calls

JS: Fixed Issue that isBroswerSupported return the wrong value

JS: Fix Issue with a Crash when running in IE8

Reference the following posts for additional set up information. Keep in mind that the Web Service is built into this version of DYMO Label so the standalone install is no longer required.

The JavaScript library is the same as the one posted in the DLS Windows release so the information in the following posts apply to the Mac version of the SDK. Keep in mind that the Web Service is built into this version.

Thanks again for everyone’s patience. We were not able to do a Beta on the Mac version but it contains all the feedback that we got from the Windows Beta. If there are any issues, please either post on the blog or send an email to sdkreply at newellco dot com. We’ll be monitoring both looking for issues and will try to respond to issues as quickly as possible. Keep in mind the more information that you include in your post/email, the better we will be able to help you.

It should be noted that the JavaScript Samples that are in older posts on the blog have not been updated to incorporate the web service correctly.

UPDATE

We’ve had some reports from our users that a reboot may be required for the DYMO Web Service to get properly configured. We are looking into this further. The way you know you are in a state that requires a reboot is as follows:

Click on the DYMO icon in the upper right on the top menu bar

Select Diagnose

If a dialog pops up and it complains about no ssl assigned to the port, you should reboot.

If you see a dialog that says “DYMO Label Web Service is running on port XXX”, then there could be a different issue.

We also know that you are interested in the Mac version. We have had a lot of issues getting the design to work on Mac OSX, we have hit a major milestone this week and we now have a release candidate for DLS 8.5.3 for the Mac. If everything passes, we should be able to release it within a work week.

As a note to all our patient customers, we really appreciate you and your patience. This has been a more difficult release than we had thought but it is finally happening. All we have now is the imminent MacOSX release. Thank you!

Update: Added link to new Javascript library version and added links to older posts for references

A lot of our SDK users are running into a particular issue printing barcodes where they will be clipped or not printed at all. The issue is actually being caused by a bug in the .NET Framework (v4.0 and newer), specifically in XPS printing. The trigger for the issue is when our printers go into “Barcode and graphics” mode. Unless manually overridden, the DYMO SDK will switch the printer to “Barcode and graphics” mode whenever a barcode or image object is present on the label. When in this special mode, the resolution of the printer changes from 300 x 300 DPI to 300 x 600 DPI. This “non-square” resolution is not handled correctly by XPS and causes the clipping issues.

Below is an example of this issue. The label on top is OK while the label on the bottom is printed with the issue.

What you may notice is the label with the issue stops printing at a distance across the label that is equal to the width of the label. This is the crux of the XPS bug and as you can see, also affects other label object types as well.

Now that we understand the issue a little better, what can we do about it? Let me start by saying that we have made Microsoft aware of this issue. Since there are no guarantees they will fix the problem, we are currently working on a solution that will be pushed out in a future update of DYMO Label Software. In the meantime, you have a few choices for working around the issue:

Design your label in portrait orientation. For most label types, the issue will not arise if the label is printed in portrait orientation. By using the object rotation feature in DLS, you can easily design a label in portrait orientation that will look identical to one designed in landscape orientation.

Compile your SDK applications against .NET 3.5. As mentioned earlier, the issue is with .NET Framework versions 4.0 and newer. Current versions of DLS are compiled against .NET 3.5 so you will not see this issue when printing from DLS. However, if you are compiling your SDK application against newer versions of .NET, when your application runs, the newer version of the framework will be loaded. Even though the DYMO SDK binaries are compiled against 3.5, .NET backwards compatibility will kick in and the newer version will be used instead. So, to take this approach, you will need to compile your SDK application against .NET 3.5.

Force the print job into “Text” mode. In the DYMO Framework, you can override the print quality setting using the ILabel.Print(IPrinter, IPrintParams) API. An example of how to override this setting can be seen below (the parameter used to change the print quality is marked in bold):

We apologize for the length of the delay in this release but we ran into a number of unforeseen issues trying to fix a couple of the bigger issues that were brought to our attention. The two issues that we are addressing in this release are problems with HTTPS and Network Printer discovery.

Requirements

Network Printers

This was a big issue. A service running on windows will not see Network/shared printers for a user and there are Microsoft bugs that prevent seeing these printers when the service is run as the current user. With that in mind, we had to re-implement the way the service is run. It is now a service that starts when the user logs in. This Service will appear in a user’s application tray and can be configured from there. This will allow the SDK to see any Network/Shared Printers that the user has installed.

HTTPS

Our JavaScript library now connects to the web service via HTTPS. We have to install a self-signed certificate to allow this to happen. After installation finishes, we will ask the user if they want to open up the default browser to accept the certificate. Once the certificate is accepted then all HTTPS traffic should work as normal. You can install the certificate on other browsers by going to “https://localhost:/DYMO/DLS/Printing/Check”. This is important for the Firefox browser.

New Tray application

The new tray tool has several options:

Start/Stop the Service

Configure: Which will let you specifically configure a port within the approved range.

Diagnose: This will confirm that the service is running and identify the port.

Notes

The KB2954953 patch no longers needs to be applied for the service to work

We’ve seen some issues where the service needs to run with elevated permissions to see the printers. We are working on this issue.

We’ve seen some crashes when the service starts or at the end of the install. We are investigating but you should be able to start the service from the C:\Program Files (x86)\DYMO\DLS Web Service\DYMO.DLS.Printing.Host.exe

The Mac version is being tested right now and we hope to have a version released soon.

We appreciate your patience! We are working on this as hard as we can and understand your frustrations with delays. We want to insure that we release a quality product that can meet your demands. Your feedback is valuable to us!

We are proud to announce the Open Beta of the new DYMO Label Framework JavaScript Library 2.0. This solution uses a new communication mechanism that will work on all browsers. This means that we have removed the dependency of browser specific plugins like NPAPI and Active-X. The current DYMO Label Framework API is fully supported.

Requirements

The new init method

Since the new communication protocol needs to discover the port that the DYMO service is listening on, a new method was introduced, dymo.label.framework.init(callback). This method performs a scan of a range of ports to look for the DYMO service. This method needs to finish before any other DYMO Framework API calls are made. To accomplish this, the method takes a callback method that will be called as soon as the dymo.label.framework.init method finishes.

Backward Compatibility Mode

If the dymo.label.framework.init method is not called (i.e. no user code has been changed) then the Framework goes into backward compatibility mode. It will try to scan the first port in the defined range and if it finds the service, the new communication protocol will be used. If it fails, it will fall back to the previous implementation that uses native plugins (NPAPI/Active-X).

Tracing

We have added a new tracing feature. This can be used to help debug issues with the new service. The property is called dymo.label.framework.trace. When set to true, it will put tracing messages in the browser developer console. You should set the trace property before calling the dymo.label.framework.init method:

Tracing Example

Known Limitations

The port number that the service binds to is not user definable. We tried to use a range of ports that are not typically used but there could be port conflicts.

HTTPS: Because the service currently uses insecure (http) requests, some browsers may have some issues. For example, Firefox will block insecure XHR requests when a page is loaded through HTTPS. So in order to enable it, the user has to click icon in the address bar and enable insecure requests within a secure connection.

As stated in the requirements, a Microsoft patch is typically required on Windows 8 and greater.

MacOSX support is not included in this Beta, we are working on it now and we will post more news about this version soon.

As with DLS, we do not support Windows Server configurations.

To Do

A new version of the DYMO Label Software 8.5.2 will become available. This version will include the new Framework implementation and will be considered the Release version of the new Framework. This is expected to be released near the end of September.

Service Configuration (Port Number): Currently, the service will bind to the first available port within a given range. We will add a parameter that will allow a user to assign a particular port within the given range.

Investigate the best way to work over HTTPS without issues

We are implementing asynchronous versions of existing API methods

Take constructive feedback and bug reports from our Beta Customers. We will be releasing new versions of the Beta as we respond to issues found in the field.

Update 08/28/2015

If the Web Service fails to install, try and turn off your Anti-virus software before installing.

Update 09/09/2015

We apologize for the delay of the next version of the Beta. We’ve have been working on full HTTPS support, for which testing is ongoing, we found some issues and want to fix them before releasing. We’ve also reproduced the service not recognizing networked printers. We are investigating the possible solutions since it appears to be a limitation of what the service has access to. We’ll keep you informed of any developments.

As many of you know, Google is removing support for NPAPI in the Chrome browser. Our existing JavaScript SDK utilizes this API. We have been diligently working on a new communication mechanism that will work on all browsers and will avoid such things as NPAPI and Active-X and will decouple the SDK from browser specific implementations.

The good news is that we are currently testing our new communication protocol and it will be ready for a Beta release soon.

We have worked hard to make sure that the new SDK will be backwards compatible. There will be the addition of an initialization method, but the existing API works the same.

Our new SDK will utilize TCP/IP to communicate between the browser and a Windows service running on the client machine. The new service will be installed with DLS when upgrading to the new version. A range of ports will be available for our windows service, if the browser cannot bind to one of the ports, it will fall back to our legacy plug-in architecture. For additional security, the service will accept connections only from localhost.
Stay tuned to this blog for more information.

Labelwriter.com is currently down. If you are linking to the JavaScript SDK file that is hosted on Labelwriter.com your web application will not work at the moment. As a best practice in the future, we recommend that you do not link to the JavaScript file that is hosted on our servers but download a copy and host on your own servers. This will prevent a couple of issues:

Any outages on our end will not affect your application

Any updates that are made to the latest JavaScript file will not break your application

While LabelWriter.com is down, you can download the latest version of the JavaScript file from here.

We apologize for the inconvenience and hope to have Labelwriter.com up and running again soon.

Update

Labelwriter.com is back up an running. Once again, we apologize for the inconvenience.

A some may be already aware of, Google has announced that it will phase out support for NPAPI in Chrome with the ultimate removal in Sept 2015. We use NPAPI in the framework for plugin support for most browsers except for IE which we use an ActiveX plugin. We are investigating alternatives to NPAPI but we have not come up with a solution yet.

In the mean time before Sept 2015, you will have to possibly change several settings in your Chrome browser in order to use the DYMO Label Framework:

Click on the Chrome Customize button in the upper right of your browser

Find the Settings option

Click on the “Show Advanced Options” link

Click on the “Content Settings” button or browse to chrome://settings/content

Verify that “Allow all sites to run JavaScript” is enabled

Verify that under Plug-ins that “Run Automatically” is selected

You can check in the “Plug-in exceptions” to see if the site you are running the Framework from is set to “Allow” instead of “Block”

Verify that “Unsandboxed plug-in access” is not set to “Do not allow any sites….”

This should get things working.

Another work around, though less than ideal is to use the extension IE Tab. This will put a web page into an IE browser tab within Chrome and will use the ActiveX plugin instead of the NPAPI version. It has options to add a wild card URL that will automatically use the IE Tab when it matches. We recognize that this is not a valid long term solution.

Update (4/15/2015)
With version 42 of Chrome, Google now disables NPAPI which is required to run our plugin. However, you can manually enable it by typing the following into the Chrome address bar and adjusting the setting:
chrome://flags/#enable-npapi

Update (4/20/2015)
It has been our experience that just enabling NPAPI may not be enough. In some instances, close the chrome browser then uninstall and re-install the DLS software for the plugin to appear in the plugin list: chrome://plugins/
Go here to see if your browser has the framework installed correctly: Check Environement

Update (5/8/2015)
In some situations, a full shutdown and reboot is required after all the steps have been performed for the plugin to appear in Chrome.

Some LabelWriter 450 and 450 Turbo label printers manufactured after April 1, 2014 will not install properly on computers running Windows 7 when connected through a USB 3.0 port. DYMO has a software update available that will fix this problem. For assistance, check here to determine if your label printer is affected and to install the software update. You can also call DYMO Customer Support at 1 (877) 724-8324, Monday-Friday, 8 am – 6 pm (EST).