From 600d7882e7e666bdec3e62537d3c3541225fb611 Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Mon, 23 Mar 2015 11:10:42 +1000 Subject: [PATCH 1/4] rhbz1183412 Uses server's default locale when sending emails --- .../java/org/zanata/email/EmailBuilder.java | 15 ++--- .../main/java/org/zanata/i18n/Messages.java | 33 ++++++++++- .../java/org/zanata/i18n/MessagesFactory.java | 55 +++++++++++++++++++ .../org/zanata/email/EmailStrategyTest.java | 18 +++--- 4 files changed, 104 insertions(+), 17 deletions(-) create mode 100644 zanata-war/src/main/java/org/zanata/i18n/MessagesFactory.java diff --git a/zanata-war/src/main/java/org/zanata/email/EmailBuilder.java b/zanata-war/src/main/java/org/zanata/email/EmailBuilder.java index 65fcb7ec7d..3482a53357 100644 --- a/zanata-war/src/main/java/org/zanata/email/EmailBuilder.java +++ b/zanata-war/src/main/java/org/zanata/email/EmailBuilder.java @@ -36,6 +36,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; +import org.zanata.i18n.MessagesFactory; import static com.googlecode.totallylazy.collections.PersistentMap.constructors.map; import static org.jboss.seam.ScopeType.EVENT; @@ -65,7 +66,7 @@ public EmailBuilder() { @In private Context emailContext; @In - private Messages msgs; + private MessagesFactory messagesFactory; private static VelocityEngine makeVelocityEngine() { VelocityEngine ve = new VelocityEngine(); @@ -148,9 +149,14 @@ MimeMessage buildMessage(MimeMessage msg, EmailStrategy strategy, InternetAddress[] toAddresses, String receivedReason) throws MessagingException { + // TODO remember users' locales, and customise for each recipient + // msgs = messagesFactory.getMessages(account.getLocale()); + Messages msgs = messagesFactory.getDefaultLocaleMessages(); + Optional from = strategy.getFromAddress(); + String fromName = msgs.get("jsf.Zanata"); msg.setFrom(from.or(Addresses.getAddress( - emailContext.getFromAddress(), emailContext.getFromName()))); + emailContext.getFromAddress(), fromName))); Optional replyTo = strategy.getReplyToAddress(); if (replyTo.isPresent()) { msg.setReplyTo(replyTo.get()); @@ -201,17 +207,12 @@ MimeMessage buildMessage(MimeMessage msg, EmailStrategy strategy, public static class Context { @In private ApplicationConfiguration applicationConfiguration; - @In - private Messages msgs; String getServerPath() { return applicationConfiguration.getServerPath(); } String getFromAddress() { return applicationConfiguration.getFromEmailAddr(); } - String getFromName() { - return msgs.get("jsf.Zanata"); - } } } diff --git a/zanata-war/src/main/java/org/zanata/i18n/Messages.java b/zanata-war/src/main/java/org/zanata/i18n/Messages.java index cecfdb7b13..1a199bfc53 100644 --- a/zanata-war/src/main/java/org/zanata/i18n/Messages.java +++ b/zanata-war/src/main/java/org/zanata/i18n/Messages.java @@ -1,5 +1,5 @@ /* - * Copyright 2010, Red Hat, Inc. and individual contributors as indicated by the + * Copyright 2010-2015, Red Hat, Inc. and individual contributors as indicated by the * @author tags. See the copyright.txt file in the distribution for a full * listing of individual contributors. * @@ -58,12 +58,24 @@ @Scope(EVENT) public class Messages extends AbstractMap { + /** + * Gets the 'messages' ResourceBundle for the locale of the current + * request, if any, otherwise server's default locale. + * @see org.jboss.seam.web.Locale + */ private static ResourceBundle getResourceBundle() { + return getResourceBundle(org.jboss.seam.core.Locale.instance()); + } + + /** + * Gets the 'messages' ResourceBundle for the specified locale. + */ + private static ResourceBundle getResourceBundle(java.util.Locale locale) { // Generic ResourceBundle without built-in interpolation: ResourceBundle resourceBundle = null; try { resourceBundle = ResourceBundle.getBundle( - "messages", org.jboss.seam.core.Locale.instance()); + "messages", locale); } catch (MissingResourceException e) { resourceBundle = new ResourceBundle() { @Override @@ -83,8 +95,23 @@ public Enumeration getKeys() { private final ResourceBundle resourceBundle; + /** + * Create an instance for the locale of the current request, if any, + * otherwise the server's default locale. + */ public Messages() { - this.resourceBundle = getResourceBundle(); + this(getResourceBundle()); + } + + /** + * Create an instance for the specified locale. + */ + public Messages(java.util.Locale locale) { + this(getResourceBundle(locale)); + } + + private Messages(ResourceBundle resourceBundle) { + this.resourceBundle = resourceBundle; } @Observer("org.jboss.seam.localeSelected") diff --git a/zanata-war/src/main/java/org/zanata/i18n/MessagesFactory.java b/zanata-war/src/main/java/org/zanata/i18n/MessagesFactory.java new file mode 100644 index 0000000000..c4f8f65915 --- /dev/null +++ b/zanata-war/src/main/java/org/zanata/i18n/MessagesFactory.java @@ -0,0 +1,55 @@ +/* + * Copyright 2015, Red Hat, Inc. and individual contributors as indicated by the + * @author tags. See the copyright.txt file in the distribution for a full + * listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This software is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this software; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF + * site: http://www.fsf.org. + */ +package org.zanata.i18n; + +import static org.jboss.seam.ScopeType.APPLICATION; + +import lombok.Getter; +import org.jboss.seam.annotations.AutoCreate; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; + +import java.util.Locale; + +/** + * Factory bean to return an instance of Messages based on a parameter. + * + * @author Sean Flanigan sflaniga@redhat.com + */ +@AutoCreate +@Name("messagesFactory") +@Scope(APPLICATION) +public class MessagesFactory { + + /** + * Returns an instance of Messages for the server's default locale. + */ + @Getter + private final Messages defaultLocaleMessages = getMessages(Locale.getDefault()); + + /** + * Returns an instance of Messages for the specified locale. + */ + public Messages getMessages(Locale locale) { + return new Messages(locale); + } +} diff --git a/zanata-war/src/test/java/org/zanata/email/EmailStrategyTest.java b/zanata-war/src/test/java/org/zanata/email/EmailStrategyTest.java index a5d9146e96..7d4165d429 100644 --- a/zanata-war/src/test/java/org/zanata/email/EmailStrategyTest.java +++ b/zanata-war/src/test/java/org/zanata/email/EmailStrategyTest.java @@ -27,6 +27,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Collection; +import java.util.Locale; import java.util.Properties; import javax.mail.BodyPart; @@ -42,6 +43,7 @@ import org.testng.annotations.Test; import org.zanata.common.ProjectType; import org.zanata.i18n.Messages; +import org.zanata.i18n.MessagesFactory; import org.zanata.webtrans.shared.model.ProjectIterationId; /** @@ -64,13 +66,20 @@ public String format(String key, Object... args) { } }; String fromAddress = "zanata@example.com"; - String fromName = "SERVER_NAME[测试]"; + String fromName = msgs.get("jsf.Zanata"); String toName = "User Name[测试]"; String toAddress = "username@example.com"; String serverPath = "https://zanata.example.com"; InternetAddress toAddr; InternetAddress[] toAddresses; + MessagesFactory msgsFactory = new MessagesFactory() { + @Override + public Messages getMessages(Locale locale) { + return msgs; + } + }; + Session session = Session.getDefaultInstance(new Properties()); EmailBuilder.Context context = new EmailBuilder.Context() { @Override @@ -82,13 +91,8 @@ String getFromAddress() { String getServerPath() { return serverPath; } - - @Override - String getFromName() { - return fromName; - } }; - EmailBuilder builder = new EmailBuilder(session, context, msgs); + EmailBuilder builder = new EmailBuilder(session, context, msgsFactory); MimeMessage message; // context values needed for some templates: From 21e1f2173cb8358ff74c1d0666b2addf360710c8 Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Mon, 23 Mar 2015 12:35:39 +1000 Subject: [PATCH 2/4] Copy release notes from master (except 3.7) --- docs/release-notes.md | 226 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 docs/release-notes.md diff --git a/docs/release-notes.md b/docs/release-notes.md new file mode 100644 index 0000000000..37b4f26139 --- /dev/null +++ b/docs/release-notes.md @@ -0,0 +1,226 @@ +## 3.6.1 + +
Bugfixes
+* [1194543](https://bugzilla.redhat.com/show_bug.cgi?id=1194543) - Manual document re-upload makes previous translations fuzzy + +----------------------- + +
New Features
+* + +---- + +## 3.6 + +
New Editor (Alpha)
+ +[1088137](https://bugzilla.redhat.com/show_bug.cgi?id=1088137) - Translation Editor: Alpha 1 Prototype + +The editor prototype can be accessed via the **(Try the new alpha editor)** button at the top of the regular editor. It showcases the look and feel, workflow and intended direction of Zanata. + +As it is a _prototype_, there are bound to be some bugs and sub-optimal behaviours - any suggestions or reports can be forwarded to our [bug tracker](https://bugzilla.redhat.com/enter_bug.cgi?product=Zanata). +* [1150373](https://bugzilla.redhat.com/show_bug.cgi?id=1150373) - Keyboard shortcuts +* [1172437](https://bugzilla.redhat.com/show_bug.cgi?id=1172437) - Add plurals to the new editor +* [1174071](https://bugzilla.redhat.com/show_bug.cgi?id=1174071) - [SPA editor] Save on Invalid entry should not cause NullPointerException + +
Infrastructure Changes
+ +Zanata now requires JMS to be configured in standalone.xml in order to queue up some messages going out of the system. For instructions on how to do this, please [See Here](configuration/jms-messaging) + +
Drupal Plugin
+* [1078009](https://bugzilla.redhat.com/show_bug.cgi?id=1078009) - PROTOTYPE: Drupal plugin to push and pull Zanata translations +* [1148233](https://bugzilla.redhat.com/show_bug.cgi?id=1148233) - RFE: Drupal plugin should split content into meaningful chunks +* [1150336](https://bugzilla.redhat.com/show_bug.cgi?id=1150336) - RFE: Document Drupal plugin manual installation method + +
New Features
+* [1044261](https://bugzilla.redhat.com/show_bug.cgi?id=1044261) - Drupal integration with Zanata + +* [1127066](https://bugzilla.redhat.com/show_bug.cgi?id=1127066) - Copy Version button on project version listing +* [1162383](https://bugzilla.redhat.com/show_bug.cgi?id=1162383) - Updated pages in Administration section +* [1120457](https://bugzilla.redhat.com/show_bug.cgi?id=1120457) - Email notify the user when the language team permissions change +* [1139950](https://bugzilla.redhat.com/show_bug.cgi?id=1139950) - Flexible Translation file naming +* [1092193](https://bugzilla.redhat.com/show_bug.cgi?id=1092193) - Individual Translator Statistics +* [1127056](https://bugzilla.redhat.com/show_bug.cgi?id=1127056) - Migration Guide for community users +* [1122776](https://bugzilla.redhat.com/show_bug.cgi?id=1122776) - WebHooks callback API +* [1186951](https://bugzilla.redhat.com/show_bug.cgi?id=1186951) - Zanata Overlay module +* [1183994](https://bugzilla.redhat.com/show_bug.cgi?id=1183994) - RFE: Gather and display metrics detailing the number of words translated by a specific translator, for a specific project + + +
Bugfixes
+* [1132271](https://bugzilla.redhat.com/show_bug.cgi?id=1132271) - Access contact admin url without logging in will trigger an exception +* [1082448](https://bugzilla.redhat.com/show_bug.cgi?id=1082448) - Dashboard shows incorrect number of maintained projects +* [1069951](https://bugzilla.redhat.com/show_bug.cgi?id=1069951) - Empty string in adding a language causes a broken language to be added +* [1149968](https://bugzilla.redhat.com/show_bug.cgi?id=1149968) - Translation history shows last modifier as "Someone offline" +* [1154461](https://bugzilla.redhat.com/show_bug.cgi?id=1154461) - Admin user management list datascroller is broken +* [1160651](https://bugzilla.redhat.com/show_bug.cgi?id=1160651) - Regression: Admin server config save no longer shows success message +* [1166451](https://bugzilla.redhat.com/show_bug.cgi?id=1166451) - Normal user can access copy to new version action for non-maintained project +* [1172392](https://bugzilla.redhat.com/show_bug.cgi?id=1172392) - Project tab on dashboard does not show for users with no projects. +* [1174516](https://bugzilla.redhat.com/show_bug.cgi?id=1174516) - File mapping rules failed to be referred for project type podir push +* [1180988](https://bugzilla.redhat.com/show_bug.cgi?id=1180988) - Unable to add arbitrary language to Zanata in new admin page +* [1185134](https://bugzilla.redhat.com/show_bug.cgi?id=1185134) - Placeholder text in server config ToU field valid, but rejected +* [1185170](https://bugzilla.redhat.com/show_bug.cgi?id=1185170) - Create version in a project is always created as read only +* [1186084](https://bugzilla.redhat.com/show_bug.cgi?id=1186084) - WebUI is very slow if users cannot access Google +* [1186997](https://bugzilla.redhat.com/show_bug.cgi?id=1186997) - Introduction of hornetq-ra breaks the overlay installer +* [1192271](https://bugzilla.redhat.com/show_bug.cgi?id=1192271) - For gettext plural project, project-version statistics was inconsistent between language and document, sometime more than 100% +* [1193699](https://bugzilla.redhat.com/show_bug.cgi?id=1193699) - Bookmarked url (selected language or selected doc) in version page, bookmarked url selected language, selected project in version-group page not working + +----------------------- + +## 3.5 + +
Infrastructure changes
+* Now requires (i.e. is tested on) OpenJDK 7 + +
New Features
+* [1066694](https://bugzilla.redhat.com/show_bug.cgi?id=1066694) - As a project maintainer I would like to upload multiple source files simultaneously +* [1062835](https://bugzilla.redhat.com/show_bug.cgi?id=1062835) - SubRip Text (.srt) subtitle format support +* [1110048](https://bugzilla.redhat.com/show_bug.cgi?id=1110048) - Redesign account merge page +* [1110959](https://bugzilla.redhat.com/show_bug.cgi?id=1110959) - Add in more sorting options in version page +* [1110175](https://bugzilla.redhat.com/show_bug.cgi?id=1110175) - Add a JBoss SSO Login module +* [1110627](https://bugzilla.redhat.com/show_bug.cgi?id=1110627) - As a command line user I would like to be guided in setting up a project +* [1104015](https://bugzilla.redhat.com/show_bug.cgi?id=1104015) - Fork/copy from previous version with source and translation +* [1122363](https://bugzilla.redhat.com/show_bug.cgi?id=1122363) - Update glossary page view +* [1131300](https://bugzilla.redhat.com/show_bug.cgi?id=1131300) - Update on editor UI + +
Bug fixes
+* [971652](https://bugzilla.redhat.com/show_bug.cgi?id=971652) - \[Document List\] Clicking column header "Complete" mistakenly sort by other column you sort +* [1060629](https://bugzilla.redhat.com/show_bug.cgi?id=1060629) - Manage Languages breadcrumb takes user to the wrong page +* [1094094](https://bugzilla.redhat.com/show_bug.cgi?id=1094094) - Copy Translations does not update the shown stats, if the language list is already loaded +* [1097470](https://bugzilla.redhat.com/show_bug.cgi?id=1097470) - When adding/removing maintainers in group, maintainer list doesn't update +* [1098394](https://bugzilla.redhat.com/show_bug.cgi?id=1098394) - No url validation on project homepage field +* [1098404](https://bugzilla.redhat.com/show_bug.cgi?id=1098404) - Project search resizes in the middle of clicking a result, preventing the click +* [1098407](https://bugzilla.redhat.com/show_bug.cgi?id=1098407) - Copy Translations box does not close if process halted via Process Manager +* [1099278](https://bugzilla.redhat.com/show_bug.cgi?id=1099278) - Changing email address produces invalid email +* [1099736](https://bugzilla.redhat.com/show_bug.cgi?id=1099736) - Increase cache retention for statistics +* [1102455](https://bugzilla.redhat.com/show_bug.cgi?id=1102455) - \[Search Field\] Failed to search the project by whole project name that contains spaces ' ' and hyphen '-' +* [1097552](https://bugzilla.redhat.com/show_bug.cgi?id=1097552) - Obsolete groups sometimes not visible to maintainer +* [1102488](https://bugzilla.redhat.com/show_bug.cgi?id=1102488) - \[zanata:stat\] Failed to return proper error message when getting stat for non-exists projects and versions +* [1101803](https://bugzilla.redhat.com/show_bug.cgi?id=1101803) - TMX clear function doesn't work from UI +* [1103547](https://bugzilla.redhat.com/show_bug.cgi?id=1103547) - Empty document statistic should show "No content" in version tabs +* [978618](https://bugzilla.redhat.com/show_bug.cgi?id=978618) - Accidental broken feature - admin can change usernames +* [1067288](https://bugzilla.redhat.com/show_bug.cgi?id=1067288) - Reduce size of zanata.war; exclude unused dependencies +* [1110599](https://bugzilla.redhat.com/show_bug.cgi?id=1110599) - Remove unused page in Zanata +* [1103940](https://bugzilla.redhat.com/show_bug.cgi?id=1103940) - Remove info level notification popup from the editor +* [1011310](https://bugzilla.redhat.com/show_bug.cgi?id=1011310) - Unhandled exception: Mail service is down +* [995904](https://bugzilla.redhat.com/show_bug.cgi?id=995904) - Unnecessary ellipsis on short TM source name in editor +* [994293](https://bugzilla.redhat.com/show_bug.cgi?id=994293) - Cancelling an upload causes a database lock exception +* [973509](https://bugzilla.redhat.com/show_bug.cgi?id=973509) - User not aware they can use other characters in Group ID +* [1112041](https://bugzilla.redhat.com/show_bug.cgi?id=1112041) - Upload feature should handle files that are deleted before the process begins nicely +* [993445](https://bugzilla.redhat.com/show_bug.cgi?id=993445) - User can successfully upload a txt file that doesn't exist +* [1130797](https://bugzilla.redhat.com/show_bug.cgi?id=1130797) - Cache document statistic and overflow to disk +* [1128954](https://bugzilla.redhat.com/show_bug.cgi?id=1128954) - Convoluted way of opening docs from groups +* [1120034](https://bugzilla.redhat.com/show_bug.cgi?id=1120034) - Pushing translations is too slow + +----------------------- + +## 3.4 + +
New Features
+* [882770](https://bugzilla.redhat.com/show_bug.cgi?id=882770) - RFE: Filter translation units by multiple fields in the editor +* [988202](https://bugzilla.redhat.com/show_bug.cgi?id=988202) - RFE: REST API rate limiting +* [1002378](https://bugzilla.redhat.com/show_bug.cgi?id=1002378) - RFE: Introduce a modular translation structure, and gwt generate the *Messages.properties files +* [1066701](https://bugzilla.redhat.com/show_bug.cgi?id=1066701) - RFE: As a Zanata user, I would like to be able to bookmark language and project selections in the groups page + * Now is possible to bookmark a project version, language, or setting item for communication or later reference. +* [1066756](https://bugzilla.redhat.com/show_bug.cgi?id=1066756) - RFE: Merge user settings pages into dashboard +* [1066796](https://bugzilla.redhat.com/show_bug.cgi?id=1066796) - RFE: Implement new project page +* [1077439](https://bugzilla.redhat.com/show_bug.cgi?id=1077439) - RFE: Use lucene indexes to do Copy Trans. +* [1094100](https://bugzilla.redhat.com/show_bug.cgi?id=1094100) - RFE: As a user, I would like to be able to bookmark language and document selections on version page +* [1094106](https://bugzilla.redhat.com/show_bug.cgi?id=1094106) - RFE: As project maintainer, I would like to select copyTrans option before running it + +
Bug fixes
+* [831479](https://bugzilla.redhat.com/show_bug.cgi?id=831479) - Bug 831479 - 500 internal error when REST client specifies invalid extensions +* [981085](https://bugzilla.redhat.com/show_bug.cgi?id=981085) - User not aware they can use underscores in username +* [1025645](https://bugzilla.redhat.com/show_bug.cgi?id=1025645) - Both GPL and LGPL license files are required for LGPLv2+ project +* [1033375](https://bugzilla.redhat.com/show_bug.cgi?id=1033375) - Copy and Paste does not work when typing Italian in msgstr +* [1043720](https://bugzilla.redhat.com/show_bug.cgi?id=1043720) - The project search field failed to found existing project using the project name +* [1062508](https://bugzilla.redhat.com/show_bug.cgi?id=1062508) - Spell check changes are not saved after replacement +* [1065790](https://bugzilla.redhat.com/show_bug.cgi?id=1065790) - Admin manage search no longer shows time estimates +* [1080770](https://bugzilla.redhat.com/show_bug.cgi?id=1080770) - Empty group "Add Project" button on languages tab doesn't work +* [1086036](https://bugzilla.redhat.com/show_bug.cgi?id=1086036) - Project / version language listing and inheritance issue +* [1088651](https://bugzilla.redhat.com/show_bug.cgi?id=1088651) - New About tab does not handle existing project Seam text +* [1088737](https://bugzilla.redhat.com/show_bug.cgi?id=1088737) - Project type for a version is null after creation if the project type setting is not touched +* [1094071](https://bugzilla.redhat.com/show_bug.cgi?id=1094071) - Copy Translations information not correct +* [1094090](https://bugzilla.redhat.com/show_bug.cgi?id=1094090) - TMX import/export blocked by api not providing user key +* [1096564](https://bugzilla.redhat.com/show_bug.cgi?id=1096564) - Entering garbage at the end of a projects url breaks navigation +* [1097940](https://bugzilla.redhat.com/show_bug.cgi?id=1097940) - New password field should have show/hide toggle +* [1098003](https://bugzilla.redhat.com/show_bug.cgi?id=1098003) - Missing string for group request email notification sent +* [1098371](https://bugzilla.redhat.com/show_bug.cgi?id=1098371) - Sort options in language and document lists on the version page do not take effect until a search is performed on the list +* [1098924](https://bugzilla.redhat.com/show_bug.cgi?id=1098924) - Copy Translations copies translations that should not be copied +* [1099400](https://bugzilla.redhat.com/show_bug.cgi?id=1099400) - Failed to upload translation via JSF +* [1100079](https://bugzilla.redhat.com/show_bug.cgi?id=1100079) - Activity containing tags causes a broken dashboard +* [1100092](https://bugzilla.redhat.com/show_bug.cgi?id=1100092) - Filter translation units by multiple fields in the editor should use ISO 8601 date format +* [1100131](https://bugzilla.redhat.com/show_bug.cgi?id=1100131) - \[webTran\] filter translation by last modified date returns wrong result +* [1102964](https://bugzilla.redhat.com/show_bug.cgi?id=1102964) - CopyTrans takes excessively long hours to complete copying translations +* [1103930](https://bugzilla.redhat.com/show_bug.cgi?id=1103930) - Noticeable delay on right column when selection are made on left column (ui design) +* [1103940](https://bugzilla.redhat.com/show_bug.cgi?id=1103940) - Remove info level notification popup from the editor +* [1103947](https://bugzilla.redhat.com/show_bug.cgi?id=1103947) - \[Translation Editor\] Dialog "Invalid translation" failed to obtain input focus. +* [1107882](https://bugzilla.redhat.com/show_bug.cgi?id=1107882) - translate.zanata.org admin manage users screen can not be loaded +* [1109611](https://bugzilla.redhat.com/show_bug.cgi?id=1109611) - Version drop down with quick actions not shown on Project page +* [1109653](https://bugzilla.redhat.com/show_bug.cgi?id=1109653) - \[Project Version\] Failed to load language list for source file name that contains space " " +* [1111449](https://bugzilla.redhat.com/show_bug.cgi?id=1111449) - Hold active tasks in a map, but cache finished tasks briefly + +----------------------- + +## 3.3.2 + +
Infrastructure changes
+ +* Now requires (i.e. is tested on) [JBoss EAP](http://www.jboss.org/products/eap) 6.2.0 instead of 6.1.1 + +
New Features
+ +* [978072](https://bugzilla.redhat.com/show_bug.cgi?id=978072) - RFE: support roff as an input/output format + * This feature is implemented on the client side only with [1038449 - command hook](https://bugzilla.redhat.com/show_bug.cgi?id=1038449). Users who wish to push .roff file can use a command hook to invoke external tool (po4a) before push to convert .roff into .pot. Invoke po4a again after pull to convert translated .po into .roff. + +* [1036435](https://bugzilla.redhat.com/show_bug.cgi?id=1036435) - RFE: Upgrade to Liquibase 3.x +* [980670](https://bugzilla.redhat.com/show_bug.cgi?id=980670) - [RFE] Add HTML as an input method to be translated + * .html and .htm files are now supported in Zanata for translation. + +* [1067253](https://bugzilla.redhat.com/show_bug.cgi?id=1067253) - RFE:/Tech Debt - Propagate translation done by upload and copyTrans to editor + * Prior to this implementation, editor will not receive translation updates done by CopyTrans or REST, i.e. upload translation file though web UI or push from client. Now translation done by any of the above will be broadcast to any open editors. This includes latest translation and statistics. + +* [1002378](https://bugzilla.redhat.com/show_bug.cgi?id=1002378) - RFE: Introduce a modular translation structure, and gwt generate the *Messages.properties files + * Now Zanata editor is ready to be translated. See [[Localize Zanata]] for detail. + +
Bug fixes
+* [981071](https://bugzilla.redhat.com/show_bug.cgi?id=981071) - Register account still available when logged in +* [995324](https://bugzilla.redhat.com/show_bug.cgi?id=995324) - "Agree to the Terms of Use" should be displayed looks relevant to users that sign up with OpenId +* [1023227](https://bugzilla.redhat.com/show_bug.cgi?id=1023227) - Add language member request email contains string jsf.email.joinrequest.RoleRequested +* [1035057](https://bugzilla.redhat.com/show_bug.cgi?id=1035057) - Group "Add Language" field should be limited to something sensible +* [1037925](https://bugzilla.redhat.com/show_bug.cgi?id=1037925) - Search Projects field not character limited +* [1039776](https://bugzilla.redhat.com/show_bug.cgi?id=1039776) - Email template link to zanata log broken +* [1039810](https://bugzilla.redhat.com/show_bug.cgi?id=1039810) - Cancel contact email causes exception +* [1049643](https://bugzilla.redhat.com/show_bug.cgi?id=1049643) - Using the project search field breaks the drop down main menu +* [1060627](https://bugzilla.redhat.com/show_bug.cgi?id=1060627) - [Regression] Drop down navmenu does not work in the editor +* [1060959](https://bugzilla.redhat.com/show_bug.cgi?id=1060959) - Use of "alternately" instead of "alternatively" in confirmation emails +* [1060970](https://bugzilla.redhat.com/show_bug.cgi?id=1060970) - Project-version information gathered for group join request not delivered +* [1060973](https://bugzilla.redhat.com/show_bug.cgi?id=1060973) - Deselecting the project version from a group add request results a non-error notification +* [1060987](https://bugzilla.redhat.com/show_bug.cgi?id=1060987) - No success/failure response for requesting add project to group from the group page +* [1062011](https://bugzilla.redhat.com/show_bug.cgi?id=1062011) - Overall Statistics show incorrect number of translators. +* [1063118](https://bugzilla.redhat.com/show_bug.cgi?id=1063118) - "Sort" drop down in group page is not correct +* [1064628](https://bugzilla.redhat.com/show_bug.cgi?id=1064628) - In Editor's Document list View, statistics are not updated immediately +* [1064737](https://bugzilla.redhat.com/show_bug.cgi?id=1064737) - Statistics on locale documents page are incorrect (inconsistent with project version and editor) +* [1065120](https://bugzilla.redhat.com/show_bug.cgi?id=1065120) - [Project Version JSF Document List View] Estimated work hours should stay the same by toggling between "By Message" and "By Words" +* [1067266](https://bugzilla.redhat.com/show_bug.cgi?id=1067266) - [Regression] CopyTrans via web UI causes an exception +* [1054524](https://bugzilla.redhat.com/show_bug.cgi?id=1054524) - Users api key is accessible by anyone +* [1056849](https://bugzilla.redhat.com/show_bug.cgi?id=1056849) - Incorrect group l10n statistics due to caching missing out update(s) +* [1059483](https://bugzilla.redhat.com/show_bug.cgi?id=1059483) - Cannot log into kerberos +* [1060598](https://bugzilla.redhat.com/show_bug.cgi?id=1060598) - [Regression] Obsolete projects are searchable, but not accessible (exception occurs) +* [1064106](https://bugzilla.redhat.com/show_bug.cgi?id=1064106) - Copy Trans times out with large enough documents +* [1065806](https://bugzilla.redhat.com/show_bug.cgi?id=1065806) - [Project Version JSF Language List View] After toggle the unit of status, spinner failed to be removed after statistics are updated +* [1060628](https://bugzilla.redhat.com/show_bug.cgi?id=1060628) - Admin manage search page has an empty "Current Progress" section +* [1013419](https://bugzilla.redhat.com/show_bug.cgi?id=1013419) - FAQ missing on translate.zanata.org +* [1056866](https://bugzilla.redhat.com/show_bug.cgi?id=1056866) - Error message should be shown when uploading unsupported Open Document Format (e.g. fodt) +* [1057432](https://bugzilla.redhat.com/show_bug.cgi?id=1057432) - No indication of where HTML fits in the project types +* [968619](https://bugzilla.redhat.com/show_bug.cgi?id=968619) - Editor: Difficulty in placing cursor at desired point and selecting exact part of text +* [1002792](https://bugzilla.redhat.com/show_bug.cgi?id=1002792) - Unhandled exception: Uploading an invalid .pot will result in WebApplicationException +* [1012502](https://bugzilla.redhat.com/show_bug.cgi?id=1012502) - server should never store fuzzy flag against a source document's textflows +* [1037932](https://bugzilla.redhat.com/show_bug.cgi?id=1037932) - Unhandled exception: Add language field allows more character than the database does (255) +* [1037933](https://bugzilla.redhat.com/show_bug.cgi?id=1037933) - Unhandled exception: Add language with a string too large can cause a lock exception on save +* [1043330](https://bugzilla.redhat.com/show_bug.cgi?id=1043330) - Existing OpenId user cannot save any setting from the Edit profile view +* [1055790](https://bugzilla.redhat.com/show_bug.cgi?id=1055790) - Unhelpful error code returned for incorrect html type +* [1056308](https://bugzilla.redhat.com/show_bug.cgi?id=1056308) - User edit profile page missing field validation for empty email address +* [1060621](https://bugzilla.redhat.com/show_bug.cgi?id=1060621) - [Regression] Validation warnings panel not displayed +* [1044768](https://bugzilla.redhat.com/show_bug.cgi?id=1044768) - Zanata does not pull the latest changes in translation due to unchanged ETags +* [1063112](https://bugzilla.redhat.com/show_bug.cgi?id=1063112) - Client push in dryRun mode should not invoke CopyTrans +* [1069428](https://bugzilla.redhat.com/show_bug.cgi?id=1069428) - Various concurrency problems due to unsafe Seam injections From e45bed1ab688e57a87eaa90d985d58a21a69079d Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Mon, 23 Mar 2015 12:36:12 +1000 Subject: [PATCH 3/4] Update release notes for rhbz1183412 --- docs/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes.md b/docs/release-notes.md index 37b4f26139..d3c9737e76 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -2,6 +2,7 @@
Bugfixes
* [1194543](https://bugzilla.redhat.com/show_bug.cgi?id=1194543) - Manual document re-upload makes previous translations fuzzy +* [1183412](https://bugzilla.redhat.com/show_bug.cgi?id=1183412) - Emails to administrators are sent in the current interface language ----------------------- From a649964165e1e89806334b0a346dd79e620b4bce Mon Sep 17 00:00:00 2001 From: Patrick Huang Date: Tue, 24 Mar 2015 09:45:29 +1000 Subject: [PATCH 4/4] try to fix IT case --- .../zanata/rest/compat/TranslationsCompatibilityITCase.java | 4 ++-- .../rest/compat/TranslationsRawCompatibilityITCase.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsCompatibilityITCase.java b/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsCompatibilityITCase.java index 20b6fd8378..3c88a1e1fa 100644 --- a/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsCompatibilityITCase.java +++ b/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsCompatibilityITCase.java @@ -170,8 +170,8 @@ public void doublePostResource() throws Exception { response.releaseConnection(); } -// @Test -// @RunAsClient + @Test + @RunAsClient public void putResource() throws Exception { // Create a new Resource Resource res = new Resource("new-put-resource"); diff --git a/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsRawCompatibilityITCase.java b/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsRawCompatibilityITCase.java index 7edbbe07f4..1463c1ac59 100644 --- a/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsRawCompatibilityITCase.java +++ b/zanata-war/src/test/java/org/zanata/rest/compat/TranslationsRawCompatibilityITCase.java @@ -59,6 +59,9 @@ public class TranslationsRawCompatibilityITCase extends RestTest { @Override protected void prepareDBUnitOperations() { + addBeforeTestOperation(new DataSetOperation( + "org/zanata/test/model/ClearAllTables.dbunit.xml", + DatabaseOperation.DELETE_ALL)); addBeforeTestOperation(new DataSetOperation( "org/zanata/test/model/AccountData.dbunit.xml", DatabaseOperation.CLEAN_INSERT));