Customer portal announcement failed to be updated

Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Help center announcement subject and/or message failed to be updated when language support is used.
Depending on user preferred language in their user profile, the translated string defined for the respective language (if any) will be used.
Bug ticket is raised for this matter --  JSDSERVER-7076 - Getting issue details... STATUS

Environment

JSD 4.11 and above.

Diagnosis

To identify the announcement subject and message in the default language, you can use the SQL query below.

Click here to expand...
select * from public.propertyentry O_S_PROPERTY_ENTRY join public.propertytext O_S_PROPERTY_TEXT on O_S_PROPERTY_ENTRY.id = O_S_PROPERTY_TEXT.id 
where property_key like 'com.atlassian.servicedesk.portal.announcement%' or property_key like 'com.atlassian.servicedesk.shared%'
order by O_S_PROPERTY_ENTRY.id desc;

Explanation of each property_key

property_key "com.atlassian.servicedesk.portal.announcement_shared" stores the Help Center announcement subject and message

property_key "com.atlassian.servicedesk.shared.portal.name" stores the name of the Help Center

property_key "com.atlassian.servicedesk.portal.announcement_1" stores the announcement subject and message of the first portal

To validate if the translated announcement subject and/or message is replacing the update, check if the user preferred language/locale is identified with the following approach:

  1. Check the user preferred language from User profile, whom is failing to update the help center announcement.
  2. Navigate to Jira Service Desk Project settings » Language support to see if the language identified from Step 1 is added to the list
    OR
    Run the following SQL query against the Jira database:

    SELECT DISTINCT"LOCALE" FROM "AO_C7F17E_LINGO_TRANSLATION";

Cause

With language support added to Jira Service Desk (from JSD 4.11 and above), we can translate:

  • request types (names, descriptions, fields, and groups)

  • portal names

  • announcements (login, help center, and portal)

  • customer notifications

When translated string is defined, updates to the announcement subject and/or message will be constantly overwritten by the translated string.

Workaround

  1. Check the user preferred language from User profile, whom is failing to customise the help center announcement.
  2. If the same language can be found in Project settings » Language support remove the translated string from the relevant announcement field so that the update can be reflected as user is customising it.
    If the same language is locked in as default language or can't be found on the Language support page, changes can to be done via database.


Update global announcement subject/message: 

  1. Stop Jira
  2. Backup the Jira database
  3. Run the following SQL query against Jira database to identify the locale (e.g: there are different variant of English locale e.g: en-US, en-AU):

    SELECT DISTINCT"LOCALE" FROM "AO_C7F17E_LINGO_TRANSLATION";
  4.  Run the following SQL query against Jira database to identify the ID of the Help Center announcement subject and/or message from the AO_C7F17E_LINGO_TRANSLATION table for the the locale you want to update.
    (info) Just as precaution, validate if the correct row is returned by checking that the CONTENT value matches the announcement that user is seeing.

    • Global announcement header:

      SELECT * FROM "AO_C7F17E_LINGO_TRANSLATION"
      WHERE "LOCALE" = 'en-US'
      AND "LINGO_REVISION_ID" in
      (
      	SELECT MAX("ID") from "AO_C7F17E_LINGO_REVISION" WHERE "LINGO_ID" =
      	(
      		SELECT "ID" from "AO_C7F17E_LINGO" WHERE "LOGICAL_ID" = 'global.jsds.announcement.helpCenter.header'
      	)
      );

      (info) Replace the LOCALE value with the one that user want to update (identified from Step 3).

    • Global announcement message:

      SELECT * FROM "AO_C7F17E_LINGO_TRANSLATION"
      WHERE "LOCALE" = 'en-US'
      AND "LINGO_REVISION_ID" in
      (
      	SELECT MAX("ID") from "AO_C7F17E_LINGO_REVISION" WHERE "LINGO_ID" =
      	(
      		SELECT "ID" from "AO_C7F17E_LINGO" WHERE "LOGICAL_ID" = 'global.jsds.announcement.helpCenter.message'
      	)
      );

      (info) Replace the LOCALE value with the one that user want to update (identified from Step 3).

  5. Once we confirmed that the above results match the announcement subject and/or message that user is trying to modify, run the following UPDATE query against Jira database:

    1. Update global announcement header:

      UPDATE "AO_C7F17E_LINGO_TRANSLATION" SET "CONTENT" = '<NEW_SUBJECT_HERE>' WHERE "ID" = <ID>;

      (info) Replace <NEW_SUBJECT_HERE> with the new subject, and <ID> with the ID returned in the first query from Step 4.

    2. Update global announcement message:

      UPDATE "AO_C7F17E_LINGO_TRANSLATION" SET "CONTENT" = '<NEW_SUBJECT_HERE>' WHERE "ID" = <ID>;

      (info) Replace <NEW_MESSAGE_HERE> with the new message, and <ID> with the ID returned in the second query from Step 4.

  6. Start Jira


Update specific JSD project announcement subject/message: 

  1. Stop Jira
  2. Backup the Jira database
  3. Run the following SQL query against Jira database to identify the locale (e.g: there are different variant of English locale e.g: en-US, en-AU ):

    SELECT DISTINCT"LOCALE" FROM "AO_C7F17E_LINGO_TRANSLATION";
  4.  Run the following SQL query against Jira database to identify the ID of the Help Center announcement subject and/or message from the AO_C7F17E_LINGO_TRANSLATION table for the the locale you want to update.
    (info) Just as precaution, validate if the correct row is returned by checking that the CONTENT value matches the announcement that user is seeing.

    • Global announcement header:

      SELECT * FROM "AO_C7F17E_LINGO_TRANSLATION"
      WHERE "LOCALE" = 'en-US'
      AND "LINGO_REVISION_ID" in
      (
      	SELECT MAX("ID") from "AO_C7F17E_LINGO_REVISION" WHERE "LINGO_ID" =
      	(
      		SELECT "ID" from "AO_C7F17E_LINGO" WHERE "LOGICAL_ID" = 'jsds.announcement.portal.<PORTAL_ID>.header'
      	)
      );

      (info) Replace <PORTAL_ID> with the customer portal ID and the LOCALE value with the one that user want to update (identified from Step 3).

    • Global announcement message:

      SELECT * FROM "AO_C7F17E_LINGO_TRANSLATION"
      WHERE "LOCALE" = 'en-US'
      AND "LINGO_REVISION_ID" in
      (
      	SELECT MAX("ID") from "AO_C7F17E_LINGO_REVISION" WHERE "LINGO_ID" =
      	(
      		SELECT "ID" from "AO_C7F17E_LINGO" WHERE "LOGICAL_ID" = 'jsds.announcement.portal.<PORTAL_ID>.message'
      	)
      );

      (info) Replace <PORTAL_ID> with the customer portal ID and the LOCALE value with the one that user want to update (identified from Step 3).

  5. Once we confirmed that the above results match the announcement subject and/or message that user is trying to modify, run the following UPDATE query against Jira database:

    1. Update global announcement header:

      UPDATE "AO_C7F17E_LINGO_TRANSLATION" SET "CONTENT" = '<NEW_SUBJECT_HERE>' WHERE "ID" = <ID>;

      (info) Replace <NEW_SUBJECT_HERE> with the new subject, and <ID> with the ID returned in the first query from step 4).

    2. Update global announcement message:

      UPDATE "AO_C7F17E_LINGO_TRANSLATION" SET "CONTENT" = '<NEW_SUBJECT_HERE>' WHERE "ID" = <ID>;

      (info) Replace <NEW_MESSAGE_HERE> with the new message, and <ID> with the ID returned in the second query from step 4).

  6. Start Jira






Last modified on Feb 5, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.