Bug 1036976 - RFE: Provide a way to automatically build translated books
Summary: RFE: Provide a way to automatically build translated books
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: PressGang CCMS
Classification: Community
Component: CCMS-Core
Version: 1.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 1.9
Assignee: Lee Newson
QA Contact:
URL:
Whiteboard:
Depends On: 1013410
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-03 02:37 UTC by Lee Newson
Modified: 2014-09-01 01:22 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-01 01:22:09 UTC
Embargoed:


Attachments (Terms of Use)

Description Lee Newson 2013-12-03 02:37:58 UTC
Description of problem:

Currently when writers have content ready to be translated they run push-translation to upload the content, however to get the book to actually show up in docbuilder they are required to create a ticket and get someone from the PressGang team to manually include the translated content spec in the daily builds.

As such we should provide a way to tag a content specification that it should be built/synced for certain locales. We will also be required to think about having a way to clean up old books that are no longer needed since building/syncing books is a costly operation. For example we could have it check and see if any content specs are tagged have had any new translations synced in the last week.

Comment 2 Lee Newson 2014-08-18 08:01:59 UTC
Added in 1.9-SNAPSHOT build 201408171956

Server:

A new table called "ContentSpecTranslationDetail" has been added to hold the translation server to push/sync with, what locales to sync, the project/version identifier and an "enabled" boolean which controls if the server should build/sync daily.

The new details are exposed as an expandable field on the Content Spec endpoints, by expanding the "translationDetails". Additionally the "translationEnabled" query parameter has been added to the content spec query endpoint to be able to retrieve all the content specs that should be sync'd/built.

To do this properly the locales and translation servers have been migrated from properties files to database entries (see https://bugzilla.redhat.com/show_bug.cgi?id=1083348#c4). The reason for this is that the current implementation meant that the content spec translation details couldn't directly reference the settings and the settings on one server might be different on another server.

-----------------------------------------------------------------------

Sync Service:

The sync service no longer needs the command.txt file to specify what content specs to sync. It now pulls the list down using the new query parameter and then syncs using that. Additionally it also no longer syncs every locale for every content spec. Instead it now only syncs the locales configured in the translation details, which will offer a small performance improvement.

-----------------------------------------------------------------------

DocBuilder:

DocBuilder no longer requires individual configuration files that needed to be manually updated. DocBuilder now does an initial query using the new "translationEnabled" parameter to get the content specs that should be built and expands the "locales" field to know what locales to build in.

Comment 3 Lee Newson 2014-08-18 08:15:33 UTC
UI:

The user interface now has an additional "Translation Properties" tab in the Content Spec editor view, which allows users to change the translation properties mentioned above.


Note: The translation details are not linked to the content spec revisions and all content spec revisions will use the same translation details. The reason for this is that a Content Spec is meant to represent a single books version, so any changes to the settings should apply to all past and current versions.

Comment 5 Lee Newson 2014-08-20 06:48:42 UTC
I realised yesterday that I missed the import tool. So here are some additional details that I missed:

UI:

Attempting to sync or push translations from the UI without configuring the translation properties will also produce an error, stating to configure them and try again.

Import Tool:

The import tool now stores the locale id, instead of a plain text arbitrary value and also has been updated to use the default locale setting instead of always using "en-US".

Comment 8 Lee Newson 2014-09-01 01:22:09 UTC
PressGang 1.9 has been released, however this bug was not able to be QA'd in time for the release. If this does not work as expected then please reopen this bug.


Note You need to log in before you can comment on or make changes to this bug.