Is it possible to restore default SDL Groupshare 2015 e-mail templates?

As above - we recently decided to localize the original GS 2015 English templates into our local language, since some of our users do not speak English, and it turns out that we might (or rather must) have corrupted the files while translating and we have never made copies of the original files.

The result is that GS 2015 no longer sends e-mail notifications to its users and the application log file says we are missing a } character in our foreach section. We double and triple checked and we cannot seem to be able to find this missing character's location, so we decided it might be simply better to restore the original English defaults.

Is it possible at all without reinstalling the whole GS server? We have thousands of projects in our archives, several dozens of ongoing and active projects and we can't afford to lose any momentum in our work by deactivating GS 2015 - so perhaps it is possible to either restore those templates somehow? Or perhaps someone would be willing to send me their default template files, that are located in C:\ProgramData\SDL\SDLServer1\Templates?

I'll be grateful for any help, because I have been struggling with this issue for the whole day and I am basically pulling my hair our right now:(

Thanks.

  • By the way - our log looks like this:

    2017-07-05 19:18:12.227#Sdl.StudioServer.Services.Core.Hosting.WindowsServiceHost#Microsoft.GeneratedCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    2017-07-05 19:18:13.071#Sdl.StudioServer.Services.Core.Hosting.WindowsServiceHost#RazorEngine, Version=3.3.0.0, Culture=neutral, PublicKeyToken=9ee697374c7e744a
    2017-07-05 19:18:13.337#Sdl.StudioServer.Services.Core.Hosting.WindowsServiceHost#System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    2017-07-05 19:18:13.868#Sdl.StudioServer.Services.Core.ServiceBus.Subscriber#Error processing message on queue .\private$\sdl.servicebus.email.projectchange.
    RazorEngine.Templating.TemplateParsingException: The foreach block is missing a closing "}" character.  Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
       at RazorEngine.Compilation.CSharp.CSharpRazorCodeGenerator.VisitError(RazorError err)
       at System.Web.Razor.Parser.ParserVisitorExtensions.Visit(ParserVisitor self, ParserResults result)
       at System.Web.Razor.RazorTemplateEngine.GenerateCodeCore(ITextDocument input, String className, String rootNamespace, String sourceFileName, Nullable`1 cancelToken)
       at RazorEngine.Compilation.CompilerServiceBase.GetGeneratorResult(RazorEngineHost host, String template)
       at RazorEngine.Compilation.CompilerServiceBase.GetCodeCompileUnit(String className, String template, ISet`1 namespaceImports, Type templateType, Type modelType)
       at RazorEngine.Compilation.DirectCompilerServiceBase.Compile(TypeContext context)
       at RazorEngine.Compilation.DirectCompilerServiceBase.CompileType(TypeContext context)
       at RazorEngine.Templating.TemplateService.CreateTemplateType(String razorTemplate, Type modelType)
       at RazorEngine.Templating.TemplateService.CreateTemplate(String razorTemplate, Type templateType, Object model)
       at RazorEngine.Templating.TemplateService.Parse(String razorTemplate, Object model, DynamicViewBag viewBag, String cacheName)
       at RazorEngine.Razor.Parse[T](String razorTemplate, T model)
       at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
       at Sdl.Enterprise2.Platform.Notification.EmailBuilder.RenderTemplate(TemplateType templateType)
       at Sdl.Enterprise2.Platform.Notification.EmailBuilder.AddTextBody()
       at Sdl.Enterprise2.Platform.Notification.ProjectChangeEmailEventHandler.SendEmailOnProjectChange(IServiceBusEvent serviceBusEvent)
       at lambda_method(Closure , Object )
       at Sdl.StudioServer.Services.Core.ServiceBus.Subscriber.SubscriberQueueReceiveCompleted(Object sender, ReceiveCompletedEventArgs e)

    As explained above - I checked all foreach sections in each template, and each { actually has a corresponding } character, so I do not know what the issue is...

  • Hi Mateusz, I can send you the default templates. I'm also experimenting with them just now and I have them backed up. Drop me an email at andreas.ljungstroem@amplexor.com
  • Thank you - in the meantime our Groupshare completely failed for some other reason (some bug in MS SQL messed up our database settings) and a technician from SDL managed to help with this matter, too.

    Now I have backups of all the files I mess with, so as not to lose them when I spoil something :).

    BTW. If anybody wanted a Polish version of those files, I am happy to help :).