{"id":745,"date":"2023-02-17T22:28:00","date_gmt":"2023-02-17T22:28:00","guid":{"rendered":"https:\/\/dab.solutions\/?p=745"},"modified":"2024-04-06T21:18:48","modified_gmt":"2024-04-06T21:18:48","slug":"how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab","status":"publish","type":"post","link":"https:\/\/dab.solutions\/es\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/","title":{"rendered":"C\u00f3mo actualizar de dhis2-tools-ng a dhis2-tools-dab"},"content":{"rendered":"<p>We have previously <a href=\"https:\/\/dab.solutions\/es\/presenting-dhis2-tools-dab-an-improved-dhis2-infrastructure-management-platform\/\" target=\"_blank\" rel=\"noreferrer noopener\">introduced dhis2-tools-dab to the world<\/a>, but many of you are wondering: how to I upgrade from the current dhis2-tools-ng to the new management system?<\/p>\n\n\n\n<p>This article explains how you can <strong>seamlessly upgrade<\/strong> your dhis-tools setup to utilise the new features provided by the new suite of tools.<\/p>\n\n\n\n\n<div class=\"text-content-inner\">\n<p>Before upgrading, it\u2019s good practice to make a backup of your current containers so in case something goes wrong you can easily restore them.<\/p>\n<div class=\"text-content-inner\">\n<p>There are plenty of how to perform a backup and restore of LXD containers (like <a href=\"https:\/\/www.cyberciti.biz\/faq\/how-to-backup-and-restore-lxd-containers\/\" target=\"_blank\" rel=\"noreferrer noopener\">this one<\/a>). In general, you have to:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Backup LXD init information<\/li>\n\n\n\n<li>Backup all containers<\/li>\n\n\n\n<li>Backup LXD snap directories<\/li>\n<\/ul>\n<div class=\"text-content-inner\">\n<p>There is no need to backup DHIS2 specific files since both dhis2-tools can easily restore them via <code>install_scripts.sh<\/code> script: just run it within each other\u2019s setup directory and you will be good to go.<br>To be extra careful, we recommend to save all the backups in a different server in case of an emergency situation.<\/p>\n<\/div><\/div><\/div>\n\n<div class=\"text-content-inner\"><div class=\"text-content-inner\">\n<p id=\"b6cd\">The upgrade process will:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Update LXD from version 4.0 to version 5.0 stable<\/li>\n\n\n\n<li>Install the new scripts (under <code>\/usr\/local\/bin<\/code>)<\/li>\n\n\n\n<li>Check for containers in <code>\/usr\/local\/etc\/dhis\/containers.json<\/code> and create them if not present on the system<\/li>\n<\/ul>\n<\/div><div class=\"text-content-inner\">\n<p>To start the upgrade process you need just two simple steps. Please note that <strong>no downtime is expected when upgrading<\/strong>.<\/p>\n<\/div><div class=\"text-content-inner\"><div class=\"text-content-inner\">\n<ol class=\"wp-block-list\">\n<li>Download <em>dhis2-tools-dab<\/em><\/li>\n<\/ol>\n\n<pre class=\"wp-block-code\"><code><code>dab@battlechine:~$ git clone https:\/\/github.com\/davinerd\/dhis2-tools-dab.git\ndab@battlechine:~$ cd dhis2-tools-dab\/setup<\/code><\/code><\/pre>\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Run the <code>lxd_setup.sh<\/code> script (assuming defaults in <code>parse_config.sh<\/code> ):<\/li>\n<\/ol>\n\n<pre class=\"wp-block-code\"><code>dab@battlechine:~\/dhis2-tools-dab\/setup$ sudo .\/lxd_setup.sh\n&#91;sudo] password for dab: \n&#91;2023-02-14 13:40:37] &#91;INFO] &#91;lxd_setup.sh] Updating local machine\nHit:1 http:\/\/es.archive.ubuntu.com\/ubuntu jammy InRelease\nHit:2 http:\/\/packages.microsoft.com\/repos\/code stable InRelease                                                                                                                              \nGet:3 http:\/\/es.archive.ubuntu.com\/ubuntu jammy-updates InRelease &#91;119 kB]                                                                                                                   \nHit:4 https:\/\/repo.protonvpn.com\/debian stable InRelease                                                                                                                                     \nHit:5 https:\/\/dl.google.com\/linux\/chrome\/deb stable InRelease                                                                                                                                \nGet:6 http:\/\/es.archive.ubuntu.com\/ubuntu jammy-backports InRelease &#91;107 kB]                                                           \nGet:7 http:\/\/security.ubuntu.com\/ubuntu jammy-security InRelease &#91;110 kB]                                                                        \nHit:9 https:\/\/updates.signal.org\/desktop\/apt xenial InRelease                                                                                                            \nHit:10 https:\/\/apt.syncthing.net syncthing InRelease                                                                                                                                        \nGet:8 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial InRelease &#91;8.993 B]                    \nErr:8 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial InRelease\n  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B53DC80D13EDEF05\nGet:12 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/main amd64 DEP-11 Metadata &#91;41,4 kB]\nGet:13 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/universe amd64 DEP-11 Metadata &#91;13,3 kB]          \nHit:11 https:\/\/packagecloud.io\/slacktechnologies\/slack\/debian jessie InRelease\nFetched 400 kB in 2s (165 kB\/s)\nReading package lists... Done\nW: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https:\/\/packages.cloud.google.com\/apt kubernetes-xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B53DC80D13EDEF05\nW: https:\/\/packagecloud.io\/slacktechnologies\/slack\/debian\/dists\/jessie\/InRelease: Key is stored in legacy trusted.gpg keyring (\/etc\/apt\/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.\nW: Failed to fetch https:\/\/apt.kubernetes.io\/dists\/kubernetes-xenial\/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B53DC80D13EDEF05\nW: Some index files failed to download. They have been ignored, or old ones used instead.\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nCalculating upgrade... Done\nThe following packages were automatically installed and are no longer required:\n  libllvm13 linux-tools-common\nUse 'sudo apt autoremove' to remove them.\nThe following packages have been kept back:\n  alsa-ucm-conf python3-software-properties software-properties-common software-properties-gtk ubuntu-advantage-tools update-notifier update-notifier-common\n0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.\n&#91;2023-02-14 13:40:47] &#91;INFO] &#91;lxd_setup.sh] Installing\/Updating lxd to 5.0\/stable\n2023-02-14T13:41:17+01:00 INFO Waiting for \"snap.lxd.daemon.service\" to stop.\nlxd (5.0\/stable) 5.0.2-838e1b2 from Canonical\u2713 refreshed\n&#91;2023-02-14 13:41:30] &#91;INFO] &#91;lxd_setup.sh] Initializing lxd\nSkipping adding existing rule\nSkipping adding existing rule (v6)\nSkipping adding existing rule\nSkipping adding existing rule (v6)\nSkipping adding existing rule\nSkipping adding existing rule (v6)\nSkipping adding existing rule\nSkipping adding existing rule (v6)\nInstalling service scripts\nDHIS2 cron already exists\nInstalling new configuration files\n'etc\/dhis2-env' -&gt; '\/usr\/local\/etc\/dhis\/dhis2-env'\n'etc\/filebeat.yml' -&gt; '\/usr\/local\/etc\/dhis\/filebeat.yml'\n'etc\/log4j2-file.xml' -&gt; '\/usr\/local\/etc\/dhis\/log4j2-file.xml'\n'etc\/log4j2.xml' -&gt; '\/usr\/local\/etc\/dhis\/log4j2.xml'\n'etc\/proxy_params' -&gt; '\/usr\/local\/etc\/dhis\/proxy_params'\n'etc\/s3cfg' -&gt; '\/usr\/local\/etc\/dhis\/s3cfg'\n'etc\/tomcat_default' -&gt; '\/usr\/local\/etc\/dhis\/tomcat_default'\n'etc\/tomcat_setup' -&gt; '\/usr\/local\/etc\/dhis\/tomcat_setup'\n'etc\/tomcat-users.xml' -&gt; '\/usr\/local\/etc\/dhis\/tomcat-users.xml'\nCredentials file already exists, not over-writing\ncontainers.json already exists, not over-writing\nDone\nSkipping adding existing rule\nSkipping adding existing rule (v6)\nSkipping adding existing rule\nSkipping adding existing rule (v6)\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nauditd is already the newest version (1:3.0.7-1build1).\njq is already the newest version (1.6-2.1ubuntu3).\napache2-utils is already the newest version (2.4.52-1ubuntu4.3).\nunzip is already the newest version (6.0-26ubuntu3.1).\nThe following packages were automatically installed and are no longer required:\n  libllvm13 linux-tools-common\nUse 'sudo apt autoremove' to remove them.\n0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.\n&#91;2023-02-14 13:41:35] &#91;WARN] &#91;lxd_setup.sh] Container proxy already exist, skipping\n&#91;2023-02-14 13:41:35] &#91;WARN] &#91;lxd_setup.sh] Container postgres already exist, skipping\n&#91;2023-02-14 13:41:36] &#91;WARN] &#91;lxd_setup.sh] Container monitor already exist, skipping\n&#91;2023-02-14 13:41:36] &#91;INFO] &#91;lxd_setup.sh] Adding containers to monitor...\n&#91;2023-02-14 13:41:36] &#91;INFO] &#91;lxd_setup.sh] Installing munin into container 'proxy'\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nmunin-node is already the newest version (2.0.56-1ubuntu1).\nThe following package was automatically installed and is no longer required:\n  libfreetype6\nUse 'apt autoremove' to remove it.\n0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.\nSkipping adding existing rule\n&#91;2023-02-14 13:41:38] &#91;WARN] &#91;lxd_setup.sh] Container proxy already added to monitor. Skipping\n&#91;2023-02-14 13:41:38] &#91;INFO] &#91;lxd_setup.sh] Installing munin into container 'postgres'\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nmunin-node is already the newest version (2.0.56-1ubuntu1).\n0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.\nSkipping adding existing rule\n&#91;2023-02-14 13:41:41] &#91;WARN] &#91;lxd_setup.sh] Container postgres already added to monitor. Skipping\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nmunin-node is already the newest version (2.0.57-1ubuntu2).\nThe following packages were automatically installed and are no longer required:\n  libllvm13 linux-tools-common\nUse 'sudo apt autoremove' to remove them.\n0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.\ndab@battlechine:~\/dhis2-tools-dab\/setup$<\/code><\/pre>\n<\/div><div class=\"text-content-inner\">\n<p>That\u2019s it! You have successfully upgraded to <em>dhis2-tools-dab<\/em>.<br>To verify:<\/p>\n<\/div>\n<pre class=\"wp-block-code\"><code>dab@battlechine:~\/dhis2-tools-dab\/setup$ lxc --vesion\n5.0.2\ndab@battlechine:~\/dhis2-tools-dab\/setup$ lxc list\n+----------+---------+---------------------+------+-----------+-----------+\n|   NAME   |  STATE  |        IPV4         | IPV6 |   TYPE    | SNAPSHOTS |\n+----------+---------+---------------------+------+-----------+-----------+\n| monitor  | RUNNING | 192.168.0.30 (eth0) |      | CONTAINER | 0         |\n+----------+---------+---------------------+------+-----------+-----------+\n| postgres | RUNNING | 192.168.0.20 (eth0) |      | CONTAINER | 0         |\n+----------+---------+---------------------+------+-----------+-----------+\n| proxy    | RUNNING | 192.168.0.2 (eth0)  |      | CONTAINER | 0         |\n+----------+---------+---------------------+------+-----------+-----------+<\/code><\/pre>\n<div class=\"text-content-inner\">\n<p id=\"9e3d\">After you\u2019ve upgraded, you can now take advantage of the new features.<\/p>\n\n<p id=\"6fef\">First, you may want to start securing your services.<\/p>\n\n<p id=\"914f\"><strong>By default, with dhis2-tools-ng, <em>munin<\/em> y <em>glowroot<\/em> are installed without authentication: this means both services are exposed publicly to the internet for anyone to access.<\/strong><\/p>\n\n<p id=\"24eb\"><em>dhis2-tools-dab<\/em> has borrowed from SolidLines a tool called <code>dhis2-set-credential<\/code> and expanded it to be an easy credentials management tool.<\/p>\n\n<p id=\"651b\">To secure current <em>munin<\/em> installation:<\/p>\n<\/div>\n<pre class=\"wp-block-code\"><code>dab@battlechine:~\/dhis2-tools-dab\/setup$ sudo dhis2-set-credential munin monitor\n&#91;2023-02-14 13:43:13] &#91;INFO] &#91;dhis2-set-credential] Service munin found. Setting credentials\n==============================\nDo you want to add the password manually for the user admin in the service munin? (If not, password will be generated randomly)\n1) Yes\n2) No\n#? 2\nAdding password for user admin\nCredentials have been set                                                                  \n=========================\nService: monitor (munin)\nUsername: admin\nPassword: 948586b9ba9e5b24d62cbcc3a0ea5e1c0ad26ef1f9a41004\ndab@battlechine:~\/dhis2-tools-dab\/setup$<\/code><\/pre>\n\n<p>And here it is the result:<\/p>\n<div class=\"text-content-inner\">\n<p>To secure running <em>glowroot<\/em> installation on a DHIS2 instance called <code>testdev<\/code> we will use a very similar command but this time the service name will be <code>glowroot<\/code> :<\/p>\n\n<pre class=\"wp-block-code\"><code>dab@battlechine:~\/dhis2-tools-dab\/setup$ sudo dhis2-set-credential glowroot testdev\n&#91;2023-02-14 13:55:56] &#91;INFO] &#91;dhis2-set-credential] Service glowroot found. Setting credentials\n==============================\nDo you want to add the password manually for the user admin in the service glowroot? (If not, password will be generated randomly)\n1) Yes\n2) No\n#? 2\n--2023-02-14 13:55:57--  https:\/\/github.com\/glowroot\/glowroot\/releases\/download\/v0.13.6\/glowroot-central-0.13.6-dist.zip\nResolving github.com (github.com)... 140.82.121.3\nConnecting to github.com (github.com)|140.82.121.3|:443... connected.\nHTTP request sent, awaiting response... 302 Found\nLocation: https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/16336212\/40f7f480-5b29-11ea-937a-fecb3d456fb2?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230214%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230214T125558Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=d930680b96e5efcf2a1a3aca1f26500def56d81e414965dfe6950a9ef16c800d&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=16336212&amp;response-content-disposition=attachment%3B%20filename%3Dglowroot-central-0.13.6-dist.zip&amp;response-content-type=application%2Foctet-stream &#91;following]\n--2023-02-14 13:55:58--  https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/16336212\/40f7f480-5b29-11ea-937a-fecb3d456fb2?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230214%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230214T125558Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=d930680b96e5efcf2a1a3aca1f26500def56d81e414965dfe6950a9ef16c800d&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=16336212&amp;response-content-disposition=attachment%3B%20filename%3Dglowroot-central-0.13.6-dist.zip&amp;response-content-type=application%2Foctet-stream\nResolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.110.133, 185.199.111.133, ...\nConnecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 46193863 (44M) &#91;application\/octet-stream]\nSaving to: \u2018\/tmp\/tmp.7OwfqPfKDh\/glowroot-central-0.13.6-dist.zip\u2019\n\nglowroot-central-0.13.6-dist.zip                100%&#91;=====================================================================================================&gt;]  44.05M  4.83MB\/s    in 9.8s    \n\n2023-02-14 13:56:08 (4.50 MB\/s) - \u2018\/tmp\/tmp.7OwfqPfKDh\/glowroot-central-0.13.6-dist.zip\u2019 saved &#91;46193863\/46193863]\n\n&#91;2023-02-14 13:56:11] &#91;INFO] &#91;dhis2-set-credential] Glowroot credentials set. Restarting tomcat  \nCredentials have been set:\n=========================\nInstance: testdev\nService: testdev-glowroot\nUsername: admin\nPassword: b61f42699783a4c6eee444e99d5ea5450e34c8bfa85d0fd6\ndab@battlechine:~\/dhis2-tools-dab\/setup$<\/code><\/pre>\n<div class=\"text-content-inner\">\n<p id=\"2fe0\">Pointing to glowroot, it now asks for credentials:<\/p>\n<div class=\"text-content-inner\">\n<p>Default DHIS2 installation comes with a built in admin account with an hardcoded password ( <code>district<\/code>). <code>dhis2-set-credential<\/code> can be used to set a different, more robust DHIS2\u2019s admin password and can be scripted to rotate the password regularly:<\/p>\n\n<pre class=\"wp-block-code\"><code>$ sudo dhis2-set-credential dhis2-admin testdev\n&#91;2023-02-14 14:00:18] &#91;INFO] &#91;dhis2-set-credential] Service dhis2-admin found. Setting credentials\n==============================\nDo you want to add the password manually for the user admin in the service dhis2-admin? (If not, password will be generated randomly)\n1) Yes\n2) No\n#? 2\n{\"httpStatus\":\"OK\",\"httpStatusCode\":200,\"status\":\"OK\",\"response\":{\"responseType\":\"ImportReport\",\"status\":\"OK\",\"stats\":{\"created\":0,\"updated\":1,\"deleted\":0,\"ignored\":0,\"total\":1},\"typeReports\":&#91;{\"klass\":\"org.hisp.dhis.user.User\",\"stats\":{\"created\":0,\"updated\":1,\"deleted\":0,\"ignored\":0,\"total\":1},\"objectReports\":&#91;{\"klass\":\"org.hisp.dhis.user.User\",\"index\":0,\"uid\":\"M5zQapPyTZI\",\"errorReports\":&#91;]}]}]}} \n \nCredentials have been set:\n=========================\nInstance: testdev\nService: testdev-dhis2-admin\nUsername: admin\nPassword: 6fT8#t{tJ=D&lt;oG*!&gt;8ve7J%x\n$<\/code><\/pre>\n<div class=\"text-content-inner\">\n<p id=\"5dd9\">Now should not be able to login with the default <code>district<\/code> password and use the one reported above instead.<\/p>\n\n<p id=\"c20a\">For details on how the tool works and all its features, please refer to the <a href=\"https:\/\/github.com\/davinerd\/dhis2-tools-dab\/blob\/main\/docs\/service_scripts.md#dhis2-set-credential\" rel=\"noreferrer noopener\" target=\"_blank\">official documentation<\/a>.<\/p>\n\n<p id=\"5e91\">Please note that changing password for DHIS2 via <code>dhis2-set-credential <\/code>works for the first time only if the default admin password hasn\u2019t been changed. If you did, you have to save the new password into the <em>dhis2-tools-dab<\/em> keystore via the <code>save_creds<\/code> function within <code>libs.sh<\/code> file to being able to manage credentials with the tool:<\/p>\n\n<pre class=\"wp-block-code\"><code>dab@battlechine:~\/dhis2-tools-dab\/setup$ source libs.sh\ndab@battlechine:~\/dhis2-tools-dab\/setup$ save_creds '{\"service\":\"testdev-dhis2-admin\",\"username\":\"admin\",\"password\":\"very secure password!\"}'\ndab@battlechine:~\/dhis2-tools-dab\/setup$ sudo dhis2-set-credential dhis2-admin testdev\n&#91;2023-02-15 11:05:43] &#91;INFO] &#91;dhis2-set-credential] Service dhis2-admin found. Setting credentials\n==============================\nDo you want to add the password manually for the user admin in the service dhis2-admin? (If not, password will be generated randomly)\n1) Yes\n2) No\n#? 2\n{\"httpStatus\":\"OK\",\"httpStatusCode\":200,\"status\":\"OK\",\"response\":{\"responseType\":\"ImportReport\",\"status\":\"OK\",\"stats\":{\"created\":0,\"updated\":1,\"deleted\":0,\"ignored\":0,\"total\":1},\"typeReports\":&#91;{\"klass\":\"org.hisp.dhis.user.User\",\"stats\":{\"created\":0,\"updated\":1,\"deleted\":0,\"ignored\":0,\"total\":1},\"objectReports\":&#91;{\"klass\":\"org.hisp.dhis.user.User\",\"index\":0,\"uid\":\"M5zQapPyTZI\",\"errorReports\":&#91;]}]}]}} \n \nCredentials have been set:\n=========================\nInstance: testdev\nService: testdev-dhis2-admin\nUsername: admin\nPassword: #,y8f0?W_jnnyiI=LEZ&lt;BS2c\ndab@battlechine:~\/dhis2-tools-dab\/setup$<\/code><\/pre>\n<div class=\"text-content-inner\">\n<p>If you want to retrieve credentials for any service, you can do in two ways (in the following example we are retrieving <em>munin<\/em> credentials):<\/p>\n\n<pre class=\"wp-block-code\"><code># using get_creds\ndab@battlechine:~\/dhis2-tools-dab\/setup$ source libs.sh\ndab@battlechine:~\/dhis2-tools-dab\/setup$ get_creds \"munin\"\n{ \"service\": \"munin\", \"username\": \"admin\", \"password\": \"638f70dabb638aed8edb0d65\" }\n# using jq\ndab@battlechine:~\/dhis2-tools-dab\/setup$ sudo cat \/usr\/local\/etc\/dhis\/.credentials.json | jq -r '.credentials&#91;] | select(.service==\"munin\")'\n{\n  \"service\": \"munin\",\n  \"username\": \"admin\",\n  \"password\": \"638f70dabb638aed8edb0d65\"\n}\ndab@battlechine:~\/dhis2-tools-dab\/setup$<\/code><\/pre>\n<div class=\"text-content-inner\">\n<p id=\"07c9\">There are plenty of new features to discover. For details, please refer to the <a href=\"https:\/\/github.com\/davinerd\/dhis2-tools-dab\/blob\/main\/docs\/service_scripts.md\" rel=\"noreferrer noopener\" target=\"_blank\">extended services documentation<\/a>. We will add more information so it can become a useful reference.<\/p>\n\n<p id=\"dc7b\">We are also thinking about adding new features. Interested in helping us out? If so, <a href=\"https:\/\/github.com\/davinerd\/dhis2-tools-dab#how-to-contribute\" rel=\"noreferrer noopener\" target=\"_blank\">read the contributing section<\/a> and start giving your contribution!<\/p>\n\n<p id=\"324a\">Stay tuned for more in depths tutorials on <em>dhis2-tools-dab<\/em>.<\/p>\n\n<p id=\"b9da\">Need help with the migration? Contact us at info@dab.solutions and we will get in touch to support you in performing a safe migration.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Ya hemos presentado dhis2-tools-dab al mundo, pero muchos de vosotros os preguntar\u00e9is: \u00bfc\u00f3mo puedo actualizar el actual dhis2-tools-ng al nuevo sistema de gesti\u00f3n? Este art\u00edculo explica c\u00f3mo puede actualizar sin problemas su configuraci\u00f3n de dhis-tools para utilizar las nuevas funciones que ofrece el nuevo conjunto de herramientas.<\/p>","protected":false},"author":1,"featured_media":960,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[1],"tags":[11,13,12],"class_list":["post-745","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-dhis2","tag-healthcare","tag-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to upgrade from dhis2-tools-ng to dhis2-tools-dab<\/title>\n<meta name=\"description\" content=\"We have previously introduced dhis2-tools-dab to the world, but many of you are wondering: how to upgrade to the new management system?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dab.solutions\/es\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to upgrade from dhis2-tools-ng to dhis2-tools-dab\" \/>\n<meta property=\"og:description\" content=\"We have previously introduced dhis2-tools-dab to the world, but many of you are wondering: how to upgrade to the new management system?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dab.solutions\/es\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/\" \/>\n<meta property=\"og:site_name\" content=\"Dab Tech Solutions Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-17T22:28:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-06T21:18:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/02\/Diseno-sin-titulo-3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"dabsolutions\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"dabsolutions\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/\"},\"author\":{\"name\":\"dabsolutions\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/#\\\/schema\\\/person\\\/7b19c04dc229ac447b9a2f070949d984\"},\"headline\":\"How to upgrade from dhis2-tools-ng to dhis2-tools-dab\",\"datePublished\":\"2023-02-17T22:28:00+00:00\",\"dateModified\":\"2024-04-06T21:18:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/\"},\"wordCount\":602,\"publisher\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dab.solutions\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Diseno-sin-titulo-3.jpg\",\"keywords\":[\"dhis2\",\"healthcare\",\"tools\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/\",\"url\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/\",\"name\":\"How to upgrade from dhis2-tools-ng to dhis2-tools-dab\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dab.solutions\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Diseno-sin-titulo-3.jpg\",\"datePublished\":\"2023-02-17T22:28:00+00:00\",\"dateModified\":\"2024-04-06T21:18:48+00:00\",\"description\":\"We have previously introduced dhis2-tools-dab to the world, but many of you are wondering: how to upgrade to the new management system?\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/uncategorized\\\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dab.solutions\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Diseno-sin-titulo-3.jpg\",\"contentUrl\":\"https:\\\/\\\/dab.solutions\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/Diseno-sin-titulo-3.jpg\",\"width\":1200,\"height\":800,\"caption\":\"Data analytics center\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/#website\",\"url\":\"https:\\\/\\\/dab.solutions\\\/\",\"name\":\"Dab Tech Solutions Consulting\",\"description\":\"Dab Tech Solutions Consulting\",\"publisher\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dab.solutions\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/#organization\",\"name\":\"Dab Tech Solutions S.L.\",\"url\":\"https:\\\/\\\/dab.solutions\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dab.solutions\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logosolo.png\",\"contentUrl\":\"https:\\\/\\\/dab.solutions\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logosolo.png\",\"width\":698,\"height\":654,\"caption\":\"Dab Tech Solutions S.L.\"},\"image\":{\"@id\":\"https:\\\/\\\/dab.solutions\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dab.solutions\\\/#\\\/schema\\\/person\\\/7b19c04dc229ac447b9a2f070949d984\",\"name\":\"dabsolutions\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b06fa07023ea3b6ec9ab577bceaffada074106d36ec80b0c61b8b42b3fabde05?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b06fa07023ea3b6ec9ab577bceaffada074106d36ec80b0c61b8b42b3fabde05?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b06fa07023ea3b6ec9ab577bceaffada074106d36ec80b0c61b8b42b3fabde05?s=96&d=mm&r=g\",\"caption\":\"dabsolutions\"},\"sameAs\":[\"https:\\\/\\\/dab.solutions\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dab-tech-solutions\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo actualizar de dhis2-tools-ng a dhis2-tools-dab","description":"We have previously introduced dhis2-tools-dab to the world, but many of you are wondering: how to upgrade to the new management system?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dab.solutions\/es\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/","og_locale":"es_ES","og_type":"article","og_title":"How to upgrade from dhis2-tools-ng to dhis2-tools-dab","og_description":"We have previously introduced dhis2-tools-dab to the world, but many of you are wondering: how to upgrade to the new management system?","og_url":"https:\/\/dab.solutions\/es\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/","og_site_name":"Dab Tech Solutions Consulting","article_published_time":"2023-02-17T22:28:00+00:00","article_modified_time":"2024-04-06T21:18:48+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/02\/Diseno-sin-titulo-3.jpg","type":"image\/jpeg"}],"author":"dabsolutions","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"dabsolutions","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/#article","isPartOf":{"@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/"},"author":{"name":"dabsolutions","@id":"https:\/\/dab.solutions\/#\/schema\/person\/7b19c04dc229ac447b9a2f070949d984"},"headline":"How to upgrade from dhis2-tools-ng to dhis2-tools-dab","datePublished":"2023-02-17T22:28:00+00:00","dateModified":"2024-04-06T21:18:48+00:00","mainEntityOfPage":{"@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/"},"wordCount":602,"publisher":{"@id":"https:\/\/dab.solutions\/#organization"},"image":{"@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/#primaryimage"},"thumbnailUrl":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/02\/Diseno-sin-titulo-3.jpg","keywords":["dhis2","healthcare","tools"],"articleSection":["Uncategorized"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/","url":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/","name":"C\u00f3mo actualizar de dhis2-tools-ng a dhis2-tools-dab","isPartOf":{"@id":"https:\/\/dab.solutions\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/#primaryimage"},"image":{"@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/#primaryimage"},"thumbnailUrl":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/02\/Diseno-sin-titulo-3.jpg","datePublished":"2023-02-17T22:28:00+00:00","dateModified":"2024-04-06T21:18:48+00:00","description":"We have previously introduced dhis2-tools-dab to the world, but many of you are wondering: how to upgrade to the new management system?","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dab.solutions\/uncategorized\/how-to-upgrade-from-dhis2-tools-ng-to-dhis2-tools-dab\/#primaryimage","url":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/02\/Diseno-sin-titulo-3.jpg","contentUrl":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/02\/Diseno-sin-titulo-3.jpg","width":1200,"height":800,"caption":"Data analytics center"},{"@type":"WebSite","@id":"https:\/\/dab.solutions\/#website","url":"https:\/\/dab.solutions\/","name":"Dab Tech Solutions Consulting","description":"Dab Tech Solutions Consulting","publisher":{"@id":"https:\/\/dab.solutions\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dab.solutions\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/dab.solutions\/#organization","name":"Dab Tech Solutions S.L.","url":"https:\/\/dab.solutions\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dab.solutions\/#\/schema\/logo\/image\/","url":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/12\/logosolo.png","contentUrl":"https:\/\/dab.solutions\/wp-content\/uploads\/2023\/12\/logosolo.png","width":698,"height":654,"caption":"Dab Tech Solutions S.L."},"image":{"@id":"https:\/\/dab.solutions\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dab.solutions\/#\/schema\/person\/7b19c04dc229ac447b9a2f070949d984","name":"dabsolutions","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/b06fa07023ea3b6ec9ab577bceaffada074106d36ec80b0c61b8b42b3fabde05?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b06fa07023ea3b6ec9ab577bceaffada074106d36ec80b0c61b8b42b3fabde05?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b06fa07023ea3b6ec9ab577bceaffada074106d36ec80b0c61b8b42b3fabde05?s=96&d=mm&r=g","caption":"dabsolutions"},"sameAs":["https:\/\/dab.solutions","https:\/\/www.linkedin.com\/company\/dab-tech-solutions\/"]}]}},"_links":{"self":[{"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/posts\/745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/comments?post=745"}],"version-history":[{"count":4,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/posts\/745\/revisions"}],"predecessor-version":[{"id":1432,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/posts\/745\/revisions\/1432"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/media\/960"}],"wp:attachment":[{"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/media?parent=745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/categories?post=745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dab.solutions\/es\/wp-json\/wp\/v2\/tags?post=745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}