SDL Studio GroupShare 2014 SP1 Release Internal Training Mark Oldfield, Development Manager 28th April 2014 Purpose ○ To inform internal technical staff about the SDL GroupShare 2014 SP1 Release ○ To provide an opportunity to ask questions 2 Agenda ○ Part 1: General training – Release Overview – Compatibility & Upgrading – Architecture Overview - Changes – Deployment configurations & licensing considerations – How to report issues ○ Part 2: Technical training – Configuring E-Mail Notification – Troubleshooting common issues 3 Image placeholder Click on image icon Browse to image you want to add to slide Part 1: SDL GroupShare Release Overview Release Overview ○ Project Server REST API – Publish Studio packages – Retrieve completed files ○ Custom authentication support ○ Access to GroupShare projects from notification email ○ Optimized views functionality (Projects, Translation Memories, Background Tasks) 5 – Infinite scrolling – Improved database loading – Improved filtering – Include Sub-Organization and Show tasks for all users Release Overview ○ New permissions to control Web UI access – Background Tasks – Licensing – TM Server infrastructure ○ Enhanced flexibility to configure the URL to the website ○ Bug fixes 6 Part 1: SDL GroupShare Compatibility & Upgrading Supported Environments ○ OS: – – – Windows Server 2012 R2 with IIS 8.5 Windows Server 2012, with IIS 8.0 Windows Server 2008 R2, with IIS 7.5 ○ Database: – – – – SQL Server 2008 SP1 (including Express) SQL Server 2008 R2 (including Express) SQL Server 2012 (including Express) SQL Server 2014 (include Express) ○ Browsers – – – – 8 Internet Explorer 9.0 Internet Explorer 8.x Firefox 4.0 Firefox 3.6 Supported Clients – SDL Trados Studio 2011 (TM Server and MultiTerm Server access only) – SDL Trados Studio 2011 SP1, SP2, SP2R (full functionality) – SDL Trados Studio 2014, SP1 – SDL MultiTerm Desktop 2011, SP1, SP2 – SDL MultiTerm Desktop 2014, SP1 – SDL Passolo 2011 SP9 (TM Server and MultiTerm Server access only) 9 Upgrade and Migration Paths ○ SDL GroupShare 2011 CU04 – Option to upgrade during installation ○ SDL GroupShare 2014 – Option to upgrade during installation 10 Part 1: SDL GroupShare Architecture Overview SDL GroupShare 2014 SP1 High Level Architecture 12 Part 1: SDL GroupShare Deployment & Licensing Considerations Deployment Configurations ○ GroupShare supports the following deployment configurations: – Single machine installation – Multiple machine installation ○ GroupShare servers that can be deployed on different machines – – – – Web Server SDL MultiTerm Online Application Server Database Server ○ GroupShare components that can be installed separately – TM Server – MultiTerm Server – Project Server 14 Licensing Changes ○ No licensing changes ○ Helper available on request – Certificate validation check now removed 15 Part 1: SDL GroupShare How to report issues How to report issues ○ All issues that require engagement with Engineering team should be sent to Development Manager first ○ Development Manager will work with team’s Scrum Master to balance engagement against team’s current workload ○ For speedier response, engagement requests should provide as much information as possible from Engagement Checklist ○ If an issue is found to be a defect in any part of the product, the defect should be raised in “Language Technologies” project in TestTrack, not “Translation” or “Terminology” – Contact TestTrack Administrators for assistance if you do not currently have access to that project – SoloBug template will be issued by the TestTrack Administrators to assist with defect raising 17 Questions ○ Any questions? 18 Part 2: SDL GroupShare Technical Overview Install Locations ○ Application Installed into C:\Program Files (x86)\SDL\SDL Server – SDL Server\Application • Main application binaries – SDL Server\Web • Web site binaries ○ Web Site – Creates root site ‘SDL Server’ – Serves files from Program Files (x86)\SDL\SDL Server\Web 20 Links in the Chain ○ Client to Router – WCF over HTTP/HTTPS/TCP – Configured through web.config and registry ○ Router to Application Server – WCF over TCP/SSL – Configured through registry on web server and application server ○ Application Server to Execution Server – Via Queue in Database – Self-configuring via svc.ServiceProcess ○ Application/Execution Servers to Database – ADO.Net over the Oracle .Net Provider – Configured via the registry 21 Client to Router ○ Silverlight client always communicates back to the server that served the application – No configuration required for hostname ○ Client initially connects to the Discovery Service – /platform/sdl/Discovery.svc ○ Discovery Service returns list of configured endpoints – Endpoints configured in web.config ○ Client tests endpoint in preferred order – Silverlight – HTTPS, HTTP – Windows Client – TCP, HTTPS, HTTP ○ Connects to ‘best’ endpoint 22 Router Configuration ○ Endpoints defined in platform/web.config <system.serviceModel> <services> <!-- router services --> <service name="Sdl.Enterprise2.Platform.Router.IssuedTokenRouter" behaviorConfiguration="routerServiceBehavior"> <!-- Issued Token Router http endpoint --> <endpoint name="Http.IssuedToken.RequestReply" address="" binding="basicHttpBinding" bindingConfiguration="httpIssuedTokenBinding" contract="Sdl.Enterprise2.Platform.Router.IRequestReplyRouter" /> <endpoint name="Http.IssuedToken.Metadata" address="/mex" binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" /> </service> : ○ ○ Out of the box supports HTTP – Needs updating to support HTTPS or TCP – Installer includes commented out HTTPS and TCP endpoint HTTPS Requires customer certificate – 23 From recognised certification authority Router to Application Server (Router end) ○ Routing Table in Registry – HKEY_LOCAL_MACHINE\SOFTWARE\SDL\Platform\Router ○ Installer creates a single ‘default’ entry – e.g. /default/BaseAddress = net.tcp://appserver.sdl.com:41000 – Sends all traffic to specified host/port – Host and port specified by user during installation ○ Supports multi-application server deployments – e.g. /multiterm.svc/BaseAddress = net.tcp://mtappserver.sdl.com:41000 24 Router to Application Server (Application Server end) ○ Application Server listens to endpoint defined in registry HKEY_LOCAL_MACHINE\SOFTWARE\SDL\Platform\Services\Application ○ Same format as Router – BaseAddress = net.tcp://localhost:41000 ○ Same location also used for generic Application Server settings – PeriodicTaskDaemon (true/false) • If set the Application Server runs any periodic tasks that have been configured – Register (true/false) • If set the Application Server registers itself with the GroupShare System Database 25 Router to Application Server ○ Secure Channel – communications goes over secure channel (SSL) ○ Application Server requires a certificate – Installed into trusted root store ○ Installer creates and installs certificate – On Application Server ○ User can select their own certificate at install time – Larger customers may have existing SSL certificate 26 Service Registration ○ GroupShare Services self-register with System Database – Adds entry to svc.ServiceProcess table • Includes server hostname – Registered services immediately become visible to system – Application Service starts pulling work from queue. • Work item assigned to named server with no config ○ Deploying new Application Server – Install service – Configure database connection string – Start service ○ Quick and easy to add capacity 27 Application Service to Execution Service ○ All communications go via work item queue – svc.WorkItem ○ Single central work item queue – – – Simple – easy to monitor Implicit load balancing Prioritised queue ○ Work Items added to queue – – – Application Server, Execution Services Workflow Service ○ Execution Service – – Polls queue and takes next highest priority work item Work Item remains on queue marked as assigned to service • 28 If service fails work item will time out and be reallocated to next available Application Server Services to Database ○ All data access goes through database agnostic layer – – Supports SQL Server, SQL Express, Oracle, Some trade-off between performance and portability ○ Connection Strings live in Registry – HKEY_LOCAL_MACHINE\SOFTWARE\SDL\Platform\Connections ○ Separate Connection Strings for each logical schema – Sdl.Identity – security schema • – Sdl.System – GroupShare system schemas • – etm – Enterprise Translation Memory Sdl.Project – Translation Memory schema • 29 svc - Services Sdl.Translation – Translation Memory schema • – sts – Secure Token Service proj– Project Server schema Services to Database – Connection String • Standard .Net format • Data Source=(local);Initial Catalog=SDLSystem;Integrated Security=True – Provider • .Net Provider Class • e.g. System.Data.SqlClient ○ Recommend Integrated Security – Microsoft recommended best-practice – Implies account used to run Application and Execution Services must have appropriate access to GroupShare Database • Installer asks for a user-created domain account – TM Server requires dbCreator permission to create containers 30 GroupShare System Database ○ Separate schemas for each component – – – – svc – services sts – secure token service etm – enterprise translation memory (not the actual TMs) proj – project server ○ Schema versioning – dbo.SchemaVersion table • Holds version number of each installed schema • Allows automatic schema upgrades in future releases 31 GroupShare 2014 System Database Changes ○ svc – services – Additional settings for e-mail notifications ○ sts – secure token service – Changes to improve performance ○ proj – project server – Additional table and store procedure to support Assignment 32 File Store ○ File Store – File store folder requires read / write permission for the service account used to run Application Server and Execution Server – File store can be a UNC folder (network folder) – Project Server currently support only a single file store ○ File Store Folder Structure – Folder per project • Named using GUID – Project folder has a flat file structure (Unlike project structure in Translation Studio) – Project files • Named using <FileVersionGuid>.<Filename>.<ext> 33 File Store ○ Package folder – – – – – Two package types • Synchronization package • Publish package Synchronization package • Created when users requests the project and by requesting a update • Used to synchronize data between server and Translation Studio client Publish package used • Created when publishing a project from Translation Studio • Named using <Guid>.PublishProject-<Timestamp>.sdlppx Synchronization & Publish packages can not be open in Translation Studio Synchronization Packages are deleted once the client has download the package ○ Change file store location – – Change the Path setting in the Setting table in the database HKEY_LOCAL_MACHINE\SOFTWARE\SDL\Server\Install\filesStorePath • 34 Please note this only used as a fall back by the installer if the information can not be retrieved from the database Licensing ○ GroupShare License Activate / Deactivate – Run SDL\SDL Studio GroupShare Product Activation from the start menu ○ View Current License – – Run SDL SDL\SDL Studio GroupShare Product Activation from the start menu Licensing page in GroupShare web ui ○ GroupShare Web UI CAL Allocation – – – Automatically allocated when using a product Separate license for TM, Project Server, MultiTerm Licenses automatically released after 5 minutes inactivity or logging out ○ Translation Studio GroupShare CAL Allocation – – – 35 CAL allocated when connecting to GroupShare project server Licenses automatically released after 5 minutes inactivity Returns CAL when studio is closed Licensing ○ MultiTerm Online CALs – Editor CALs no longer require a corresponding Viewer CAL. ○ Restarting the Application Server – This will release all allocated CALs and reset the CAL counting of the license service – Client and Web UI will then allocate new CALs 36 Part 2: SDL GroupShare Configuring E-Mail Notification Notification Configuration ○ Initial configuration done during installation ○ Can also be configured via SDL GroupShare Console 38 Notification E-mails Templates ○ Templates location – C:\ProgramData\SDL\SDLServer1\Templates – Location configurable at installation time and via SDL GroupShare Console ○ Customizing Templates – Uses Razor syntax to bind project information to a template • http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx • http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-webprogramming-using-the-razor-syntax – Knowledge base article coming soon 39 Part 2: SDL GroupShare REST APIs REST APIs ○ User Management ○ Project Server ○ Application Request Routing ○ REST API hosted in the Application Server ○ Configurable ○ Enabled via specific license module – Fulfillment TBD ○ More information to follow 41 Part 2: SDL GroupShare Troubleshooting common issues Logging ○ Enable logging – Configure by uncommenting logging in the following config files • ApplicationService.exe.config • Web.config (<Install Dir>\SDL\SDL Server\Web\Platform) ○ Enhanced Diagnostic logging – More details – Can be analysised using Excel – Log can be found at • <ALLUSERSAPPDATA>\SDL\Service\Logs\Sdl.Application.Diagnostic.log" • <ALLUSERSAPPDATA>\SDL\Service\Logs\Router.Diagnostic.log 43 Summary Summary ○ 2014 SP1 release of GroupShare ○ Headline new features – – – – – 45 Project Server REST API Custom Authentication support Enhanced notification emails Optimised view performance – dynamic scrolling, etc. Further Information ○ Release Information – SDL Studio GroupShare 2014 SP1 - Release Information – Includes: • This presentation, in the Internal Training folder • 46 Release Notes, Installation Guides and other documentation Questions ○ Any questions? 47