Bug 1044261

Summary: RFE: Drupal integration with Zanata
Product: [Retired] Zanata Reporter: David Mason <damason>
Component: UsabilityAssignee: David Mason <damason>
Status: CLOSED CURRENTRELEASE QA Contact: Damian Jansen <djansen>
Severity: medium Docs Contact:
Priority: unspecified    
Version: developmentCC: amatlack, bpritche, camunoz, dchen, djansen, dkolbas, enewby, hhutton, lbrooker, pnemade, sflaniga, tmctighe, zanata-bugs
Target Milestone: ---   
Target Release: 3.6   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: eb3ef2bd399e400c9bb103c2da415aca8c6d4b8c Doc Type: Bug Fix
Doc Text:
Story Points: 1
Clone Of: Environment:
Last Closed: 2015-03-19 07:10:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 1078009    
Bug Blocks: 1097982    

Description David Mason 2013-12-18 02:12:09 UTC
Description of problem:
Translating content from Drupal using Zanata is currently a manual process requiring copying of source content from the editor in Drupal, saving it to the local file system, then uploading to Zanata, with a similar reverse process for taking translations from Zanata to the Drupal site.

A plugin for Drupal could communicate directly with a Zanata server to automatically push updated source strings whenever content is edited, and check for updated translations periodically or on-demand. This would cut out all the manual content-copying steps for a maintainer of a project in Drupal.


Features that may be necessary or useful:

 - admin page
   - set Zanata server to use
   - indicate if the server is not found
   - set maintainer username & API key
   - set project & version to use
   - indicate if the project does not exist on the specified server, offer to create it
   - indicate if the version does not exist on the specified server, offer to create it

 - settings page
   - set interval and timing for automatic check for new translations (including never)
   - view list of content that is marked for translation
     - allow content to be added to the list
     - allow translations to be checked for any item on the list
     - allow source to be pushed to Zanata for any item on the list

 - in Drupal content editor
   - checkbox to indicate whether the content being edited should be sent for translation
   - if the content being edited should be sent for translation, it will be pushed to Zanata when the content is saved
   - sensible behaviour should be considered for draft items and publishing of items
   - publishing an item could trigger a check for translations of the item (to support a workflow in which an item is published when its translations are completed)

 - notifications could be sent to a specified mailing list when new content is available to translate.

Comment 1 Luke Brooker 2013-12-18 02:36:52 UTC
It is probably worth looking at this Drupal module (https://drupal.org/project/i18n), as that is what most international sites use and seeing how we could integrate with that.

Comment 2 Allison Matlack 2013-12-19 13:58:23 UTC
Adding myself and our Drupal folks to the cc list so we can keep up with you.

Also wanted to mention http://www.lingotek.com/. They're a full-service translation vendor, so we didn't follow up much with them, but their technology might be of interest.

Comment 3 Henry Hutton 2014-03-31 19:27:47 UTC
Just talked with Allison- we have a strategic customer, NEC, that is requesting that errata be translated (see https://mojo.redhat.com/docs/DOC-26074. row 1). Due to the current manual nature of translations of Drupal content I wanted to weigh in on the need for better capability here.

Comment 4 Allison Matlack 2014-03-31 19:31:42 UTC
And to clarify what Henry is saying in Comment 3:

We (Customer Portal) currently have to manually copy text from the Drupal interface into a text file that we can upload to Zanata. This has been okay for us because there are two fields: Title and Body. I can easily separate the fields and enter them. While this is tedious to do in eight different languages, it's doable.

We now have several new content types in Drupal that have dozens of fields. This would require me to copy out each field into a text file, and then once translations are done, I'll have to figure out which line goes in which field and copy everything over, one field at a time, for each language. This copy/paste manual method just isn't going to work anymore for Drupal translations of our new content types that have numerous different fields.

Comment 5 Carlos Munoz 2014-08-12 04:16:42 UTC
Current sandbox page:
https://www.drupal.org/sandbox/davidmason/2279489

To do:
- Promote TMGMT Zanata plugin to full project
- Fix any issues that rise from the review process
- Notify the relevant parties about the release

Comment 6 Damian Jansen 2014-12-03 05:06:44 UTC
After some discussion, the following items were not deemed mandatory to this release and will be slated for a later version:

- indicate if the server is not found
- indicate if the project does not exist on the specified server, offer to create it
- indicate if the version does not exist on the specified server, offer to create it
- notifications could be sent to a specified mailing list when new content is available to translate.
- set interval and timing for automatic check for new translations (including never)
- publishing an item could trigger a check for translations of the item (to support a workflow in which an item is published when its translations are completed)
- checkbox to indicate whether the content being edited should be sent for translation and:
 a) if the content being edited should be sent for translation, it will be pushed to Zanata when the content is saved
 b) sensible behaviour should be considered for draft items and publishing of items