Weblink should work just like the Workcenter. Really?
Product Manager: We need a Web client that should have all the features of our Workcenter. Is it possible?
Anil: Yes, of course, it’s possible.
Product Manager: Are you sure?
Anil: Yes.
Product Manager: I also want all the new controls (being introduced in V12 Workcenter) to be added to our V12 Weblink. Can you do it?
Anil: Yes, of course, we can do it.
Product Manager: Excellent! What about the bugs that some clients have reported? Can you make sure that all those bugs are also fixed in V12 Weblink?
Anil: Yes, we will take care of that.
Product Manager: Great! Our V12 Weblink should be able to handle more concurrent users also. Can you do that?
Anil: Yes. We can do that as well.
Product Manager: Awesome! How about the users experience in V12 Weblink vs. the Workcenter? I want that to be consistent. You think you can do that?
Anil: Yes, we can and will do that also.
Product Manager: Do you ever say NO? You think you can really do all these? What if something is not completed or cannot be done? What will you do then?
Anil: Hmmm… I will write a blog :)
In V12, all the missing features of the Workcenter have been added in addition to the new controls that are part of the V12 enhancements to both Weblink and Workcenter. But some of these features in Weblink will give a different user experience than the Workcenter. I covered most of the new features in V12 Weblink in my previous blog (New Weblink Unleashed - http://www.iet-solutions.com/blog/new-weblink-unleashed/en). In this blog, I am going to cover some differences between the Weblink and Workcenter.
We have made every effort to make all the features consistent in both our clients and have succeeded to a large extent. When I say ‘we have succeeded to a large extent’, I really mean it. So, what are these differences between Weblink and Workcenter that I am talking about and why do they exist? Well, the differences are because of the nature of the web and how the web works in comparison to a windows application. Here are some of the differences:
1) Working with multiple windows:
a. Opening and closing of objects in different windows:
One of the new features in the Weblink is the ability to open multiple windows and open multiple objects, and switching from one object to another either in the same window or another window.
In the Workcenter when you open something in a new window (by using right click context menu in the left tree or from a standalone query), that object cannot be accessed in any other window. And, when you close the new window that object is closed too.
In Weblink, we have added a new ‘Open Items’ menu in the status bar that displays all the objects you may have opened even in other windows (during the same session). And from the ‘Open Items’ menu you can click and see an object in any window even if this object was originally opened in some other window.
And in Weblink when you close a window that you may have opened by using the right click context menu, it doesn’t close all the objects opened in this window. You have to explicitly close these objects.
We had to keep it this way because the web is stateless by default and when you open multiple browser windows, if you navigate to another website or if the browser crashes, then you don’t want to lose all the child objects associated with that browser window. There has to be some way to access these objects. That’s why you always see all the objects in the ‘Open Items’ menu.
Using ‘Open Items’ menu you can open and see the same object in multiple browser windows at the same time, but I strongly discourage that. I recommend not opening an object at the same time in more than one window to avoid unexpected behavior.
b. Open in new Tab vs. Open in new Window:
Those of you who have been using the Workcenter may be familiar with this feature. In the left tree, when you open the context menu by right clicking on an item, you see these two options (along with others) ‘Open in new Tab’, ‘Open in new Window’. The first option opens that item in a new tab in the same Workcenter instance and the later opens that item in a new Workcenter instance.
In Weblink, however, you will see only ‘Open in new Window’ because ‘Open in new Window’ and ‘Open in new Tab’ essentially means the same thing for a browser i.e. a new tab in a browser is actually a new browser instance.
Clicking ‘Open in new Window’ in a web application may open a new tab in the browser. This setting is controlled by the browser and is configurable in the browser settings. So, in Weblink, if you want to open an item in a new tab instead of a new browser window, you need to change your browser setting.
2) Downloading attachments in Weblink and Workcenter:
In the Workcenter, you can attach and open nearly any file (i.e. files with any extension). But in Weblink it may not be possible to attach or open all the files.
For example, in the Workcenter you attach a file with extension “somefile.msg “to an Incident. If you open the same Incident in the Weblink and try to open the attached file “somefile.msg “, you will not be able to open it in Weblink.
What files you are allowed to attach or open in Weblink depends on your IIS configuration. Web applications cannot and should not control this because it can be a security problem if users are allowed to upload/ download any file (for example you may not want to allow to upload an .exe because it could be a security threat).
So, allowing/disallowing attachments of certain types depends on your company policy and how it has been enforced on your IIS.
3) Images in ETB (Enhanced Text box):
On some of our forms, we have an ETB that allows you to format the text and also lets you add pictures. In the Workcenter you can copy and paste the pictures in ETB but in Weblink you have to upload the image (there is an upload image button in ETB’s toolbar in Weblink). Copy and paste of images will not work in the Weblink
4) Multiple Home pages:
You can add more than one home page and when you login to either Workcenter or Weblink all your Home pages are opened.
In Workcenter, you see all the opened home pages in different tabs and can switch from one tab to another.
In Weblink, you will see the first Home page and the rest of the opened home pages will be visible in ‘Open Items’ menu and you can switch by selecting it from this menu.
5) Opening objects and Refresh in Weblink and Workcenter:
Let’s first go over what it means to open something in a windows application versus a web application.
When you open a form in a windows application all the information needed to display a form is loaded in the memory of your machine and then the form is rendered on your screen. Typically, all this information remains in memory while the form is opened. So when you have multiple forms opened, they are actually sitting right there in your machine’s memory and it’s very easy to switch from one form to another.
In a web application however, it’s different. When you open a web page in a browser, the browser keeps the information (HTML) of that page as long as you are viewing that page. If you go to another page it loads the HTML of the new page. Now if you have to go back to the previous page, the browser requests the information (HTML) required to display the old page again from the web server. A browser may also cache the information and display the page from the cache. If the content of the web page is static or doesn’t change so frequently it works fine.
In Weblink when you have opened multiple forms, it means that all the information related to those forms has to be saved on the web server and because all our objects are created dynamically, serving a page from the browser cache is not going to work. When you switch from one form to another in Weblink, it requests the information again from the web server. Your Weblink user experience will therefore be different from the Workcenter because in the Workcenter everything is in your computer’s memory.
In the Workcenter the only way to Refresh is by using the Refresh button we provide on our toolbar for the objects you open. But in Weblink, apart from the Refresh button you can also refresh the browser (we do that, don’t we, when a web page is taking few extra seconds to load?). This will reload the whole web page in the browser.
But, performing a browser refresh is different from the Refresh button that we provide. Refreshing the browser reloads everything - the left tree, our status bar, but it doesn’t refresh the data. Whereas refreshing using our Refresh button refreshes only the query/grid which is currently visible and it will also update the data.
As I mentioned we have provided the same functionality in the Workcenter and Weblink but in some cases the user experience will be different. Most of the differences are because of the differences in the nature of the web and windows applications.
I have given a brief overview of how a web application is different from a windows application. In my last point I mentioned that in a web application all the information related to opened objects has to be saved on the web server. When you have a few hundred users who have opened different objects at the same time and all information about these users and their opened objects has to be saved on the web server, it becomes a real challenge to maintain this information and make sure that the application is still responsive. That’s why we have added a load balancer to our web application in V12. I will write about the load balancer in another blog very soon. Stay tuned.

