Showing posts with label SDL. Show all posts
Showing posts with label SDL. Show all posts

Friday, December 29, 2017

What's New in SDL WorldServer 11

Local Language Content is growing in demand day by day and it is one of the primary focus areas of Marketers today. Various surveys show, how the local language content helped companies to get more customers and contributed to the growth of the business eventually. One shouldn’t be surprised why Translation Management System is a really important tool of CXM strategy of an Enterprise today.

SDL WorldServer:


SDL WorldServer is the leading translation management system in the industry. Over one hundred of the top global companies depend on SDL WorldServer to optimize their translation programs.

WorldServer is an advanced tool that enables you to transform manual, disparate translation processes into a centralized, fully administered program. With WorldServer, you can adopt a flexible enterprise-class translation management system that automates translation tasks and greatly reduces the costs of supporting large volumes of local language content.

Core to SDL WorldServer is a workflow based process automation engine that drives all translation project activities. You can easily configure the workflow so that, for example, the process for translating marketing material is different from that for translating very technical documentation.

New features & benefits in Version 11:


Recently in November 2017, the latest version 11.3 of the SDL WorldServer is released. Other than supporting technology upgrades, below are the key new features introduced in the version 11, adding value over V10.4: 

UI enhancements:

The new version has significant rewrite of the User Interface layer to provide modern & efficient User Experience for all users.

Below are the main features of the new UI:
  • New UI paradigm aligned with SDL’s Convergence strategy.
  • Initial Focus on Project Management UX and Efficiency.
  • Platform for delivering usability improvements.
  • Modern, supportable UI components.
  • New REST-based API is used under the hood.


Performance & Scalability:

1. System Improvements for Scalability & Agility:
  • Database Transactions optimizations to eliminate deadlocks and enhance efficiency and scalability. The version Supports SQL Server 2016 as well.
  • Monitoring & Troubleshooting by the new diagnostic tools to identify and address deadlocking database transactions.
  • Automated Task Handling by sequencing and distributing automated tasks to prevent time consuming tasks from slowing down the system as a whole.
  • Translatable Content Handling is improved by:
             o Updated file filters for MS Office file types.
             o New server-friendly file types for RTF and Excel

2. Cloud Improvements:
  • Value add Security packages like encryption, IDS/IPS, compliance, vulnerability scanning, etc.
  • Next Generation Database Platform with increased availability, scalability, manageability and security.
  • Further automation of deployment/upgrades and other maintenance tasks.
  • Modernization of Cloud Delivery Platforms including new hosting providers, new data centres, more modern services and infrastructure.

SDL Language Cloud integration:

Starting with this release, machine translation in WorldServer can also be performed by SDL Language Cloud, via the new Language Cloud machine translation (MT) adapter. Once the adapter is configured, the translation can be done automatically in Worldserver using SDL Language cloud.
The process of setting the adapter is quite straight forward as demonstrated here.

Applet replacement:

Because browsers are reducing or eliminating support for the Java Plug-in, it is wise to consider migrating existing Java applets to something like Java Web Start, which uses the Java Network Launching Protocol (JNLP) to download and run an application locally.

From the release 11.1, SDL have started the procedure of migrating the WorldServer features that use Java applets to JNLP. As a result, user can now access the Explorer page from all supported browsers. User can modify the use of Java applet or JNLP by configuring the parameter applet.display.option=<available values are applet, jnlp, and browser>, in general.properties. SDL recommend using the browser option, which will make the browser choose whether the Java applet or JNLP is used to open the Explorer page.

Next Gen Online Editor:

Online editor is one of the most important feature introduced in the V11. It is an Add-On Components to the GUI and can be configured to be used in workflows by Translators and/or Reviewers.
With this, Translators and Reviewers can perform many tasks including translation & review from anywhere online in browser without having to install Studio. Though Trados Studio and WS Browser Workbench remain alternate options.

REST APIs:

A rich REST API is available now to interact with the WorldServer. The SDL WorldServer 11 API is based on modern standards (REST & JSON) and has been designed to be:
  • Highly secure: the entire WorldServer 11 UI is built on top of the new, radically improved API.
  • Standardized and easy to use: it uses the standard HTTP Verbs (POST/PUT/GET/DELETE).
  • More easily integrated.
  • Highly functional, with:
          o Batching — do more with less
          o Filtering & Search — find the right data
          o Partial record retrieval — retrieve only the fields you need, avoiding over-verbosity.

The API Documentation can be found on the server by visiting <root_server>/<ws-api>/docs/ws-api-doc-v1.html (for example, http://<server_name>:<port_number>/<ws-api>/docs/ws-api-doc-v1.html).



Sunday, May 29, 2016

Title Translator | Alchemy Plugin for Tridion

I worked on a Tridion implementation for a client managing huge local content for their websites. One could imagine that local content is hardly anything to do with a developer, but he could be wrong. So at that client, with the content inside the localized components, the title of the items were also in local languages (at many places), specifically they had tons of local taxonomies with the local language titles. Now if any issues reported for a localized website, it was a nightmare for the developers to dig in to the content while investigating that issue because we developers knew only English language.

Few weeks ago, while looking at some of old work for that client that I remembered those days and that issue. So I decided to create a Alchemy Plugin called called Title Translator to address that issue, you can follow the link to Alchemy Web Store and download it from there.
This is really a simple plugin which uses SDL Translation API in background, all you need to do is get a SDL Translation API key, set the key in Plugin Configuration and you are ready to go. In the coming versions, I will try to include the support for Microsoft and Google translation as well.

To use the plugin, simply right click on a title in your CMS Filtered Item list or left-hand​ navigation panel and select 'Translate Title'. The updated title will show in the notification bar.












On the Technical side, This plugin is created using Alchemy Framework. The idea was pretty simple, create a context menu extension and on clicking it fire a command to show the translated title in notification bar.

The Code for the Plugin can be found here on Github. This basically have following building blocks:

  • TranslatorContextMenuExtension: This class holds information about your context menu extension. Other than specifying name and id, below are the important pieces of info it has:  
    • The order of your extension in the context menu.
    • Associated command to the context menu extension.
    • Dependent resource groups.
    • Which view, the extension applies to, In this extesnsion it applies to "DashboardView".
  • TranslatorCommandSet: The class is all about creating a command set from the commands specified in the JS files. We have only one command called "translate" and it is add to the commandset.
  • TranslatorResourceGroup: This class is used to tell alchemy, which resources (files/CommandSets) are you using in your extension. We have just one JS file named "TranslatorCommand.js" and one command set, so adding those in there.
  • TranslatorCommand.js file: This file holds the command code, which fires once "Translate Title" in context menu is clicked. The code basically sends the request to the SDL Machine Translation Service and gets back the translated title as an response and shows it in notification bar.
That's it chaps, go use it. And yeah, feel free to leave comments, questions, report bugs, improvements, pretty much anything related to it.


Thanks.

Tuesday, January 5, 2016

Tridion Custom Tools Example Projects – Core Service (.NET)

In the series of blog posts for Tridion Custom Tools Example Projects, in this blog I am explaining to set up a simple core service project and sharing the Example Code. Also you can install a visual studio project template for the same, the VSIX file can be found here

The Core Service is a Web service that allows applications to interact with the Content Manager. For example, Content Manager clients such as Experience Manager and Content Manager Explorer interact with the Content Manager through the Core Service, and you can use the Core Service to integrate external systems with SDL Tridion.

Setting up the project (Using the built-in .NET client)

1. Open Visual Studio and create a project (Console or Web according to your need) .

2. Copy the  Tridion.ContentManager.CoreService.Client assembly from bin\client subdirectory of %TRIDION_HOME% (defaults to C:\Program Files (x86)\Tridion\) to a location.

3. Add a reference to the Tridion.ContentManager.CoreService.Client assembly in the project from the copy location.

4. Add references to System.ServiceModel and System.Runtime.Serialization assemblies.

5. In the same folder, find the file Tridion.ContentManager.CoreService.Client.config and copy the WCF endpoint configuration you find in that file into your application's configuration file.

6. Use Tridion.ContentManager.CoreService.Client namespace to create CoreServiceClient object.

Alternatively, one can also create a proxy client creating a service reference in to the project.

Creating the core service client object:

To interact with CM, we need a core service client object and to create it, Endpoints (defined in applications config file) are used. In WCF terms, an Endpoint is simple collection of Address, Binding and Contract.

There are three default bindings:  BasicHttpBinding (SOAP), WSHttpBinding (WCF) and NetTcpBinding (network). These are used to connect to the Core Service from your SOAP, WCF or network client. You can find more about the default bindings here.

Different types of core service clients are listed here, which are used for different purposes. In this code example I am using SessionAwareCoreServiceClient to interect with Tridion Content Manager. 

Once the core service client object is created, it can be used to interact with Tridion CM. Have a look at the example code here.