From 1ec21a6983f34c73e344976dbb2f61d5d601ceb6 Mon Sep 17 00:00:00 2001 From: Henrik Nygren Date: Wed, 11 Dec 2024 16:16:30 +0200 Subject: [PATCH] Update translations and fix language changing when signing up (#1355) * Add language parameter to login and signup paths; support Ukrainian language * Update translations * Update snapshots * Mailchimp (#1332) * User can give marketing consent to a specific course * syncing with mailchimp * Mailchimp syncer * Updated comments * Updated comments * Changes to mergefields and renaming * Added email subscription status to UserMarketingConsent * Little changes * Changed println to info * Moved div * new checkbox and research consent for mailchimp syncer * Eslint fixes * Add kubernetes configs * Add configuration to control removal of unsupported Mailchimp fields * Add wait timeout for course language change test * Refactor course language change test to improve button interaction handling --------- Co-authored-by: Maija Y Co-authored-by: Henrik Nygren * Make unsubscribe processing run every 3 hours * Enhance wait-for-db-migrations script to support waiting for additional tables --------- Co-authored-by: Maija <51128208+Maijjay@users.noreply.github.com> Co-authored-by: Maija Y --- .../base/headless-lms/mailchimp-syncer.yml | 3 +- .../navigation/UserNavigationControls.tsx | 6 +-- .../server/src/programs/mailchimp_syncer.rs | 50 ++++++++++++------ .../headless-lms/wait-for-db-migrations.sh | 12 +++++ .../packages/common/src/hooks/useLanguage.tsx | 2 +- .../packages/common/src/locales/ar/cms.json | 1 + .../src/locales/ar/course-material.json | 1 + .../common/src/locales/ar/main-frontend.json | 3 ++ .../src/locales/en/course-material.json | 2 +- .../packages/common/src/locales/fi/cms.json | 1 + .../src/locales/fi/course-material.json | 1 + .../common/src/locales/fi/main-frontend.json | 3 ++ .../packages/common/src/locales/uk/cms.json | 1 + .../src/locales/uk/course-material.json | 3 +- .../common/src/locales/uk/main-frontend.json | 3 ++ .../author-block-desktop-regular.png | Bin 118130 -> 118067 bytes .../author-block-mobile-tall.png | Bin 81967 -> 82152 bytes .../glossary-tooltips-desktop-regular.png | Bin 48636 -> 48468 bytes .../glossary-tooltips-mobile-tall.png | Bin 37318 -> 37128 bytes .../latex.spec.ts/latex-desktop-regular.png | Bin 49629 -> 49642 bytes .../latex.spec.ts/latex-mobile-tall.png | Bin 37032 -> 36951 bytes 21 files changed, 70 insertions(+), 22 deletions(-) diff --git a/kubernetes/base/headless-lms/mailchimp-syncer.yml b/kubernetes/base/headless-lms/mailchimp-syncer.yml index 58f729a72798..7306eff1fa54 100644 --- a/kubernetes/base/headless-lms/mailchimp-syncer.yml +++ b/kubernetes/base/headless-lms/mailchimp-syncer.yml @@ -41,7 +41,8 @@ spec: - | echo Waiting for postgres to be available timeout 120 ./wait-for-db.sh - ./wait-for-db-migrations.sh + # Need to also wait for marketing_mailing_list_access_tokens because migrations can take a moment to run, and the syncer depends on this table + ./wait-for-db-migrations.sh marketing_mailing_list_access_tokens resources: requests: memory: 100Mi diff --git a/services/course-material/src/components/navigation/UserNavigationControls.tsx b/services/course-material/src/components/navigation/UserNavigationControls.tsx index 9f9d7ded3ed3..e30ac4f7106b 100644 --- a/services/course-material/src/components/navigation/UserNavigationControls.tsx +++ b/services/course-material/src/components/navigation/UserNavigationControls.tsx @@ -26,7 +26,7 @@ const UserNavigationControls: React.FC { - const { t } = useTranslation() + const { t, i18n } = useTranslation() const loginStateContext = useContext(LoginStateContext) const [showSettings, setShowSettings] = useState(false) const returnTo = useCurrentPagePathForReturnTo(currentPagePath) @@ -46,10 +46,10 @@ const UserNavigationControls: React.FC diff --git a/services/headless-lms/server/src/programs/mailchimp_syncer.rs b/services/headless-lms/server/src/programs/mailchimp_syncer.rs index d863308c2d71..c7bed7f9d9fd 100644 --- a/services/headless-lms/server/src/programs/mailchimp_syncer.rs +++ b/services/headless-lms/server/src/programs/mailchimp_syncer.rs @@ -7,7 +7,10 @@ use headless_lms_utils::http::REQWEST_CLIENT; use serde::Deserialize; use serde_json::json; use sqlx::{PgConnection, PgPool}; -use std::{env, time::Duration}; +use std::{ + env, + time::{Duration, Instant}, +}; use uuid::Uuid; #[derive(Debug, Deserialize)] @@ -74,6 +77,7 @@ const REQUIRED_FIELDS: &[FieldSchema] = &[ /// These fields are excluded from removing all fields that are not in the schema const FIELDS_EXCLUDED_FROM_REMOVING: &[&str] = &["PHONE", "PACE", "COUNTRY", "MMERGE9"]; const REMOVE_UNSUPPORTED_FIELDS: bool = false; +const PROCESS_UNSUBSCRIBES_INTERVAL_SECS: u64 = 10_800; const SYNC_INTERVAL_SECS: u64 = 10; const PRINT_STILL_RUNNING_MESSAGE_TICKS_THRESHOLD: u32 = 60; @@ -115,6 +119,8 @@ pub async fn main() -> anyhow::Result<()> { info!("Starting mailchimp syncer."); + let mut last_time_unsubscribes_processed = Instant::now(); + loop { interval.tick().await; ticks += 1; @@ -123,7 +129,14 @@ pub async fn main() -> anyhow::Result<()> { ticks = 0; info!("Still syncing."); } - if let Err(e) = sync_contacts(&mut conn, &config).await { + let mut process_unsubscribes = false; + if last_time_unsubscribes_processed.elapsed().as_secs() + >= PROCESS_UNSUBSCRIBES_INTERVAL_SECS + { + process_unsubscribes = true; + last_time_unsubscribes_processed = Instant::now(); + }; + if let Err(e) = sync_contacts(&mut conn, &config, process_unsubscribes).await { error!("Error during synchronization: {:?}", e); } } @@ -348,7 +361,12 @@ async fn remove_field_from_mailchimp( } /// Synchronizes the user contacts with Mailchimp. -async fn sync_contacts(conn: &mut PgConnection, _config: &SyncerConfig) -> anyhow::Result<()> { +/// Added a boolean flag to determine whether to process unsubscribes. +async fn sync_contacts( + conn: &mut PgConnection, + _config: &SyncerConfig, + process_unsubscribes: bool, +) -> anyhow::Result<()> { let access_tokens = headless_lms_models::marketing_consents::fetch_all_marketing_mailing_list_access_tokens( conn, @@ -360,20 +378,22 @@ async fn sync_contacts(conn: &mut PgConnection, _config: &SyncerConfig) -> anyho // Iterate through tokens and fetch and send user details to Mailchimp for token in access_tokens { // Fetch all users from Mailchimp and sync possible changes locally - let mailchimp_data = fetch_unsubscribed_users_from_mailchimp_in_chunks( - &token.mailchimp_mailing_list_id, - &token.server_prefix, - &token.access_token, - 1000, - ) - .await?; + if process_unsubscribes { + let mailchimp_data = fetch_unsubscribed_users_from_mailchimp_in_chunks( + &token.mailchimp_mailing_list_id, + &token.server_prefix, + &token.access_token, + 1000, + ) + .await?; - info!( - "Processing Mailchimp data for list: {}", - token.mailchimp_mailing_list_id - ); + info!( + "Processing Mailchimp data for list: {}", + token.mailchimp_mailing_list_id + ); - process_unsubscribed_users_from_mailchimp(conn, mailchimp_data).await?; + process_unsubscribed_users_from_mailchimp(conn, mailchimp_data).await?; + } // Fetch unsynced emails and update them in Mailchimp let users_with_unsynced_emails = diff --git a/services/headless-lms/wait-for-db-migrations.sh b/services/headless-lms/wait-for-db-migrations.sh index a969372b8e84..1d2d983dba8a 100755 --- a/services/headless-lms/wait-for-db-migrations.sh +++ b/services/headless-lms/wait-for-db-migrations.sh @@ -17,3 +17,15 @@ done echo "" echo "Database is available: courses table found." + +# The script can also wait for additional tables by passing them as arguments +for table in "$@"; do + echo "Waiting until I find the $table table in postgres..." + until test "$(psql "$DATABASE_URL" -c '\d' --csv | grep -c ",$table,table,")" -eq 1 2> /dev/null; do + echo -n "." + sleep 1 + done + # Clear line because echo -n above wont print line breaks + echo "" + echo "Database is available: $table table found." +done diff --git a/shared-module/packages/common/src/hooks/useLanguage.tsx b/shared-module/packages/common/src/hooks/useLanguage.tsx index ebfa7f35948e..aca7239c9a74 100644 --- a/shared-module/packages/common/src/hooks/useLanguage.tsx +++ b/shared-module/packages/common/src/hooks/useLanguage.tsx @@ -7,7 +7,7 @@ import { getValueFromCookieString } from "../utils/cookies" const LANGUAGE_QUERY_KEY = "lang" const IS_SERVER = typeof window === "undefined" -const SUPPORTED_LANGUAGES = ["en", "fi"] +const SUPPORTED_LANGUAGES = ["en", "fi", "uk"] const DEFAULT_LANGUAGE = "en" const CAN_ACCESS_COOKIES = detectAccessToCookies() diff --git a/shared-module/packages/common/src/locales/ar/cms.json b/shared-module/packages/common/src/locales/ar/cms.json index 85c592f89371..a531fdf22a2e 100644 --- a/shared-module/packages/common/src/locales/ar/cms.json +++ b/shared-module/packages/common/src/locales/ar/cms.json @@ -33,6 +33,7 @@ "configure-review-answers-option": "تكوين خيار إجابات المراجعة", "congratulations-explanation": "تُوضع هذه الكتلة في مواد الدورة حيث ترغب في تهنئة الطالب عند إكمال الدورة. بالنسبة للدورات التي تم تكوينها للحصول على ECTS، ستوفر أيضًا رابطًا لصفحة حيث يمكنهم تسجيل إكمالهم في الجامعة المفتوحة.", "congratulations-placeholder": "عنصر نائب للتهنئة", + "content-saved-successfully": "تم حفظ المحتوى بنجاح!", "copy-text-placeholder": "أدخل فقرة هنا...", "course-instance-enrollment-condition": "الطالب مسجل في أي من دورات الدورة التالية:", "course-progress-placeholder": "عنصر نائب لتقدم الدورة", diff --git a/shared-module/packages/common/src/locales/ar/course-material.json b/shared-module/packages/common/src/locales/ar/course-material.json index cff885aec14b..76560e1faa1b 100644 --- a/shared-module/packages/common/src/locales/ar/course-material.json +++ b/shared-module/packages/common/src/locales/ar/course-material.json @@ -8,6 +8,7 @@ "additional-module": "وحدة إضافية", "american-english": "الإنجليزية", "an-insight-to-consider": "رؤية للتفكير", + "attempted-exercises": "التمارين المحاولة", "attempted-exercises-required-for-completion": "التمارين المطلوبة لإكمالها", "audio-notification-description": "استمع إلى محتوى الصفحة الحالية بصوت عالٍ", "author": "المؤلفون", diff --git a/shared-module/packages/common/src/locales/ar/main-frontend.json b/shared-module/packages/common/src/locales/ar/main-frontend.json index 68534023d5eb..df621c9ce672 100644 --- a/shared-module/packages/common/src/locales/ar/main-frontend.json +++ b/shared-module/packages/common/src/locales/ar/main-frontend.json @@ -518,6 +518,9 @@ "page-number": "الصفحة {{page-number}}", "pages": "الصفحات", "paper-size": "حجم الورق", + "partners-section-button-text": "إضافة قسم الشركاء", + "partners-section-heading": "إضافة شريط شعارات الشركاء", + "partners-section-text": "يتم عرض هذا المكون فوق التذييل مباشرةً في جميع صفحات الدورة، مما يتيح لك عرض شعارات المؤسسات الشريكة أو الرعاة، وكل شعار يرتبط بصفحة مختلفة.", "password": "كلمة المرور", "password-must-have-at-least-8-characters": "يجب أن تحتوي كلمة المرور على 8 أحرف على الأقل!", "passwords-dont-match": "كلمات المرور غير متطابقة!", diff --git a/shared-module/packages/common/src/locales/en/course-material.json b/shared-module/packages/common/src/locales/en/course-material.json index f27a0fe7e5d0..6e737fa375f2 100644 --- a/shared-module/packages/common/src/locales/en/course-material.json +++ b/shared-module/packages/common/src/locales/en/course-material.json @@ -8,7 +8,7 @@ "additional-module": "Additional module", "american-english": "English", "an-insight-to-consider": "An insight to consider", - "attempted-exercises": "Exercises completed", + "attempted-exercises": "Exercises attempted", "attempted-exercises-required-for-completion": "Attempted exercises required for completion", "audio-notification-description": "Hear the current page content read aloud", "author": "Authors", diff --git a/shared-module/packages/common/src/locales/fi/cms.json b/shared-module/packages/common/src/locales/fi/cms.json index a28d94c19c22..e1e8692ec0b0 100644 --- a/shared-module/packages/common/src/locales/fi/cms.json +++ b/shared-module/packages/common/src/locales/fi/cms.json @@ -33,6 +33,7 @@ "configure-review-answers-option": "Määritä arvosteluvastausten asetus", "congratulations-explanation": "Tämä lohko sijoitetaan kurssimateriaaliin, missä halutaan näyttää opiskelijalle onnittelut kurssin suorittamisesta. Jos kurssilta voi saada opiskelupisteitä, tämä lohko tarjoaa myös linkin sivulle, mistä opiskelija pääsee kirjaamaan suorituksensa Avoimeen yliopistoon.", "congratulations-placeholder": "Onnittelulohko", + "content-saved-successfully": "Sisältö tallennettu onnistuneesti!", "copy-text-placeholder": "Kirjoita kappale tähän...", "course-instance-enrollment-condition": "Opiskelija on ilmoittautunut johonkin seuraavista kurssitoteutuksista:", "course-progress-placeholder": "Kurssin edistyminen lohko", diff --git a/shared-module/packages/common/src/locales/fi/course-material.json b/shared-module/packages/common/src/locales/fi/course-material.json index b5332ee453c4..b6135fcb4325 100644 --- a/shared-module/packages/common/src/locales/fi/course-material.json +++ b/shared-module/packages/common/src/locales/fi/course-material.json @@ -8,6 +8,7 @@ "additional-module": "Ylimääräinen moduuli", "american-english": "Englanti", "an-insight-to-consider": "Ajatus pohdittavaksi", + "attempted-exercises": "Yritetyt harjoitukset", "attempted-exercises-required-for-completion": "Yritettyjä tehtäviä vaaditaan läpipääsyyn", "audio-notification-description": "Kuuntele tämän sivun sisältö ääneen luettuna", "author": "Kirjoittajat", diff --git a/shared-module/packages/common/src/locales/fi/main-frontend.json b/shared-module/packages/common/src/locales/fi/main-frontend.json index 7fe6bd09dbfc..6a08cc80d3c6 100644 --- a/shared-module/packages/common/src/locales/fi/main-frontend.json +++ b/shared-module/packages/common/src/locales/fi/main-frontend.json @@ -523,6 +523,9 @@ "page-number": "sivu {{page-number}}", "pages": "Sivut", "paper-size": "Paperin koko", + "partners-section-button-text": "Lisää kumppaniosio", + "partners-section-heading": "Lisää kumppanilogojen palkki", + "partners-section-text": "Tämä komponentti näytetään juuri ennen alatunnistetta kaikilla kurssin sivuilla, ja sen avulla voit esitellä kumppanilaitosten tai sponsorien logoja. Jokainen logo linkittää eri sivulle.", "passed": "Hyv.", "password": "Salasana", "password-must-have-at-least-8-characters": "Salasanassa täytyy olla vähintään 8 kirjainta!", diff --git a/shared-module/packages/common/src/locales/uk/cms.json b/shared-module/packages/common/src/locales/uk/cms.json index a9b762759597..1522bdefbbd7 100644 --- a/shared-module/packages/common/src/locales/uk/cms.json +++ b/shared-module/packages/common/src/locales/uk/cms.json @@ -33,6 +33,7 @@ "configure-review-answers-option": "Налаштувати варіант відповідей на рецензію", "congratulations-explanation": "Цей блок розташований у матеріалі курсу, де ви бажаєте привітати студента з завершенням курсу. Для курсів, які налаштовані на отримання ECTS, він також надасть посилання на сторінку, де вони можуть зареєструвати своє завершення в Відкритому університеті.", "congratulations-placeholder": "Заповнювач привітань", + "content-saved-successfully": "Вміст успішно збережено!", "copy-text-placeholder": "Введіть абзац тут...", "course-instance-enrollment-condition": "Студент записався на будь-який з наступних курсів:", "course-progress-placeholder": "Заповнювач прогресу курсу", diff --git a/shared-module/packages/common/src/locales/uk/course-material.json b/shared-module/packages/common/src/locales/uk/course-material.json index 32288189f853..7ec9bf0f13bd 100644 --- a/shared-module/packages/common/src/locales/uk/course-material.json +++ b/shared-module/packages/common/src/locales/uk/course-material.json @@ -8,6 +8,7 @@ "additional-module": "Додатковий модуль", "american-english": "Англійська", "an-insight-to-consider": "Інсайт для розгляду", + "attempted-exercises": "Спробувані вправи", "attempted-exercises-required-for-completion": "Спроби вправ, необхідних для завершення", "audio-notification-description": "Прослуховування вмісту поточної сторінки вголос", "audio-player": "Слухай", @@ -27,7 +28,7 @@ "can-comment-on-portions-of-material-by-highlightig": "Ви можете прокоментувати окремі частини матеріалу, виділивши їх.", "cannot-render-exercise-task-missing-url": "Неможливо відобразити завдання вправи, відсутня url.", "chapter-chapter-number-chapter-name": "Розділ {{chapterNumber}}: {{chapterName}}", - "chapter-progress": "прогрес розділа", + "chapter-progress": "Прогрес розділу", "chatbot-discalimer-sensitive-information": "Ніколи не розголошуйте будь-яку конфіденційну інформацію чатботу.", "chatbot-disclaimer-check": "Завжди перевіряйте твердження, зроблені чатботом. Чатботи на основі LLM можуть створювати дуже переконливі, але фактично неправильні заяви.", "chatbot-disclaimer-disclose-part-1": "Завжди розкривайте використання LLM у ваших дослідженнях. Ви можете знайти керівництво Університету Гельсінкі щодо використання LLM у навчанні", diff --git a/shared-module/packages/common/src/locales/uk/main-frontend.json b/shared-module/packages/common/src/locales/uk/main-frontend.json index e485f021fb72..5c477770eda6 100644 --- a/shared-module/packages/common/src/locales/uk/main-frontend.json +++ b/shared-module/packages/common/src/locales/uk/main-frontend.json @@ -519,6 +519,9 @@ "page-number": "сторінка {{номер сторінки}}", "pages": "Сторінки", "paper-size": "Розмір паперу", + "partners-section-button-text": "Додати розділ партнерів", + "partners-section-heading": "Додати панель логотипів партнерів", + "partners-section-text": "Цей компонент відображається безпосередньо над нижнім колонтитулом на всіх сторінках курсу, дозволяє демонструвати логотипи партнерських установ або спонсорів, кожен логотип посилається на різні сторінки.", "password": "Пароль", "password-must-have-at-least-8-characters": "Пароль має бути не менше 8 символів!", "passwords-dont-match": "Паролі не збігаються!", diff --git a/system-tests/src/__screenshots__/author.spec.ts/author-block-desktop-regular.png b/system-tests/src/__screenshots__/author.spec.ts/author-block-desktop-regular.png index 97454e40b8568a7594040063d59aa143c22a6272..bc75f6526c03c6a81b55910e34fe434799a19ade 100644 GIT binary patch delta 28880 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 C=;bB= delta 29216 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
  • E?aMFIhqV@F{3C}RQ31M~dc{DBM$?(`px2PcN{2iby*QPB|%yH z2gX+97)-TEH6|)*a~4>`xFp$Rt}Z2E6va>gB_=j@ePe+_P|mZBzm0_6bGGh?cl&qa z7G%YDyTk5?^FHm-;VSifVMJ&D>QG#H_@_-o=}g=@$J%UWdoTDaE7^$_>oqxYFV@P)bezp*{8OT@j4cRK-kN2HK4k}5P{M-kslS$FhIUdU?;K~RZ~>ny?O zrH6tw$2~n9S@qwDlhDXOcm34_Tn;-uy4-LK205Ad0@=9m({gbm{DXw;d8l^xB_Sh0 zmtOtP)WLXU&&&UDd{+cT5PPrP`n_(2uqhSQ7-k0%>w2G#1Dk2T+9od;Q!CG^o!ujF zkKYjADwWnz$fnh-uYBrYTypP5Vr$HcKl}7{@$h0Q_|8B z_5+uiUX+_D(?VErCo1P^pLz+e{fAwo{UL(HTO+fQ9vDh_! z9rJg=ss#+ifcoGb?v}wfZkpGE?gS(}r(q8#f`LW7*a;NTOp?$*f0 zr(2|{GD`r8Sxh-yftCAa^33M}VEE(D|9g~g_#BIVR;!2JU6QC$TpefswM@#K=Kn;z$7^$|>xknM~Xw&nQ4 z&DGrB^@iR;J{MmN2XtduX)s(#DYU78oq%e6EjX?(*Rd=k?FGU4_8ok9hHg+NzVbf% zza#Y?=@k_#8e3Pb(=~WZ6F(hByXb1AVasD2~(th3r?whuXag4I=BE~0y4?i#0;u4a=Lb5XnF`dj7${#)}Hr#QwaR1 zC8XNL93fiQ)sn~zf{q-MI~3_SB-0L~OFR`=x7$n!C~0!e>{(H2tgpHuORRU!b7Y3g z;le(*KI;^NP%E>1!~tTby5h%XM4#405@%^UgDqxRABW!jXW#{9^b&;MI-BA!#c6Nr z)#GNASfXRleDm}7luiBabieMjDB@1|iR}D9P2vsJLf<}c{M%78{R6#D+ZDJf%9Q$b z2`*#Bsu__mqEjIjLg1Hm|9SstY(aVQRRV_ZfgFr9?l?cm6>#83CDF{L4H;JTm{lb| z8gqi*-}Ynff83hK?s?Kz#W_|w9?Rl)*tqWn z8=vc1Hlq$K;CpUnb)z1@nFN*-`W2{uA$47XOZb|-Y8Va5OmsA%Q#hn;Tnr)dkh`bK zY0vm$V*0m0@aPcBVa}%yMm-S}@BEj(T8}4|q7Pa<>g(qYX6&>^>U1D1TYsg1Q~Inu z(Gwo?Pe|%tm?S~kXc>nHiRo4_y^5fksq{5l&nQCZ zxxF8>XSSE(a4S#nlPVg@cOU`H7fsAJ>+B16{xVZpQy|PF5jF7x&GR#8e(}`5(g9v| zhO1&F|31acilemu&Q|=|wv*IvqL-te7cw0x)l=HhjSw2qGZ--=iw4W+)-Qh0)|2KF z#r*uHcwOBRA!DjOT!2Q-{+(D&l!D&(rEd7oO}|{R-|%;u=;LK;$!4d9Adm--(9RGF z(Db8=y?iSs#OlncQ9}gG5^IY05vCAeMfk>G@T)4$KiXkdRnTJ(=5_)vX{+>@Dipy< zt&o8_Gy%6a5@g0`W;Ktq_z9)j!VZC^%J=ppS_Nd5B5}jocBdVQqvH6=b