{"id":2615,"date":"2024-11-15T07:27:30","date_gmt":"2024-11-15T07:27:30","guid":{"rendered":"https:\/\/www.overtsoftware.id\/?p=2615"},"modified":"2024-11-15T07:27:32","modified_gmt":"2024-11-15T07:27:32","slug":"top-tips-for-upgrade-from-shibboleth-v4-to-v5","status":"publish","type":"post","link":"https:\/\/www.overtsoftware.id\/index.php\/top-tips-for-upgrade-from-shibboleth-v4-to-v5\/","title":{"rendered":"Top Tips for a Smooth Upgrade from Shibboleth v4 to v5"},"content":{"rendered":"<p>Upgrading from Shibboleth Identity Provider (IdP) version 4 to version 5 is a critical step for organisations aiming to maintain robust security and leverage the latest features in federated identity management. This comprehensive guide provides a step-by-step approach to ensure a smooth transition, incorporating best practices and automation tools like Ansible to minimise downtime and enhance efficiency.<\/p>\n<h3 id=\"t-1731568190856\"><strong>Understanding the Importance of Upgrading<\/strong><\/h3>\n<p>Shibboleth IdP v4 reached its end of life on 1st September 2024, meaning it no longer receives security patches or updates. Operating on an unsupported version exposes your organisation to potential vulnerabilities and compliance issues. Upgrading to v5 ensures continued support, access to new features, and alignment with current security standards.<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"14436\" width=\"552\" data-init-width=\"1298\" height=\"179\" data-init-height=\"420\" title=\"Screenshot 2024-11-14 at 14.29.50\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.id\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-14-at-14.29.50.png\" data-width=\"552\" data-height=\"179\" style=\"aspect-ratio: auto 1298 \/ 420;\"><\/span><\/p>\n<h3 id=\"t-1731568190857\">Planning and Preparing for the Upgrade Process<\/h3>\n<p>A structured plan is essential for mitigating risks and ensuring a seamless transition during the upgrade process. To begin, it is important to develop a realistic timeline that includes milestones for each phase of the upgrade. This timeline should also allocate sufficient time for testing and validation to address any potential issues before going live.<\/p>\n<p>Additionally, clear communication with all relevant stakeholders\u2014such as IT staff, end-users, and service providers\u2014is crucial. Informing everyone about the planned upgrade helps manage expectations and prepares users for any temporary disruptions that may occur.<\/p>\n<p>Finally, preparation is key to a successful upgrade. Follow these steps to ensure readiness:<\/p>\n<ol>\n<li><strong>Assess Current Environment:<\/strong> Document your existing Shibboleth IdP setup, including configurations, integrations, and customisations. This inventory will help identify areas requiring attention during the upgrade.<\/li>\n<li><strong>Review System Requirements:<\/strong> Shibboleth v5 requires Java 17 and a compatible servlet container. Ensure your infrastructure meets these prerequisites to avoid compatibility issues.<\/li>\n<li><strong>Backup Existing Configuration:<\/strong> Create comprehensive backups of your current Shibboleth IdP configuration files, databases, and related components. This safeguard allows for recovery in case of unforeseen issues during the upgrade.<\/li>\n<\/ol>\n<p><strong>Step-by-Step Upgrade Procedure<\/strong><\/p>\n<p>Here is a detailed procedure to upgrade from Shibboleth v4 to v5:<\/p>\n<h4 id=\"t-1731568190859\"><strong>a. Update Java and Servlet Container<\/strong><\/h4>\n<ul>\n<li><strong>Upgrade Java:<\/strong> Install Java 17, as it is required for Shibboleth v5. Ensure that your applications are compatible with this version to prevent runtime issues.<\/li>\n<li><strong>Upgrade Servlet Container:<\/strong> Update your servlet container to a compatible version, such as Jetty 11 or Tomcat 10.1. Verify that the new version supports Java 17 and Shibboleth v5.<\/li>\n<\/ul>\n<h4 id=\"t-1731568190860\"><strong>b. Prepare Shibboleth Configuration<\/strong><\/h4>\n<ul>\n<li><strong>Review Release Notes:<\/strong>&nbsp;Consult the Shibboleth v5 Release Notes to understand changes and deprecated features. This knowledge will guide necessary adjustments to your configuration.<\/li>\n<li><strong>Modify Configuration Files:<\/strong>&nbsp;Update configuration files to align with v5 requirements. Pay attention to changes in syntax, new properties, and removed features. For instance, the&nbsp;idp.updateCheck.enable property allows for quick checks of available updates.<\/li>\n<\/ul>\n<h4 id=\"t-1731568190861\"><strong>c. Implement the Upgrade<\/strong><\/h4>\n<ul>\n<li><strong>Download Shibboleth v5:<\/strong>&nbsp;Obtain the latest stable release from the official Shibboleth website.<\/li>\n<li><strong>Run the Installer:<\/strong>&nbsp;Execute the installer, ensuring it points to your existing configuration directory. The installer will attempt to preserve custom configurations while updating necessary components.<\/li>\n<li><strong>Verify Configuration:<\/strong> After installation, review the configuration to ensure all settings are correctly applied. Address any warnings or errors that arise during this process.<\/li>\n<\/ul>\n<h4 id=\"t-1731568190862\"><strong>d. Test the Upgraded System<\/strong><\/h4>\n<ul>\n<li><strong>Functional Testing:<\/strong>&nbsp;Conduct comprehensive tests to verify that authentication flows, attribute releases, and integrations with service providers function as expected.<\/li>\n<li><strong>Performance Testing:<\/strong>&nbsp;Assess the system&#8217;s performance under typical and peak loads to ensure it meets organisational requirements.<\/li>\n<li><strong>Security Testing:<\/strong> Perform security assessments to identify and mitigate potential vulnerabilities introduced during the upgrade.<\/li>\n<\/ul>\n<h3 id=\"t-1731568190858\">Post-Upgrade Activities and Best Practices for a Seamless Transition<\/h3>\n<p>After completing the upgrade, it is essential to undertake several key actions to ensure the system operates smoothly. First, continuously monitor system performance to promptly detect and address any issues that may arise. Additionally, it is important to update documentation to reflect the new configuration and procedures, which will aid in future maintenance and troubleshooting efforts. Providing training to IT personnel and end-users on the new features and changes introduced in Shibboleth v5 is also crucial for facilitating smooth adoption.<\/p>\n<p>To enhance the overall upgrade experience, adhering to best practices is highly recommended:<\/p>\n<ol>\n<li><strong>Maintain Regular Backups: <\/strong>Regular backups are essential for recovery in case of failures during or after the upgrade, ensuring that you can restore functionality quickly if needed.<\/li>\n<li><strong>Stay Informed: <\/strong>Subscribe to Shibboleth&#8217;s announcement mailing list to receive updates on new releases, security advisories, and best practices.<\/li>\n<li><strong>Engage with the Community:<\/strong> Participate in forums and user groups to share experiences and gain valuable insights from other organisations that have successfully completed the upgrade.<\/li>\n<\/ol>\n<p>By following these post-upgrade activities and best practices, you can ensure a seamless transition and maintain system integrity.<\/p>\n<h3 id=\"t-1731568190863\">Conclusion<\/h3>\n<p>Upgrading to Shibboleth IdP v5 is an important step in maintaining a secure and efficient identity management system. By following this structured guide and utilising automation tools like Ansible, organisations can facilitate a smooth transition with minimal downtime. Staying current with software versions enhances security and ensures access to the latest features and improvements, which is essential for meeting the evolving needs of your organisation.<\/p>\n<p>We understand that upgrading your security can be time-consuming, but it remains a top priority. If you find yourself confused or in need of expert assistance, we offer a free consultation. Simply press the button below or <a href=\"https:\/\/www.overtsoftware.id\/index.php\/contact\/\" target=\"_blank\" style=\"outline: none; color: var(--tcb-skin-color-0) !important;\">contact us<\/a>, and our representatives will be happy to help you.<\/p>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Upgrade from Shibboleth IdP v4 to v5 to enhance security and access new features. This guide offers a step-by-step approach, best practices, and automation tools like Ansible for a smooth transition.<\/p>\n","protected":false},"author":1,"featured_media":2627,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","tve_updated_post":"<div class=\"thrv_wrapper tve-toc tve-elem-scroll tve-toc-expandable tcb-local-vars-root\" data-columns=\"1\" data-ct=\"toc-60733\" data-transition=\"slide\" data-headers=\"h2,h3,h4\" data-numbering=\"none\" data-highlight=\"heading\" data-ct-name=\"Table of Contents 13\" data-heading-style=\"{&quot;0&quot;:&quot;tve-u-1932982ff2e&quot;,&quot;1&quot;:&quot;tve-u-1932e885dd4&quot;,&quot;2&quot;:&quot;tve-u-1932e885dd7&quot;}\" style=\"\" data-css=\"tve-u-1932e885dc9\" data-state-default=\"expanded\" data-state-default-d=\"expanded\" data-animation=\"slide\" data-bullet-style=\"{&quot;0&quot;:&quot;tve-u-17399ff41d4&quot;,&quot;1&quot;:&quot;tve-u-17399ffc502&quot;,&quot;2&quot;:&quot;tve-u-17399ffedb7&quot;}\" data-number-style=\"{&quot;0&quot;:&quot;tve-u-17399fecc2c&quot;,&quot;1&quot;:&quot;tve-u-173dc8687ce&quot;,&quot;2&quot;:&quot;tve-u-173dc86929b&quot;}\" data-distribute=\"false\" data-state-default-m=\"collapsed\" data-element-name=\"Table of Contents\" data-form-settings=\"__TCB_FORM__{&quot;form_identifier&quot;:&quot;-form-9j0fvt&quot;}__TCB_FORM__\" data-id=\"m3if1ubw\"><div class=\"thrive-colors-palette-config\" style=\"display: none !important\">__CONFIG_colors_palette__{\"active_palette\":0,\"config\":{\"colors\":{\"4204a\":{\"name\":\"Main Accent\",\"parent\":-1},\"ea1e7\":{\"name\":\"Main Accent Light\",\"parent\":\"4204a\",\"lock\":{\"lightness\":1}}},\"gradients\":[]},\"palettes\":[{\"name\":\"Default\",\"value\":{\"colors\":{\"4204a\":{\"val\":\"var(--tcb-skin-color-0)\"},\"ea1e7\":{\"val\":\"rgba(214, 93, 0, 0.08)\",\"hsl_parent_dependency\":{\"h\":26,\"l\":0.42,\"s\":1.28}}},\"gradients\":[]},\"original\":{\"colors\":{\"4204a\":{\"val\":\"rgb(30, 136, 69)\",\"hsl\":{\"h\":142,\"s\":0.63,\"l\":0.32,\"a\":1}},\"ea1e7\":{\"val\":\"rgba(4, 215, 85, 0.08)\",\"hsl_parent_dependency\":{\"h\":143,\"s\":0.96,\"l\":0.42,\"a\":0.08}}},\"gradients\":[]}}]}__CONFIG_colors_palette__<\/div><div class=\"tve-toc-divider\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\"><div class=\"thrv_wrapper thrv-divider tve-vert-divider\" data-style=\"tve_sep-1\" data-color-d=\"rgb(217, 217, 217)\"><hr class=\"tve_sep tve_sep-1\" style=\"\"><\/div><\/div><svg class=\"toc-icons\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-0-m3if1ubw\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-1-m3if1ubw\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-2-m3if1ubw\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><\/svg>\n\t<div class=\"tve-content-box-background\" data-css=\"tve-u-1932e885dcb\" style=\"\"><\/div>\n\t<div class=\"thrv_wrapper tve-toc-title tcb-icon-display reverse tve-no-dropzone tve-prevent-content-edit\" data-css=\"tve-u-1932e885dcc\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\"><\/div>\n\t<div class=\"tve-cb\" style=\"\">\n\t\t<div class=\"tve-toc-title-icon\" data-icon-code=\"icon-chevron-down-solid\" style=\"\"><svg class=\"tcb-icon\" viewBox=\"0 0 24 24\" data-id=\"icon-chevron-down-solid\" data-name=\"\"><path d=\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"><\/path><\/svg><\/div>\n\t\t<div class=\"thrv_wrapper thrv_text_element tve_no_icons\">\t\t\t<div class=\"tcb-plain-text\" data-css=\"tve-u-1932e885dce\" style=\"\">table of contents<\/div> \t\t<\/div>\n\t<\/div>\n<\/div><div class=\"tve-cb tve-toc-content tve-prevent-content-edit\">\n\t\t\n\n\t\t<div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-1932e885dcf\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-1932e885dd0\"><\/div>\n\t<div class=\"tve-cb\"><\/div>\n<\/div><div class=\"thrv_wrapper tve-toc-list tcb-no-delete tcb-no-save tcb-no-clone tve-no-dropzone\" data-css=\"tve-u-1932e885dd2\" style=\"\">\n\t\t\t<div class=\"tve-content-box-background\" data-css=\"tve-u-1932e885dd3\" style=\"\"><\/div>\n\t\t\t<div class=\"tve-cb\">\n\t\t\t\t<div class=\"tve_ct_content tve_clearfix\"><div class=\"ct_column\"><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-1932e885dd4\" data-element-name=\"Heading Level 2\"><a href=\"#t-1731568190856\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Understanding the Importance of Upgrading<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-1932e885dd4\" data-element-name=\"Heading Level 2\"><a href=\"#t-1731568190857\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Planning and Preparing for the Upgrade Process<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level2 tve_no_icons\" data-tag=\"H4\" data-css=\"tve-u-1932e885dd7\" data-element-name=\"Heading Level 3\"><a href=\"#t-1731568190859\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">a. Update Java and Servlet Container<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level2 tve_no_icons\" data-tag=\"H4\" data-css=\"tve-u-1932e885dd7\" data-element-name=\"Heading Level 3\"><a href=\"#t-1731568190860\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">b. Prepare Shibboleth Configuration<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level2 tve_no_icons\" data-tag=\"H4\" data-css=\"tve-u-1932e885dd7\" data-element-name=\"Heading Level 3\"><a href=\"#t-1731568190861\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">c. Implement the Upgrade<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level2 tve_no_icons\" data-tag=\"H4\" data-css=\"tve-u-1932e885dd7\" data-element-name=\"Heading Level 3\"><a href=\"#t-1731568190862\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">d. Test the Upgraded System<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-1932e885dd4\" data-element-name=\"Heading Level 2\"><a href=\"#t-1731568190858\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Post-Upgrade Activities and Best Practices for a Seamless Transition<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-1932e885dd4\" data-element-name=\"Heading Level 2\"><a href=\"#t-1731568190863\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Conclusion<\/a><\/div><\/div><div class=\"thrv_wrapper thrv-divider tve-vert-divider\" data-style=\"tve_sep-1\" data-color-d=\"rgb(217, 217, 217)\"><hr class=\"tve_sep tve_sep-1\" style=\"\"><\/div><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><p>Upgrading from Shibboleth Identity Provider (IdP) version 4 to version 5 is a critical step for organisations aiming to maintain robust security and leverage the latest features in federated identity management. This comprehensive guide provides a step-by-step approach to ensure a smooth transition, incorporating best practices and automation tools like Ansible to minimise downtime and enhance efficiency.<\/p><h3 class=\"\" id=\"t-1731568190856\"><strong>Understanding the Importance of Upgrading<\/strong><\/h3><p>Shibboleth IdP v4 reached its end of life on 1st September 2024, meaning it no longer receives security patches or updates. Operating on an unsupported version exposes your organisation to potential vulnerabilities and compliance issues. Upgrading to v5 ensures continued support, access to new features, and alignment with current security standards.<\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-1932e885de0\" style=\"--tve-border-width: 1px; border: 1px solid rgb(106, 107, 108);\"><span class=\"tve_image_frame\"><img decoding=\"async\" class=\"tve_image wp-image-14436\" alt=\"\" data-id=\"14436\" width=\"552\" data-init-width=\"1298\" height=\"179\" data-init-height=\"420\" title=\"Screenshot 2024-11-14 at 14.29.50\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.id\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-14-at-14.29.50.png\" data-width=\"552\" data-height=\"179\" style=\"aspect-ratio: auto 1298 \/ 420;\"><\/span><\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1731568190857\">Planning and Preparing for the Upgrade Process<\/h3><p>A structured plan is essential for mitigating risks and ensuring a seamless transition during the upgrade process. To begin, it is important to develop a realistic timeline that includes milestones for each phase of the upgrade. This timeline should also allocate sufficient time for testing and validation to address any potential issues before going live.<\/p><p>Additionally, clear communication with all relevant stakeholders\u2014such as IT staff, end-users, and service providers\u2014is crucial. Informing everyone about the planned upgrade helps manage expectations and prepares users for any temporary disruptions that may occur.<\/p><p>Finally, preparation is key to a successful upgrade. Follow these steps to ensure readiness:<\/p><ol class=\"\"><li><strong>Assess Current Environment:<\/strong> Document your existing Shibboleth IdP setup, including configurations, integrations, and customisations. This inventory will help identify areas requiring attention during the upgrade.<\/li><li><strong>Review System Requirements:<\/strong> Shibboleth v5 requires Java 17 and a compatible servlet container. Ensure your infrastructure meets these prerequisites to avoid compatibility issues.<\/li><li><strong>Backup Existing Configuration:<\/strong> Create comprehensive backups of your current Shibboleth IdP configuration files, databases, and related components. This safeguard allows for recovery in case of unforeseen issues during the upgrade.<\/li><\/ol><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad cb_style_4\" data-style=\"cb_style_4\" data-css=\"tve-u-1932e885de2\" style=\"\">\n\t<div class=\"tve-content-box-background cb_style_4-bg\" data-css=\"tve-u-1932e885de3\" style=\"\"><\/div>\n\t<div class=\"tve-cb cb_style_4-cb\" data-css=\"tve-u-1932e885de5\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\"><p><strong>Step-by-Step Upgrade Procedure<\/strong><\/p><p>Here is a detailed procedure to upgrade from Shibboleth v4 to v5:<\/p><\/div><div class=\"thrv_wrapper thrv-columns\" style=\"--tcb-col-el-width: 910;\"><div class=\"tcb-flex-row v-2 tcb--cols--2\"><div class=\"tcb-flex-col\"><div class=\"tcb-col\"><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad cb_style_4\" data-style=\"cb_style_4\" data-css=\"tve-u-1932e885de6\" style=\"\">\n\t<div class=\"tve-content-box-background cb_style_4-bg\" data-css=\"tve-u-1932e885de8\" style=\"\"><\/div>\n\t<div class=\"tve-cb cb_style_4-cb\" data-css=\"tve-u-1932e885de9\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\"><h4 class=\"\" id=\"t-1731568190859\"><strong>a. Update Java and Servlet Container<\/strong><\/h4><ul class=\"\"><li><strong>Upgrade Java:<\/strong> Install Java 17, as it is required for Shibboleth v5. Ensure that your applications are compatible with this version to prevent runtime issues.<\/li><li><strong>Upgrade Servlet Container:<\/strong> Update your servlet container to a compatible version, such as Jetty 11 or Tomcat 10.1. Verify that the new version supports Java 17 and Shibboleth v5.<\/li><\/ul><\/div><\/div>\n<\/div><\/div><\/div><div class=\"tcb-flex-col\"><div class=\"tcb-col\"><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad cb_style_4\" data-style=\"cb_style_4\" data-css=\"tve-u-1932e885deb\" style=\"\">\n\t<div class=\"tve-content-box-background cb_style_4-bg\" data-css=\"tve-u-1932e885dec\" style=\"\"><\/div>\n\t<div class=\"tve-cb cb_style_4-cb\" data-css=\"tve-u-1932e885dee\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\"><h4 class=\"\" id=\"t-1731568190860\"><strong>b. Prepare Shibboleth Configuration<\/strong><\/h4><ul class=\"\"><li><strong>Review Release Notes:<\/strong>&nbsp;Consult the Shibboleth v5 Release Notes to understand changes and deprecated features. This knowledge will guide necessary adjustments to your configuration.<\/li><li><strong>Modify Configuration Files:<\/strong>&nbsp;Update configuration files to align with v5 requirements. Pay attention to changes in syntax, new properties, and removed features. For instance, the&nbsp;<code>idp.updateCheck.enable<\/code> property allows for quick checks of available updates.<\/li><\/ul><\/div><\/div>\n<\/div><\/div><\/div><\/div><\/div><div class=\"thrv_wrapper thrv-columns\" style=\"--tcb-col-el-width: 910;\"><div class=\"tcb-flex-row v-2 tcb--cols--2\"><div class=\"tcb-flex-col\"><div class=\"tcb-col\"><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad cb_style_4\" data-style=\"cb_style_4\" data-css=\"tve-u-1932e885df0\" style=\"\">\n\t<div class=\"tve-content-box-background cb_style_4-bg\" data-css=\"tve-u-1932e885df1\" style=\"\"><\/div>\n\t<div class=\"tve-cb cb_style_4-cb\" data-css=\"tve-u-1932e885df3\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\"><h4 class=\"\" id=\"t-1731568190861\"><strong>c. Implement the Upgrade<\/strong><\/h4><ul class=\"\"><li><strong>Download Shibboleth v5:<\/strong>&nbsp;Obtain the latest stable release from the official Shibboleth website.<\/li><li><strong>Run the Installer:<\/strong>&nbsp;Execute the installer, ensuring it points to your existing configuration directory. The installer will attempt to preserve custom configurations while updating necessary components.<\/li><li><strong>Verify Configuration:<\/strong> After installation, review the configuration to ensure all settings are correctly applied. Address any warnings or errors that arise during this process.<\/li><\/ul><\/div><\/div>\n<\/div><\/div><\/div><div class=\"tcb-flex-col\"><div class=\"tcb-col\"><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad cb_style_4\" data-style=\"cb_style_4\" data-css=\"tve-u-1932e885df4\" style=\"\">\n\t<div class=\"tve-content-box-background cb_style_4-bg\" data-css=\"tve-u-1932e885df6\" style=\"\"><\/div>\n\t<div class=\"tve-cb cb_style_4-cb\" data-css=\"tve-u-1932e885df7\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\"><h4 class=\"\" id=\"t-1731568190862\"><strong>d. Test the Upgraded System<\/strong><\/h4><ul class=\"\"><li><strong>Functional Testing:<\/strong>&nbsp;Conduct comprehensive tests to verify that authentication flows, attribute releases, and integrations with service providers function as expected.<\/li><li><strong>Performance Testing:<\/strong>&nbsp;Assess the system's performance under typical and peak loads to ensure it meets organisational requirements.<\/li><li><strong>Security Testing:<\/strong> Perform security assessments to identify and mitigate potential vulnerabilities introduced during the upgrade.<\/li><\/ul><\/div><\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1731568190858\">Post-Upgrade Activities and Best Practices for a Seamless Transition<\/h3><p>After completing the upgrade, it is essential to undertake several key actions to ensure the system operates smoothly. First, continuously monitor system performance to promptly detect and address any issues that may arise. Additionally, it is important to update documentation to reflect the new configuration and procedures, which will aid in future maintenance and troubleshooting efforts. Providing training to IT personnel and end-users on the new features and changes introduced in Shibboleth v5 is also crucial for facilitating smooth adoption.<\/p><p>To enhance the overall upgrade experience, adhering to best practices is highly recommended:<\/p><ol class=\"\"><li><strong>Maintain Regular Backups: <\/strong>Regular backups are essential for recovery in case of failures during or after the upgrade, ensuring that you can restore functionality quickly if needed.<\/li><li><strong>Stay Informed: <\/strong>Subscribe to Shibboleth's announcement mailing list to receive updates on new releases, security advisories, and best practices.<\/li><li><strong>Engage with the Community:<\/strong> Participate in forums and user groups to share experiences and gain valuable insights from other organisations that have successfully completed the upgrade.<\/li><\/ol><p>By following these post-upgrade activities and best practices, you can ensure a seamless transition and maintain system integrity.<\/p><\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1731568190863\">Conclusion<\/h3><p>Upgrading to Shibboleth IdP v5 is an important step in maintaining a secure and efficient identity management system. By following this structured guide and utilising automation tools like Ansible, organisations can facilitate a smooth transition with minimal downtime. Staying current with software versions enhances security and ensures access to the latest features and improvements, which is essential for meeting the evolving needs of your organisation.<\/p><p>We understand that upgrading your security can be time-consuming, but it remains a top priority. If you find yourself confused or in need of expert assistance, we offer a free consultation. Simply press the button below or <a href=\"https:\/\/www.overtsoftware.id\/index.php\/contact\/\" target=\"_blank\" class=\"\" style=\"outline: none; color: var(--tcb-skin-color-0) !important;\">contact us<\/a>, and our representatives will be happy to help you.<\/p><\/div><div class=\"thrv_wrapper thrv-button thrv-button-v2 tcb-local-vars-root tve_ea_thrive_lightbox\" data-css=\"tve-u-1932e885df9\">\n\t<div class=\"thrive-colors-palette-config\" style=\"display: none !important\">__CONFIG_colors_palette__{\"active_palette\":0,\"config\":{\"colors\":{\"62516\":{\"name\":\"Main Accent\",\"parent\":-1}},\"gradients\":[]},\"palettes\":[{\"name\":\"Default Palette\",\"value\":{\"colors\":{\"62516\":{\"val\":\"var(--tcb-skin-color-0)\"}},\"gradients\":[]}}]}__CONFIG_colors_palette__<\/div>\n\t<a href=\"https:\/\/www.overtsoftware.id\/index.php\/contact\/\" class=\"tcb-button-link tcb-plain-text tve_evt_manager_listen tve_et_click\" data-tcb-events=\"__TCB_EVENT_[{&quot;config&quot;:{&quot;l_anim&quot;:&quot;instant&quot;,&quot;l_id&quot;:&quot;2620&quot;},&quot;a&quot;:&quot;thrive_lightbox&quot;,&quot;t&quot;:&quot;click&quot;}]_TNEVE_BCT__\" target=\"_blank\">\n\t\t<span class=\"tcb-button-texts\"><span class=\"tcb-button-text thrv-inline-text\">Click Here Now<\/span><\/span>\n\t<\/a>\n<\/div>","tve_custom_css":"@media (min-width: 300px){.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper { width: calc(50% - 10px); }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(n+3) { margin-top: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(n+3)) { margin-top: 0px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(2n)) { margin-right: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(2n) { margin-right: 0px !important; }[data-css=\"tve-u-1932982ff2e\"] { font-size: var(--tve-font-size,16px); --tve-font-size: 16px; color: var(--tve-color,rgb(85,85,85)); --tve-color: rgb(85,85,85); --tcb-applied-color: rgb(85,85,85); line-height: var(--tve-line-height,1.6em); --tve-line-height: 1.6em; padding: 8px !important; }[data-css=\"tve-u-1932982ff2e\"].tve-state-expanded { color: var(--tve-color,rgb(255,255,255)); --tve-color: rgb(255,255,255); --tcb-applied-color: rgb(255,255,255); background-image: linear-gradient(var(--tcb-local-color-4204a),var(--tcb-local-color-4204a)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-1932982ff2e\"]:hover { background-image: linear-gradient(var(--tcb-local-color-ea1e7),var(--tcb-local-color-ea1e7)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; color: var(--tve-color,var(--tcb-local-color-4204a)) !important; --tve-color: var(--tcb-local-color-4204a) !important; --tcb-applied-color: var$(--tcb-local-color-4204a) !important; }[data-css=\"tve-u-17399fecc2c\"] { padding: 0px !important; }[data-css=\"tve-u-173dc8687ce\"] { padding: 0px !important; }[data-css=\"tve-u-173dc86929b\"] { padding: 0px !important; }[data-css=\"tve-u-1932e885dc9\"] { --tve-toc-indent: 20px; max-width: 1000px; float: none; padding: 15px !important; margin-left: auto !important; margin-right: auto !important; --tcb-local-color-4204a: var(--tcb-skin-color-0) !important; --tcb-local-color-ea1e7: rgba(214,93,0,0.08) !important; --tve-applied-max-width: 1000px !important; }[data-css=\"tve-u-1932e885dcb\"] { box-shadow: rgba(0, 0, 0, 0.08) 0px 5px 12px 1px; overflow: hidden; border-radius: 0px !important; background-image: linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255)) !important; border-top: none !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-1932e885dcc\"] { padding: 12px 5px !important; margin-bottom: -1px !important; margin-top: 0px !important; }:not(#tve) [data-css=\"tve-u-1932e885dcc\"] > .tve-content-box-background { background-color: rgb(244, 244, 244) !important; --tve-applied-background-color: rgb(244,244,244) !important; }[data-css=\"tve-u-1932e885dcc\"] .tve-toc-title-icon { font-size: 16px !important; width: 16px !important; height: 16px !important; }:not(#tve) [data-css=\"tve-u-1932e885dce\"] { letter-spacing: 2px; text-transform: uppercase !important; font-size: 13px !important; color: rgb(0, 0, 0) !important; --tcb-applied-color: rgb(0,0,0) !important; --tve-applied-color: rgb(0,0,0) !important; }[data-css=\"tve-u-1932e885dcf\"] { float: none; width: 40px; z-index: 3; position: relative; margin: 0px auto 5px !important; padding: 0px !important; }[data-css=\"tve-u-1932e885dd0\"] { border-top: 2px solid var(--tcb-local-color-4204a) !important; border-bottom: none !important; }[data-css=\"tve-u-1932e885dd2\"] { padding: 0px !important; margin-top: 0px !important; margin-bottom: 10px !important; }[data-css=\"tve-u-1932e885dd3\"] { overflow: hidden; border-radius: 15px !important; }:not(#tve) [data-css=\"tve-u-1932e885dd3\"] { background-image: none !important; }[data-css=\"tve-u-1932e885dd4\"] { font-size: var(--tve-font-size,16px); --tve-font-size: 16px; color: var(--tve-color,rgb(85,85,85)); --tve-color: rgb(85,85,85); --tcb-applied-color: rgb(85,85,85); line-height: var(--tve-line-height,1.6em); --tve-line-height: 1.6em; padding: 8px !important; }[data-css=\"tve-u-1932e885dd4\"].tve-state-expanded { color: var(--tve-color,rgb(255,255,255)); --tve-color: rgb(255,255,255); --tcb-applied-color: rgb(255,255,255); background-image: linear-gradient(var(--tcb-local-color-4204a),var(--tcb-local-color-4204a)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-1932e885dd4\"]:hover { color: var(--tve-color,var(--tcb-local-color-4204a)) !important; --tve-color: var(--tcb-local-color-4204a) !important; --tcb-applied-color: var$(--tcb-local-color-4204a) !important; background-image: linear-gradient(var(--tcb-local-color-ea1e7),var(--tcb-local-color-ea1e7)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-1932e885dd7\"] { font-size: var(--tve-font-size,16px); --tve-font-size: 16px; color: var(--tve-color,rgb(85,85,85)); --tve-color: rgb(85,85,85); --tcb-applied-color: rgb(85,85,85); line-height: var(--tve-line-height,1.6em); --tve-line-height: 1.6em; padding: 8px !important; }[data-css=\"tve-u-1932e885dd7\"].tve-state-expanded { color: var(--tve-color,rgb(255,255,255)); --tve-color: rgb(255,255,255); --tcb-applied-color: rgb(255,255,255); background-image: linear-gradient(var(--tcb-local-color-4204a),var(--tcb-local-color-4204a)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-1932e885dd7\"]:hover { color: var(--tve-color,var(--tcb-local-color-4204a)) !important; --tve-color: var(--tcb-local-color-4204a) !important; --tcb-applied-color: var$(--tcb-local-color-4204a) !important; background-image: linear-gradient(var(--tcb-local-color-ea1e7),var(--tcb-local-color-ea1e7)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-1932e885de0\"] { width: 100%; --tve-border-width: 1px; border: 1px solid rgb(106, 107, 108); --tve-applied-border: 1px solid rgb(106,107,108); --tve-alignment: center; float: none; margin-left: auto !important; margin-right: auto !important; }[data-css=\"tve-u-1932e885de2\"] { --tve-alignment: center; float: none; padding: 15px !important; margin-left: auto !important; margin-right: auto !important; }[data-css=\"tve-u-1932e885de3\"] { border-radius: 20px; box-shadow: rgba(21, 69, 94, 0.22) 0px 0px 27px 0px; background-color: rgba(0, 169, 230, 0) !important; border-right: none !important; border-left: none !important; border-image: initial !important; }:not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] p, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] li, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] blockquote, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] address, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] .tcb-plain-text, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] label, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] h1, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] h2, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] h3, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] h4, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] h5, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de5\"] h6 { color: var(--tve-color,rgb(0,0,0)); --tve-applied-color: var$(--tve-color,rgb(0,0,0)); --tcb-applied-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885de5\"] { --tve-color: rgb(0,0,0); --tve-applied---tve-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885de6\"] { padding: 15px 15px 177px !important; }[data-css=\"tve-u-1932e885de8\"] { border-radius: 20px; box-shadow: rgba(21, 69, 94, 0.22) 0px 0px 27px 0px; background-color: rgba(0, 169, 230, 0) !important; border-right: none !important; border-left: none !important; border-image: initial !important; }:not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] p, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] li, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] blockquote, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] address, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] .tcb-plain-text, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] label, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] h1, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] h2, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] h3, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] h4, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] h5, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885de9\"] h6 { color: var(--tve-color,rgb(0,0,0)); --tve-applied-color: var$(--tve-color,rgb(0,0,0)); --tcb-applied-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885de9\"] { --tve-color: rgb(0,0,0); --tve-applied---tve-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885deb\"] { padding: 15px !important; }[data-css=\"tve-u-1932e885dec\"] { border-radius: 20px; box-shadow: rgba(21, 69, 94, 0.22) 0px 0px 27px 0px; background-color: rgba(0, 169, 230, 0) !important; border-right: none !important; border-left: none !important; border-image: initial !important; }:not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] p, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] li, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] blockquote, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] address, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] .tcb-plain-text, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] label, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] h1, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] h2, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] h3, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] h4, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] h5, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885dee\"] h6 { color: var(--tve-color,rgb(0,0,0)); --tve-applied-color: var$(--tve-color,rgb(0,0,0)); --tcb-applied-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885dee\"] { --tve-color: rgb(0,0,0); --tve-applied---tve-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885df0\"] { padding: 15px 15px 20px !important; }[data-css=\"tve-u-1932e885df1\"] { border-radius: 20px; box-shadow: rgba(21, 69, 94, 0.22) 0px 0px 27px 0px; background-color: rgba(0, 169, 230, 0) !important; border-right: none !important; border-left: none !important; border-image: initial !important; }:not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] p, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] li, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] blockquote, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] address, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] .tcb-plain-text, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] label, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] h1, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] h2, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] h3, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] h4, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] h5, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df3\"] h6 { color: var(--tve-color,rgb(0,0,0)); --tve-applied-color: var$(--tve-color,rgb(0,0,0)); --tcb-applied-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885df3\"] { --tve-color: rgb(0,0,0); --tve-applied---tve-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885df4\"] { padding: 15px 15px 79px !important; }[data-css=\"tve-u-1932e885df6\"] { border-radius: 20px; box-shadow: rgba(21, 69, 94, 0.22) 0px 0px 27px 0px; background-color: rgba(0, 169, 230, 0) !important; border-right: none !important; border-left: none !important; border-image: initial !important; }:not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] p, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] li, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] blockquote, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] address, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] .tcb-plain-text, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] label, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] h1, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] h2, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] h3, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] h4, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] h5, :not(#tve) .thrv-content-box [data-css=\"tve-u-1932e885df7\"] h6 { color: var(--tve-color,rgb(0,0,0)); --tve-applied-color: var$(--tve-color,rgb(0,0,0)); --tcb-applied-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885df7\"] { --tve-color: rgb(0,0,0); --tve-applied---tve-color: rgb(0,0,0); }[data-css=\"tve-u-1932e885df9\"] .tcb-button-link { letter-spacing: 2px; background-image: linear-gradient(var(--tcb-local-color-62516,rgb(19,114,211)),var(--tcb-local-color-62516,rgb(19,114,211))); --tve-applied-background-image: linear-gradient(var$(--tcb-local-color-62516,rgb(19,114,211)),var$(--tcb-local-color-62516,rgb(19,114,211))); background-size: auto; background-attachment: scroll; border-radius: 5px; padding: 18px; background-position: 50% 50%; background-repeat: no-repeat; background-color: transparent !important; }[data-css=\"tve-u-1932e885df9\"] .tcb-button-link span { color: rgb(255, 255, 255); --tcb-applied-color: #fff; }[data-css=\"tve-u-1932e885df9\"] { --tcb-local-color-62516: var(--tcb-skin-color-0) !important; min-width: 100% !important; }}@media (max-width: 1023px){.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper { width: calc(50% - 10px); }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(n+3) { margin-top: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(n+3)) { margin-top: 0px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(2n)) { margin-right: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(2n) { margin-right: 0px !important; }}@media (max-width: 767px){[data-css=\"tve-u-1932982ff2e\"] { font-size: var(--tve-font-size,15px); --tve-font-size: 15px; padding: 7px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper { width: calc(100% + 0px); }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(n+2) { margin-top: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(n+2)) { margin-top: 0px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(n)) { margin-right: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(n) { margin-right: 0px !important; }[data-css=\"tve-u-1932e885dc9\"] { padding: 10px 10px 20px !important; }[data-css=\"tve-u-1932e885dd4\"] { font-size: var(--tve-font-size,15px); --tve-font-size: 15px; padding: 7px !important; }[data-css=\"tve-u-1932e885dd7\"] { font-size: var(--tve-font-size,15px); --tve-font-size: 15px; padding: 7px !important; }[data-css=\"tve-u-1932e885de3\"] { border-radius: 10px; border-width: initial !important; border-style: none !important; border-color: initial !important; }[data-css=\"tve-u-1932e885de8\"] { border-radius: 10px; border-width: initial !important; border-style: none !important; border-color: initial !important; }[data-css=\"tve-u-1932e885dec\"] { border-radius: 10px; border-width: initial !important; border-style: none !important; border-color: initial !important; }[data-css=\"tve-u-1932e885df1\"] { border-radius: 10px; border-width: initial !important; border-style: none !important; border-color: initial !important; }[data-css=\"tve-u-1932e885df6\"] { border-radius: 10px; border-width: initial !important; border-style: none !important; border-color: initial !important; }}","tve_user_custom_css":"","tve_globals":{"e":"1","font_cls":[]},"tcb2_ready":1,"tcb_editor_enabled":1,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[33,32],"tags":[],"class_list":["post-2615","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lms-solutions","category-sso-solutions","post-wrapper","thrv_wrapper"],"_links":{"self":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts\/2615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/comments?post=2615"}],"version-history":[{"count":7,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts\/2615\/revisions"}],"predecessor-version":[{"id":2628,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts\/2615\/revisions\/2628"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/media\/2627"}],"wp:attachment":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/media?parent=2615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/categories?post=2615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/tags?post=2615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}