{"id":11719,"date":"2026-06-26T16:58:28","date_gmt":"2026-06-26T08:58:28","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/"},"modified":"2026-07-26T19:58:21","modified_gmt":"2026-07-26T11:58:21","slug":"from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/","title":{"rendered":"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs"},"content":{"rendered":"<h2 data-nodeid=\"6661\">Gi\u1edbi thi\u1ec7u<\/h2>\n<p data-nodeid=\"6662\">Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng b\u1ecb ch\u1eadm tr\u1ec5 so v\u1edbi m\u00e3 ngu\u1ed3n. C\u00e1c k\u1ef9 s\u01b0 d\u00e0nh h\u00e0ng gi\u1edd \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, trong khi c\u00e1c nh\u00e0 vi\u1ebft k\u1ef9 thu\u1eadt ph\u1ea3i v\u1eadt l\u1ed9n \u0111\u1ec3 c\u1eadp nh\u1eadt h\u00ecnh \u1ea3nh trong c\u00e1c t\u00e0i li\u1ec7u t\u0129nh. K\u1ebft qu\u1ea3 l\u00e0? C\u00e1c s\u01a1 \u0111\u1ed3 l\u1ed7i th\u1eddi, c\u00e1c li\u00ean k\u1ebft h\u1ecfng v\u00e0 m\u1ed9t c\u01a1 s\u1edf tri th\u1ee9c kh\u00f4ng ph\u1ea3n \u00e1nh \u0111\u00fang th\u1ef1c t\u1ebf.<\/p>\n<p data-nodeid=\"6663\">H\u00e3y c\u00f9ng kh\u00e1m ph\u00e1\u00a0<strong data-nodeid=\"6759\">VPasCode<\/strong>\u00a0v\u00e0\u00a0<strong data-nodeid=\"6760\">OpenDocs<\/strong>, hai c\u00f4ng c\u1ee5 m\u1ea1nh m\u1ebd t\u1eeb Visual Paradigm \u0111ang thay \u0111\u1ed5i ho\u00e0n to\u00e0n tr\u00f2 ch\u01a1i. VPasCode cho ph\u00e9p b\u1ea1n t\u1ea1o ra c\u00e1c s\u01a1 \u0111\u1ed3 phong ph\u00fa, chuy\u00ean nghi\u1ec7p b\u1eb1ng c\u00fa ph\u00e1p v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n (nh\u01b0 PlantUML ho\u1eb7c Mermaid), trong khi OpenDocs ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t n\u1ec1n t\u1ea3ng qu\u1ea3n l\u00fd tri th\u1ee9c \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi AI. \u0110i\u1ec1u k\u1ef3 di\u1ec7u x\u1ea3y ra khi b\u1ea1n k\u1ebft n\u1ed1i ch\u00fang: v\u1edbi t\u00ednh n\u0103ng m\u1edbi\u00a0<strong data-nodeid=\"6761\">T\u00edch h\u1ee3p \u1ed0ng d\u1eabn VPasCode sang OpenDocs<\/strong>, b\u1ea1n c\u00f3 th\u1ec3 g\u1eedi s\u01a1 \u0111\u1ed3 tr\u1ef1c ti\u1ebfp t\u1eeb tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e3 ngu\u1ed3n c\u1ee7a m\u00ecnh v\u00e0o t\u00e0i li\u1ec7u ch\u1ec9 b\u1eb1ng m\u1ed9t c\u00fa nh\u1ea5p chu\u1ed9t. Kh\u00f4ng c\u00f2n c\u1ea7n xu\u1ea5t, t\u1ea3i xu\u1ed1ng hay t\u1ea3i l\u1ea1i l\u00ean n\u1eefa. B\u00e0i h\u01b0\u1edbng d\u1eabn n\u00e0y s\u1ebd d\u1eabn b\u1ea1n t\u1eebng b\u01b0\u1edbc thi\u1ebft l\u1eadp quy tr\u00ecnh n\u00e0y, t\u1ea1o ra c\u00e1c s\u01a1 \u0111\u1ed3 th\u1ef1c t\u1ebf v\u00e0 t\u1eadn d\u1ee5ng c\u00e1c t\u00ednh n\u0103ng AI \u0111\u1ec3 t\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh t\u00e0i li\u1ec7u h\u00f3a c\u1ee7a b\u1ea1n.<\/p>\n<hr data-nodeid=\"6664\"\/>\n<h2 data-nodeid=\"6665\">C\u00e0i \u0111\u1eb7t &amp; C\u00f4ng c\u1ee5: B\u1eaft \u0111\u1ea7u<\/h2>\n<p data-nodeid=\"6666\">Tr\u01b0\u1edbc khi b\u1eaft tay v\u00e0o t\u1ea1o s\u01a1 \u0111\u1ed3, h\u00e3y \u0111\u1ea3m b\u1ea3o b\u1ea1n c\u00f3 quy\u1ec1n truy c\u1eadp v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 c\u1ea7n thi\u1ebft.<\/p>\n<ol data-nodeid=\"6667\">\n<li data-nodeid=\"6668\">\n<p data-nodeid=\"6669\"><strong data-nodeid=\"6774\">VPasCode<\/strong>: Truy c\u1eadp\u00a0<a data-nodeid=\"6772\" href=\"https:\/\/www.vpascode.com\/\">VPasCode<\/a>\u00a0\u0111\u1ec3 b\u1eaft \u0111\u1ea7u t\u1ea1o h\u00ecnh \u1ea3nh t\u1eeb v\u0103n b\u1ea3n th\u00e0nh s\u01a1 \u0111\u1ed3. C\u00f4ng c\u1ee5 n\u00e0y h\u1ed7 tr\u1ee3 PlantUML, Mermaid.js v\u00e0 Graphviz.<\/p>\n<\/li>\n<li data-nodeid=\"6670\">\n<p data-nodeid=\"6671\"><strong data-nodeid=\"6783\">OpenDocs<\/strong>: \u0110i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn\u00a0<a data-nodeid=\"6781\" href=\"https:\/\/ai-toolbox.visual-paradigm.com\/app\/opendocs\/\">B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n OpenDocs<\/a>\u00a0\u0111\u1ec3 qu\u1ea3n l\u00fd c\u01a1 s\u1edf tri th\u1ee9c c\u1ee7a \u0111\u1ed9i nh\u00f3m b\u1ea1n.<\/p>\n<\/li>\n<li data-nodeid=\"6672\">\n<p data-nodeid=\"6673\"><strong data-nodeid=\"6788\">T\u00e0i kho\u1ea3n Visual Paradigm<\/strong>: \u0110\u1ea3m b\u1ea3o b\u1ea1n c\u00f3 t\u00e0i kho\u1ea3n \u0111ang ho\u1ea1t \u0111\u1ed9ng. Trong khi c\u00e1c g\u00f3i mi\u1ec5n ph\u00ed cung c\u1ea5p kh\u1ea3 n\u0103ng xem tr\u01b0\u1edbc th\u1eddi gian th\u1ef1c v\u00e0 xu\u1ea5t file, c\u00e1c phi\u00ean b\u1ea3n tr\u1ea3 ph\u00ed (Visual Paradigm Online Combo Edition ho\u1eb7c Desktop Professional Edition) s\u1ebd m\u1edf kh\u00f3a c\u00e1c t\u00ednh n\u0103ng AI n\u00e2ng cao nh\u01b0 s\u1eeda l\u1ed7i v\u00e0 d\u1ecbch thu\u1eadt.<\/p>\n<\/li>\n<\/ol>\n<h3 data-nodeid=\"6674\">K\u1ebft n\u1ed1i \u1ed0ng d\u1eabn<\/h3>\n<p data-nodeid=\"6675\">T\u00ednh n\u0103ng t\u00edch h\u1ee3p \u0111\u00e3 \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p s\u1eb5n, v\u00ec v\u1eady b\u1ea1n kh\u00f4ng c\u1ea7n c\u00e1c kh\u00f3a API ph\u1ee9c t\u1ea1p. Ch\u1ec9 c\u1ea7n \u0111\u0103ng nh\u1eadp v\u00e0o c\u1ea3 hai n\u1ec1n t\u1ea3ng b\u1eb1ng c\u00f9ng m\u1ed9t t\u00e0i kho\u1ea3n Visual Paradigm. Khi b\u1ea1n s\u1eb5n s\u00e0ng chia s\u1ebb m\u1ed9t s\u01a1 \u0111\u1ed3, n\u00fat &#8220;G\u1eedi \u0111\u1ebfn \u1ed0ng d\u1eabn OpenDocs&#8221; trong VPasCode s\u1ebd \u0111\u1ecbnh tuy\u1ebfn an to\u00e0n h\u00ecnh \u1ea3nh c\u1ee7a b\u1ea1n \u0111\u1ebfn kh\u00f4ng gian l\u00e0m vi\u1ec7c OpenDocs c\u1ee7a b\u1ea1n.<\/p>\n<p id=\"cJHLJQn\"><img alt=\"Seamless Diagramming with VPasCode and OpenDocs using Visual Paradigm\" class=\"alignnone wp-image-25192 size-full\" decoding=\"async\" height=\"928\" loading=\"lazy\" sizes=\"auto, (max-width: 1664px) 100vw, 1664px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png 1664w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18-300x167.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18-1030x574.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18-768x428.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18-1536x857.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18-150x84.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18-400x223.png 400w\" width=\"1664\"\/><\/p>\n<hr data-nodeid=\"6677\"\/>\n<h2 data-nodeid=\"6678\">S\u01a1 \u0111\u1ed3 nh\u01b0 M\u00e3 ngu\u1ed3n trong h\u00e0nh \u0111\u1ed9ng: C\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf<\/h2>\n<p data-nodeid=\"6679\">H\u00e3y c\u00f9ng kh\u00e1m ph\u00e1 c\u00e1ch t\u1ea1o c\u00e1c s\u01a1 \u0111\u1ed3 th\u1ef1c t\u1ebf b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng PlantUML trong VPasCode. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 ba t\u00ecnh hu\u1ed1ng ph\u1ed5 bi\u1ebfn: S\u01a1 \u0111\u1ed3 Th\u1ee9 t\u1ef1 cho t\u01b0\u01a1ng t\u00e1c API, S\u01a1 \u0111\u1ed3 Container C4 cho ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng v\u00e0 S\u01a1 \u0111\u1ed3 L\u1edbp cho m\u00f4 h\u00ecnh h\u00f3a d\u1eef li\u1ec7u.<\/p>\n<h3 data-nodeid=\"6680\">V\u00ed d\u1ee5 1: S\u01a1 \u0111\u1ed3 Th\u1ee9 t\u1ef1 cho X\u00e1c th\u1ef1c Ng\u01b0\u1eddi d\u00f9ng<\/h3>\n<p data-nodeid=\"6681\">H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng b\u1ea1n \u0111ang t\u00e0i li\u1ec7u h\u00f3a c\u00e1ch ng\u01b0\u1eddi d\u00f9ng \u0111\u0103ng nh\u1eadp v\u00e0o \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n. Thay v\u00ec v\u1ebd c\u00e1c h\u1ed9p v\u00e0 m\u0169i t\u00ean th\u1ee7 c\u00f4ng, h\u00e3y vi\u1ebft \u0111o\u1ea1n m\u00e3 PlantUML sau trong VPasCode:<\/p>\n<p id=\"MktjLGR\"><img alt=\"\" class=\"alignnone size-full wp-image-25189\" decoding=\"async\" height=\"867\" loading=\"lazy\" sizes=\"auto, (max-width: 1910px) 100vw, 1910px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101.png 1910w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101-300x136.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101-1030x468.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101-768x349.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101-1536x697.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3deb12101-400x182.png 400w\" width=\"1910\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#plantuml:NL0xJmCn3DuZvJzOjrViDw3s21rOUFGGivkpQDIGd1mVY7-F4-W9c2nzJzlR8iYol4Lh94WaU2x4i5laH4c2HmavmJxc3slGI-R6MpEhAVWmOnBezfoJK9fWDyyTO84By4zNK-50_1uyDLq5h9bGy8Y5e6lTRcYS6wonfY6RwpMnXrkT33TCKrqGOx5cxLTXZUpXuVummbNCho5PqsgLSaCFZmlnvyyDRe3DwdWYMJXzN-zqeOljJ_VTomXZFbFwtQcAwgeHKs3o0f8refoE6LbVi5ML_lSB\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:TP8nImCn68RtGFx3I_VYVeFKww4WMWKFT8rtfGcUkNAN4pgM3WvEnL54IYcuY0ekNWQ7A_qV-ISc1oqzYrEIxytxViyNqiaLorHncr2YX4hwE2cCVfG3N5Mp28eR_HcXDrXz6Fqi45VVSa09YrIQxLI7DaX4OiYaGileLniI6xsmov5WAM9XzBs4RBXQO3aEirIglep_H0H6FqGSTpPZcwQs71IAKn8pnQvPtaUhkveXD_h5TNn7ubeLVm1hN-1JGabJG7j_W-2XnqtvDaJ8goyhAI6nd2udTYjhWPBrLMTp61xEpov2x2NfG4XANCb9WUyXp8gHvIyNSkUn0X_jJK2OcNBk1XqZ-9T_7TsWFQtcEBuCjwcitZHwwF9YPFH4WhlwanrcEJNbZuHl-zOdst1Su8OBTusIZasoV-8N\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"6682\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ntitle Lu\u1ed3ng X\u00e1c th\u1ef1c Ng\u01b0\u1eddi d\u00f9ng\r\nactor Ng\u01b0\u1eddi d\u00f9ng\r\nparticipant \"\u1ee8ng d\u1ee5ng Giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng\" as Frontend\r\nparticipant \"D\u1ecbch v\u1ee5 X\u00e1c th\u1ef1c\" as Auth\r\ndatabase \"C\u01a1 s\u1edf d\u1eef li\u1ec7u Ng\u01b0\u1eddi d\u00f9ng\" as DB\r\n\r\nNg\u01b0\u1eddi d\u00f9ng -&gt; Frontend: Nh\u1eadp Th\u00f4ng tin \u0111\u0103ng nh\u1eadp\r\nFrontend -&gt; Auth: POST \/login\r\nAuth -&gt; DB: Truy v\u1ea5n Ng\u01b0\u1eddi d\u00f9ng\r\nDB --&gt; Auth: Tr\u1ea3 v\u1ec1 D\u1eef li\u1ec7u Ng\u01b0\u1eddi d\u00f9ng\r\nAuth --&gt; Frontend: M\u00e3 JWT\r\nFrontend --&gt; Ng\u01b0\u1eddi d\u00f9ng: Chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:TP8nImCn68RtGFx3I_VYVeFKww4WMWKFT8rtfGcUkNAN4pgM3WvEnL54IYcuY0ekNWQ7A_qV-ISc1oqzYrEIxytxViyNqiaLorHncr2YX4hwE2cCVfG3N5Mp28eR_HcXDrXz6Fqi45VVSa09YrIQxLI7DaX4OiYaGileLniI6xsmov5WAM9XzBs4RBXQO3aEirIglep_H0H6FqGSTpPZcwQs71IAKn8pnQvPtaUhkveXD_h5TNn7ubeLVm1hN-1JGabJG7j_W-2XnqtvDaJ8goyhAI6nd2udTYjhWPBrLMTp61xEpov2x2NfG4XANCb9WUyXp8gHvIyNSkUn0X_jJK2OcNBk1XqZ-9T_7TsWFQtcEBuCjwcitZHwwF9YPFH4WhlwanrcEJNbZuHl-zOdst1Su8OBTusIZasoV-8N\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#plantuml:NL0xJmCn3DuZvJzOjrViDw3s21rOUFGGivkpQDIGd1mVY7-F4-W9c2nzJzlR8iYol4Lh94WaU2x4i5laH4c2HmavmJxc3slGI-R6MpEhAVWmOnBezfoJK9fWDyyTO84By4zNK-50_1uyDLq5h9bGy8Y5e6lTRcYS6wonfY6RwpMnXrkT33TCKrqGOx5cxLTXZUpXuVummbNCho5PqsgLSaCFZmlnvyyDRe3DwdWYMJXzN-zqeOljJ_VTomXZFbFwtQcAwgeHKs3o0f8refoE6LbVi5ML_lSB\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"6683\">Sau khi \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb, nh\u1ea5n\u00a0<strong data-nodeid=\"6807\">\u201cG\u1eedi \u0111\u1ebfn Lu\u1ed3ng OpenDocs\u201d<\/strong>\u00a0\u0111\u1ec3 \u0111\u1ea9y s\u01a1 \u0111\u1ed3 n\u00e0y tr\u1ef1c ti\u1ebfp v\u00e0o t\u00e0i li\u1ec7u \u0111\u1eb7c t\u1ea3 k\u1ef9 thu\u1eadt c\u1ee7a b\u1ea1n.<\/p>\n<p data-nodeid=\"6684\"><img alt=\"This is a concept diagram that shows how user can edit PlantUML diagram in VPasCode and then send the diagram to OpenDocs for further documentation\" data-nodeid=\"6810\" decoding=\"async\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a311f74e0030.png\"\/><\/p>\n<h3 data-nodeid=\"6685\">V\u00ed d\u1ee5 2: S\u01a1 \u0111\u1ed3 Container C4 cho Microservices<\/h3>\n<p data-nodeid=\"6686\">\u0110\u1ed1i v\u1edbi ki\u1ebfn tr\u00fac c\u1ea5p cao, h\u00e3y s\u1eed d\u1ee5ng m\u00f4 h\u00ecnh C4. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 container \u0111\u01a1n gi\u1ea3n cho th\u1ea5y \u1ee9ng d\u1ee5ng web t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 ph\u00eda sau:<\/p>\n<p id=\"caaNVdh\"><img alt=\"\" class=\"alignnone size-full wp-image-25190\" decoding=\"async\" height=\"873\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5.png 1918w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5-300x137.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5-1030x469.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5-768x350.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5-1536x699.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e0cea2d5-400x182.png 400w\" width=\"1918\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#plantuml:RP91Jm8n48Nl9Fo7aTEQa73XQ0om7D1eH1RbI6Qx4smexQRJHOdnlpkp8CPWBsrcvhryRz8H9uofsRbkvyfwuvgAu2OV3lBXEWy-qKUw_R-3rbEKNhSpfyZ1PmrJx4ClRpY57SMUl5-O6D8RGV1Eng54lxL-0tpWHBlUjQgBzhsUXCPN60-PpeZqwQYOd1J5IG6VtGx8EHDaxrIkiQv5ig8IndNjhC5aWrU0UznZ7uewgiVZQwwrAJcx5sGmciydI06KdPNdhpVMLWJZ-Prmc2tvwi9p4aBIuWnzvIHisR0ecS65ZJKNZjCogqfbm8GbCgcqU7vehnIY62W9e36oZiGWhf0YUaQZaLh4BztQWjnfuR_vTTiweBrpzHWXH-SOzXPXjbpEYv-fjja2BGWh7goYJKUFaOILJ_4D\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:RL9DImCn4BqN-X_6dYe8lNWKgLt1-acrHRsLx6xO3LsJTJUf5l7iGGGzUX1RHV0Ywj46yR3I_v5_ucJzAjKSDfjvapTltgIQIf98jHSL2rECUv7oASmvinLdjkq8BkcXdFyV8OpJ1B5YeK6JLF2oIcao0wNLC1ju8OHPdmSbF3UDVW3Vw3iUG6Zq2KZyNk211zaD_ym3cHZzx85KFJDyuwLfIzlifPBkjMj2SPyalR9BU0VvwkCS6sCShGaEE2eM0DUFsF81TTiaZf74w7kyyQLgXxfMw0hfaXbenWd3sFgsOsEEmd_F3EzYu4PVCl3pG2XG_UZ9w2kCP2_OwFHaBH8pl5yZNeTo7nOQotzAr8IGDhXh3OgoLuX4m3peC1w2BmWF_v0kkcNVjQf60qYDlhODF4B4q16LMxsvPhUrqPFA7Nq4cVKPT49XXhTyGZ9qipu4Z0ZBSkhbrOwjxriq-fhbhrzZGxHvDkK7_EnqoUWp1lkAGBtLQZI_it8m5_r-ZXbUPPlXTAI5gsWClhiF\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"6687\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!include &lt;C4\/C4_Context&gt;\r\n!include &lt;C4\/C4_Container&gt;\r\n\r\nPerson(user, \"Kh\u00e1ch h\u00e0ng\", \"S\u1eed d\u1ee5ng h\u1ec7 th\u1ed1ng ng\u00e2n h\u00e0ng tr\u1ef1c tuy\u1ebfn\")\r\n\r\nSystem_Boundary(bank, \"H\u1ec7 th\u1ed1ng Ng\u00e2n h\u00e0ng Tr\u1ef1c tuy\u1ebfn\") {\r\n    Container(web_app, \"\u1ee8ng d\u1ee5ng Web\", \"Java, Spring MVC\", \"Cung c\u1ea5p n\u1ed9i dung cho ng\u01b0\u1eddi d\u00f9ng\")\r\n    Container(api, \"Backend API\", \"Java, Spring Boot\", \"X\u1eed l\u00fd logic kinh doanh\")\r\n    ContainerDb(db, \"C\u01a1 s\u1edf d\u1eef li\u1ec7u\", \"SQL\", \"L\u01b0u tr\u1eef t\u00e0i kho\u1ea3n ng\u01b0\u1eddi d\u00f9ng v\u00e0 giao d\u1ecbch\")\r\n}\r\n\r\nRel(user, web_app, \"S\u1eed d\u1ee5ng\")\r\nRel(web_app, api, \"G\u1ecdi qua HTTPS\")\r\nRel(api, db, \"\u0110\u1ecdc\/Vi\u1ebft\")\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:RL9DImCn4BqN-X_6dYe8lNWKgLt1-acrHRsLx6xO3LsJTJUf5l7iGGGzUX1RHV0Ywj46yR3I_v5_ucJzAjKSDfjvapTltgIQIf98jHSL2rECUv7oASmvinLdjkq8BkcXdFyV8OpJ1B5YeK6JLF2oIcao0wNLC1ju8OHPdmSbF3UDVW3Vw3iUG6Zq2KZyNk211zaD_ym3cHZzx85KFJDyuwLfIzlifPBkjMj2SPyalR9BU0VvwkCS6sCShGaEE2eM0DUFsF81TTiaZf74w7kyyQLgXxfMw0hfaXbenWd3sFgsOsEEmd_F3EzYu4PVCl3pG2XG_UZ9w2kCP2_OwFHaBH8pl5yZNeTo7nOQotzAr8IGDhXh3OgoLuX4m3peC1w2BmWF_v0kkcNVjQf60qYDlhODF4B4q16LMxsvPhUrqPFA7Nq4cVKPT49XXhTyGZ9qipu4Z0ZBSkhbrOwjxriq-fhbhrzZGxHvDkK7_EnqoUWp1lkAGBtLQZI_it8m5_r-ZXbUPPlXTAI5gsWClhiF\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#plantuml:RP91Jm8n48Nl9Fo7aTEQa73XQ0om7D1eH1RbI6Qx4smexQRJHOdnlpkp8CPWBsrcvhryRz8H9uofsRbkvyfwuvgAu2OV3lBXEWy-qKUw_R-3rbEKNhSpfyZ1PmrJx4ClRpY57SMUl5-O6D8RGV1Eng54lxL-0tpWHBlUjQgBzhsUXCPN60-PpeZqwQYOd1J5IG6VtGx8EHDaxrIkiQv5ig8IndNjhC5aWrU0UznZ7uewgiVZQwwrAJcx5sGmciydI06KdPNdhpVMLWJZ-Prmc2tvwi9p4aBIuWnzvIHisR0ecS65ZJKNZjCogqfbm8GbCgcqU7vehnIY62W9e36oZiGWhf0YUaQZaLh4BztQWjnfuR_vTTiweBrpzHWXH-SOzXPXjbpEYv-fjja2BGWh7goYJKUFaOILJ_4D\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"6688\">B\u1ea3n \u0111\u1ed3 h\u00ecnh \u1ea3nh n\u00e0y gi\u00fap c\u00e1c b\u00ean li\u00ean quan hi\u1ec3u r\u00f5 ranh gi\u1edbi h\u1ec7 th\u1ed1ng m\u00e0 kh\u00f4ng b\u1ecb sa \u0111\u00e0 v\u00e0o chi ti\u1ebft m\u00e3 ngu\u1ed3n.<\/p>\n<h3 data-nodeid=\"6689\">V\u00ed d\u1ee5 3: S\u01a1 \u0111\u1ed3 L\u1edbp cho Qu\u1ea3n l\u00fd S\u1ea3n ph\u1ea9m<\/h3>\n<p data-nodeid=\"6690\">N\u1ebfu b\u1ea1n \u0111ang m\u00f4 h\u00ecnh h\u00f3a m\u1ed9t danh m\u1ee5c s\u1ea3n ph\u1ea9m, s\u01a1 \u0111\u1ed3 l\u1edbp s\u1ebd l\u00e0m r\u00f5 c\u00e1c m\u1ed1i quan h\u1ec7 gi\u1eefa c\u00e1c th\u1ef1c th\u1ec3:<\/p>\n<p id=\"wTdcZvP\"><img alt=\"\" class=\"alignnone size-full wp-image-25191\" decoding=\"async\" height=\"868\" loading=\"lazy\" sizes=\"auto, (max-width: 1912px) 100vw, 1912px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009.png 1912w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009-300x136.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009-1030x468.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009-768x349.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009-1536x697.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3e2ade009-400x182.png 400w\" width=\"1912\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#plantuml:RP3F2i8m3CRlXRv3sCa_xE1rY0Zk8eWAFa7NXL7iMccpWuZlRkTQvyISmaVo-xvawqauwbhDcTJ2UpWxMtUIuC4PX5fUo2dJW14jHgMqNQKHRav9d0xvQnU51gb44ahxsPop9sS9lnE4ZNNtNxwC-d7qEIXFwnXd4-pUZP_GJgv6zq4fGs1xPL-dg84wI7ttbwi8smHDjsUh3F8SiaKsvYsWGcrDuu4iPuFnrrnQBK1Q4mutWRb5KuVFlW00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:SoWkIImgAStDuULApaaiBbO8VhXhSPv2GSR3NIjp5QfvkHI0G3kuf2WpBrsXvF2gFAY8ItvfKawgGdhcuOMeQd8FBmxs3eMAfQUME6TaXcIcbcXeydBLydB1R759pClmBKt6i20r3oe35VV9B2wnGNQIdK8nY1S0vg0OUMJ2iOLv7eSN08s1cPgPLwAGcUAId-UHc9SEStXYIQf2NdfY9Qem5ejo7-xQNW9H0hO69MIK39KKT7KLbBIKu7wnKYZ9A7suUsQoGjd3tOsyN4WEGbADOegLGdB6mzqh4tcv75BpKe2n0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"6691\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nclass S\u1ea3n ph\u1ea9m {\r\n    +String t\u00ean\r\n    +Double gi\u00e1\r\n    +String m\u00e3SKU\r\n    +getChiTiet()\r\n}\r\n\r\nclass DanhMuc {\r\n    +String tenDanhMuc\r\n    +List&lt;S\u1ea3n ph\u1ea9m&gt; s\u1ea3nPh\u1ea9m\r\n}\r\n\r\nclass \u0110\u01a1nH\u00e0ng {\r\n    +int idDonHang\r\n    +Date ngayDonHang\r\n    +List&lt;S\u1ea3n ph\u1ea9m&gt; m\u1eb7tHang\r\n}\r\n\r\nS\u1ea3n ph\u1ea9m \"1\" -- \"*\" DanhMuc : thu\u1ed9c v\u1ec1\r\n\u0110\u01a1nH\u00e0ng \"1\" -- \"*\" S\u1ea3n ph\u1ea9m : ch\u1ee9a\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:SoWkIImgAStDuULApaaiBbO8VhXhSPv2GSR3NIjp5QfvkHI0G3kuf2WpBrsXvF2gFAY8ItvfKawgGdhcuOMeQd8FBmxs3eMAfQUME6TaXcIcbcXeydBLydB1R759pClmBKt6i20r3oe35VV9B2wnGNQIdK8nY1S0vg0OUMJ2iOLv7eSN08s1cPgPLwAGcUAId-UHc9SEStXYIQf2NdfY9Qem5ejo7-xQNW9H0hO69MIK39KKT7KLbBIKu7wnKYZ9A7suUsQoGjd3tOsyN4WEGbADOegLGdB6mzqh4tcv75BpKe2n0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/#plantuml:RP3F2i8m3CRlXRv3sCa_xE1rY0Zk8eWAFa7NXL7iMccpWuZlRkTQvyISmaVo-xvawqauwbhDcTJ2UpWxMtUIuC4PX5fUo2dJW14jHgMqNQKHRav9d0xvQnU51gb44ahxsPop9sS9lnE4ZNNtNxwC-d7qEIXFwnXd4-pUZP_GJgv6zq4fGs1xPL-dg84wI7ttbwi8smHDjsUh3F8SiaKsvYsWGcrDuu4iPuFnrrnQBK1Q4mutWRb5KuVFlW00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr data-nodeid=\"6692\"\/>\n<h2 data-nodeid=\"6693\">T\u00ednh n\u0103ng D\u1ef1a tr\u00ean AI: N\u00e2ng cao Quy tr\u00ecnh L\u00e0m vi\u1ec7c c\u1ee7a B\u1ea1n<\/h2>\n<p data-nodeid=\"6694\">Kh\u1ea3 n\u0103ng AI c\u1ee7a Visual Paradigm \u0111\u01b0a vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 l\u00ean m\u1ed9t t\u1ea7m cao m\u1edbi. N\u1ebfu b\u1ea1n \u0111ang b\u1ebf t\u1eafc ho\u1eb7c mu\u1ed1n t\u0103ng t\u1ed1c qu\u00e1 tr\u00ecnh t\u1ea1o:<\/p>\n<ul data-nodeid=\"6695\">\n<li data-nodeid=\"6696\">\n<p data-nodeid=\"6697\"><strong data-nodeid=\"6822\">S\u1eeda l\u1ed7i M\u00e3 ngu\u1ed3n b\u1eb1ng AI<\/strong>: V\u00f4 t\u00ecnh sai c\u00fa ph\u00e1p trong PlantUML? AI c\u00f3 th\u1ec3 ph\u00e1t hi\u1ec7n v\u00e0 \u0111\u1ec1 xu\u1ea5t s\u1eeda l\u1ed7i, gi\u00fap b\u1ea1n ti\u1ebft ki\u1ec7m th\u1eddi gian g\u1ee1 l\u1ed7i.<\/p>\n<\/li>\n<li data-nodeid=\"6698\">\n<p data-nodeid=\"6699\"><strong data-nodeid=\"6827\">D\u1ecbch thu\u1eadt b\u1eb1ng AI<\/strong>: C\u1ea7n d\u1ecbch t\u00e0i li\u1ec7u sang ng\u00f4n ng\u1eef \u0111\u1ecba ph\u01b0\u01a1ng? S\u1eed d\u1ee5ng AI \u0111\u1ec3 d\u1ecbch nh\u00e3n s\u01a1 \u0111\u1ed3 ho\u1eb7c m\u00f4 t\u1ea3 sang nhi\u1ec1u ng\u00f4n ng\u1eef kh\u00e1c nhau.<\/p>\n<\/li>\n<li data-nodeid=\"6700\">\n<p data-nodeid=\"6701\"><strong data-nodeid=\"6836\">T\u1eeb L\u1eddi nh\u1eafc \u0111\u1ebfn S\u01a1 \u0111\u1ed3<\/strong>: Trong OpenDocs, s\u1eed d\u1ee5ng tr\u1ee3 l\u00fd chatbot AI \u0111\u1ec3 t\u1ea1o s\u01a1 \u0111\u1ed3 t\u1eeb m\u1ed9t l\u1eddi nh\u1eafc b\u1eb1ng ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean. V\u00ed d\u1ee5, g\u00f5\u00a0<em data-nodeid=\"6837\">\u201cT\u1ea1o s\u01a1 \u0111\u1ed3 tu\u1ea7n t\u1ef1 cho lu\u1ed3ng x\u1eed l\u00fd thanh to\u00e1n\u201d<\/em>\u00a0v\u00e0 AI s\u1ebd t\u1ea1o m\u00e3 PlantUML, b\u1ea1n c\u00f3 th\u1ec3 sau \u0111\u00f3 tinh ch\u1ec9nh trong VPasCode.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"6702\"><img alt=\"This diagram shows how to edit a PlantUML diagram embedded in OpenDocs with VPasCode\" data-nodeid=\"6840\" decoding=\"async\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a312685f1955.png\"\/><\/p>\n<hr data-nodeid=\"6703\"\/>\n<h2 data-nodeid=\"6704\">Ph\u1ea3n h\u1ed3i Ng\u01b0\u1eddi d\u00f9ng &amp; Th\u00e0nh c\u00f4ng Quy tr\u00ecnh L\u00e0m vi\u1ec7c<\/h2>\n<p data-nodeid=\"6705\">Ng\u01b0\u1eddi d\u00f9ng \u0111\u00e3 \u00e1p d\u1ee5ng lu\u1ed3ng VPasCode sang OpenDocs b\u00e1o c\u00e1o nh\u1eefng c\u1ea3i thi\u1ec7n \u0111\u00e1ng k\u1ec3 v\u1ec1 n\u0103ng su\u1ea5t:<\/p>\n<ul data-nodeid=\"6706\">\n<li data-nodeid=\"6707\">\n<p data-nodeid=\"6708\"><strong data-nodeid=\"6849\">Ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n<\/strong>: V\u00ec s\u01a1 \u0111\u1ed3 \u0111\u01b0\u1ee3c d\u1ef1a tr\u00ean m\u00e3 ngu\u1ed3n, b\u1ea1n c\u00f3 th\u1ec3 theo d\u00f5i c\u00e1c thay \u0111\u1ed5i trong Git, gi\u00fap vi\u1ec7c ho\u00e0n nguy\u00ean ho\u1eb7c so s\u00e1nh c\u00e1c phi\u00ean b\u1ea3n tr\u1edf n\u00ean d\u1ec5 d\u00e0ng.<\/p>\n<\/li>\n<li data-nodeid=\"6709\">\n<p data-nodeid=\"6710\"><strong data-nodeid=\"6854\">H\u1ee3p t\u00e1c<\/strong>: C\u00e1c th\u00e0nh vi\u00ean trong nh\u00f3m c\u00f3 th\u1ec3 ch\u1ec9nh s\u1eeda s\u01a1 \u0111\u1ed3 trong VPasCode v\u00e0 c\u1eadp nh\u1eadt t\u1ee9c th\u00ec c\u00e1c t\u00e0i li\u1ec7u chung trong OpenDocs, \u0111\u1ea3m b\u1ea3o m\u1ecdi ng\u01b0\u1eddi \u0111\u1ec1u l\u00e0m vi\u1ec7c tr\u00ean phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t.<\/p>\n<\/li>\n<li data-nodeid=\"6711\">\n<p data-nodeid=\"6712\"><strong data-nodeid=\"6859\">C\u00e1c \u0111i\u1ec3m \u0111au \u0111\u01b0\u1ee3c gi\u1ea3i quy\u1ebft<\/strong>: Kh\u00f4ng c\u00f2n ph\u1ea3i t\u00ecm ki\u1ebfm c\u00e1c t\u1ec7p PNG l\u1ed7i th\u1eddi hay lo l\u1eafng v\u1ec1 c\u00e1c li\u00ean k\u1ebft h\u00ecnh \u1ea3nh b\u1ecb h\u1ecfng. Quy tr\u00ecnh n\u00e0y \u0111\u1ea3m b\u1ea3o h\u00ecnh \u1ea3nh lu\u00f4n \u0111\u01b0\u1ee3c \u0111\u1ed3ng b\u1ed9 v\u1edbi t\u00e0i li\u1ec7u.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"6713\">\u0110\u1ed1i v\u1edbi c\u00e1c \u0111\u1ed9i ng\u0169 Agile, \u0111\u00e2y l\u00e0 m\u1ed9t b\u01b0\u1edbc \u0111\u1ed9t ph\u00e1. H\u00e3y h\u00ecnh dung vi\u1ec7c c\u1eadp nh\u1eadt b\u1ea3ng Kanban t\u1ed5ng k\u1ebft sprint trong VPasCode v\u00e0 \u0111\u1ea9y n\u00f3 v\u00e0o s\u1ed5 tay nh\u00f3m ch\u1ec9 trong v\u00e0i gi\u00e2y:<\/p>\n<p data-nodeid=\"6714\"><img alt=\"This is a concept diagram that shows how user can edit Mermaid Kanban diagram in VPasCode and then send the diagram to OpenDocs for further documentation\" data-nodeid=\"6863\" decoding=\"async\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a312205c679b.png\"\/><\/p>\n<hr data-nodeid=\"6715\"\/>\n<h2 data-nodeid=\"6716\">Th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t v\u00e0 m\u1eb9o<\/h2>\n<p data-nodeid=\"6717\">\u0110\u1ec3 t\u1ed1i \u0111a h\u00f3a hi\u1ec7u qu\u1ea3, h\u00e3y tu\u00e2n theo c\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t sau:<\/p>\n<ol data-nodeid=\"6718\">\n<li data-nodeid=\"6719\">\n<p data-nodeid=\"6720\"><strong data-nodeid=\"6874\">S\u1eed d\u1ee5ng ti\u00eau \u0111\u1ec1 m\u00f4 t\u1ea3<\/strong>: Th\u00eam ti\u00eau \u0111\u1ec1 cho s\u01a1 \u0111\u1ed3 PlantUML c\u1ee7a b\u1ea1n (v\u00ed d\u1ee5:\u00a0<code data-backticks=\"1\" data-nodeid=\"6872\">title Lu\u1ed3ng \u0111\u0103ng nh\u1eadp ng\u01b0\u1eddi d\u00f9ng<\/code>) \u0111\u1ec3 r\u00f5 r\u00e0ng trong t\u00e0i li\u1ec7u.<\/p>\n<\/li>\n<li data-nodeid=\"6721\">\n<p data-nodeid=\"6722\"><strong data-nodeid=\"6879\">T\u1eadn d\u1ee5ng thanh Pipeline<\/strong>: Trong OpenDocs, h\u00e3y s\u1eed d\u1ee5ng thanh Pipeline \u0111\u1ec3 s\u1eafp x\u1ebfp c\u00e1c s\u01a1 \u0111\u1ed3 \u0111\u00e3 g\u1eedi. Di chu\u1ed9t qua h\u00ecnh thu nh\u1ecf \u0111\u1ec3 ch\u00e8n nhanh ch\u00f3ng.<\/p>\n<\/li>\n<li data-nodeid=\"6723\">\n<p data-nodeid=\"6724\"><strong data-nodeid=\"6884\">L\u1eb7p l\u1ea1i v\u1edbi n\u00fat b\u00fat ch\u00ec<\/strong>: N\u1ebfu m\u1ed9t s\u01a1 \u0111\u1ed3 c\u1ea7n c\u1eadp nh\u1eadt, h\u00e3y nh\u1ea5p v\u00e0o bi\u1ec3u t\u01b0\u1ee3ng b\u00fat ch\u00ec trong OpenDocs \u0111\u1ec3 m\u1edf l\u1ea1i n\u00f3 trong VPasCode. Th\u1ef1c hi\u1ec7n thay \u0111\u1ed5i, g\u1eedi l\u1ea1i v\u00e0 thay th\u1ebf phi\u00ean b\u1ea3n c\u0169 m\u1ed9t c\u00e1ch li\u1ec1n m\u1ea1ch.<\/p>\n<\/li>\n<li data-nodeid=\"6725\">\n<p data-nodeid=\"6726\"><strong data-nodeid=\"6889\">T\u00edch h\u1ee3p v\u1edbi h\u1ec7 sinh th\u00e1i<\/strong>: K\u1ebft h\u1ee3p VPasCode v\u1edbi c\u00e1c c\u00f4ng c\u1ee5 kh\u00e1c c\u1ee7a Visual Paradigm. V\u00ed d\u1ee5, xu\u1ea5t c\u00e1c b\u1ea3n thi\u1ebft k\u1ebf c\u1ea5p doanh nghi\u1ec7p t\u1eeb Visual Paradigm Desktop ho\u1eb7c s\u01a1 \u0111\u1ed3 \u0111\u00e1m m\u00e2y t\u1eeb VP Online v\u00e0o OpenDocs.<\/p>\n<\/li>\n<\/ol>\n<p data-nodeid=\"6727\"><img alt=\"Step-by-step guide showing how to send a diagram from VPasCode to OpenDocs\" data-nodeid=\"6892\" decoding=\"async\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3125631d181.png\"\/><\/p>\n<p data-nodeid=\"6728\"><img alt=\"Accessing the Pipeline pane in OpenDocs\" data-nodeid=\"6895\" decoding=\"async\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3125b0ca97d.png\"\/><\/p>\n<p data-nodeid=\"6729\"><img alt=\"Inserting a diagram from the Pipeline into an OpenDocs page\" data-nodeid=\"6898\" decoding=\"async\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3125e97d6b9.png\"\/><\/p>\n<hr data-nodeid=\"6730\"\/>\n<h2 data-nodeid=\"6731\">K\u1ebft lu\u1eadn v\u00e0 khuy\u1ebfn ngh\u1ecb<\/h2>\n<p data-nodeid=\"6732\">Vi\u1ec7c t\u00edch h\u1ee3p gi\u1eefa VPasCode v\u00e0 OpenDocs \u0111\u1ea1i di\u1ec7n cho m\u1ed9t b\u01b0\u1edbc ti\u1ebfn \u0111\u00e1ng k\u1ec3 trong t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt. B\u1eb1ng c\u00e1ch coi s\u01a1 \u0111\u1ed3 nh\u01b0 m\u00e3 ngu\u1ed3n, b\u1ea1n s\u1ebd c\u00f3 \u0111\u1ed9 ch\u00ednh x\u00e1c cao, ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n v\u00e0 d\u1ec5 d\u00e0ng c\u1eadp nh\u1eadt. Quy tr\u00ecnh li\u1ec1n m\u1ea1ch lo\u1ea1i b\u1ecf c\u00e1c b\u01b0\u1edbc th\u1ee7 c\u00f4ng, gi\u00fap c\u00e1c k\u1ef9 s\u01b0 v\u00e0 bi\u00ean t\u1eadp vi\u00ean t\u1eadp trung v\u00e0o n\u1ed9i dung thay v\u00ec \u0111\u1ecbnh d\u1ea1ng.<\/p>\n<p data-nodeid=\"6733\"><strong data-nodeid=\"6906\">Ai n\u00ean \u00e1p d\u1ee5ng \u0111i\u1ec1u n\u00e0y?<\/strong><\/p>\n<ul data-nodeid=\"6734\">\n<li data-nodeid=\"6735\">\n<p data-nodeid=\"6736\"><strong data-nodeid=\"6911\">K\u1ef9 s\u01b0 ph\u1ea7n m\u1ec1m<\/strong>: Nh\u1eefng ng\u01b0\u1eddi mu\u1ed1n t\u00e0i li\u1ec7u h\u00f3a ki\u1ebfn tr\u00fac m\u00e0 kh\u00f4ng c\u1ea7n r\u1eddi kh\u1ecfi m\u00f4i tr\u01b0\u1eddng l\u1eadp tr\u00ecnh c\u1ee7a m\u00ecnh.<\/p>\n<\/li>\n<li data-nodeid=\"6737\">\n<p data-nodeid=\"6738\"><strong data-nodeid=\"6916\">Bi\u00ean t\u1eadp vi\u00ean k\u1ef9 thu\u1eadt<\/strong>: Nh\u1eefng ng\u01b0\u1eddi c\u1ea7n h\u00ecnh \u1ea3nh c\u1eadp nh\u1eadt m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i theo \u0111u\u1ed5i c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n \u0111\u1ec3 xu\u1ea5t b\u1ea3n.<\/p>\n<\/li>\n<li data-nodeid=\"6739\">\n<p data-nodeid=\"6740\"><strong data-nodeid=\"6921\">Qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m<\/strong>: Nh\u1eefng ng\u01b0\u1eddi h\u1ee3p t\u00e1c v\u1ec1 l\u1ed9 tr\u00ecnh ph\u00e1t tri\u1ec3n v\u00e0 t\u1ed5ng k\u1ebft c\u00e1c giai \u0111o\u1ea1n v\u1edbi c\u00e1c nh\u00f3m \u0111a ch\u1ee9c n\u0103ng.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"6741\">B\u1eaft \u0111\u1ea7u b\u1eb1ng c\u00e1ch th\u1eed nghi\u1ec7m c\u00e1c s\u01a1 \u0111\u1ed3 PlantUML \u0111\u01a1n gi\u1ea3n trong VPasCode v\u00e0 g\u1eedi ch\u00fang v\u00e0o OpenDocs. Khi b\u1ea1n c\u1ea3m th\u1ea5y tho\u1ea3i m\u00e1i h\u01a1n, h\u00e3y kh\u00e1m ph\u00e1 c\u00e1c t\u00ednh n\u0103ng AI v\u00e0 t\u00edch h\u1ee3p v\u1edbi h\u1ec7 sinh th\u00e1i Visual Paradigm r\u1ed9ng l\u1edbn h\u01a1n. V\u1edbi quy tr\u00ecnh n\u00e0y, t\u00e0i li\u1ec7u c\u1ee7a b\u1ea1n s\u1ebd kh\u00f4ng c\u00f2n l\u00e0 \u0111i\u1ec1u sau c\u00f9ng\u2014n\u00f3 s\u1ebd tr\u1edf th\u00e0nh m\u1ed9t ph\u1ea7n s\u1ed1ng \u0111\u1ed9ng, \u0111\u1ea7y s\u1ee9c s\u1ed1ng trong qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n c\u1ee7a b\u1ea1n.<\/p>\n<p class=\"\" data-nodeid=\"6742\">S\u1eb5n s\u00e0ng t\u0103ng t\u1ed1c quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n? Truy c\u1eadp\u00a0<a data-nodeid=\"6926\" href=\"https:\/\/www.vpascode.com\/\">VPasCode<\/a>\u00a0v\u00e0\u00a0<a data-nodeid=\"6930\" href=\"https:\/\/ai-toolbox.visual-paradigm.com\/app\/opendocs\/\">OpenDocs<\/a>\u00a0ng\u00e0y h\u00f4m nay \u0111\u1ec3 tr\u1ea3i nghi\u1ec7m s\u1ee9c m\u1ea1nh c\u1ee7a vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 v\u00e0 t\u00e0i li\u1ec7u li\u1ec1n m\u1ea1ch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng b\u1ecb ch\u1eadm tr\u1ec5 so v\u1edbi m\u00e3 ngu\u1ed3n. C\u00e1c k\u1ef9 s\u01b0 d\u00e0nh h\u00e0ng gi\u1edd \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, trong khi c\u00e1c nh\u00e0 vi\u1ebft k\u1ef9 thu\u1eadt ph\u1ea3i v\u1eadt l\u1ed9n \u0111\u1ec3 c\u1eadp [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[70],"tags":[],"class_list":["post-11719","post","type-post","status-publish","format-standard","hentry","category-vpascode","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs - Visual Paradigm Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng b\u1ecb ch\u1eadm tr\u1ec5 so v\u1edbi m\u00e3 ngu\u1ed3n. C\u00e1c k\u1ef9 s\u01b0 d\u00e0nh h\u00e0ng gi\u1edd \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, trong khi c\u00e1c nh\u00e0 vi\u1ebft k\u1ef9 thu\u1eadt ph\u1ea3i v\u1eadt l\u1ed9n \u0111\u1ec3 c\u1eadp [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-26T08:58:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-26T11:58:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/\",\"name\":\"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png\",\"datePublished\":\"2026-06-26T08:58:28+00:00\",\"dateModified\":\"2026-07-26T11:58:21+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/\",\"name\":\"Visual Paradigm Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs - Visual Paradigm Blog","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:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/","og_locale":"vi_VN","og_type":"article","og_title":"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs - Visual Paradigm Blog","og_description":"Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, t\u00e0i li\u1ec7u th\u01b0\u1eddng b\u1ecb ch\u1eadm tr\u1ec5 so v\u1edbi m\u00e3 ngu\u1ed3n. C\u00e1c k\u1ef9 s\u01b0 d\u00e0nh h\u00e0ng gi\u1edd \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng ph\u1ee9c t\u1ea1p, trong khi c\u00e1c nh\u00e0 vi\u1ebft k\u1ef9 thu\u1eadt ph\u1ea3i v\u1eadt l\u1ed9n \u0111\u1ec3 c\u1eadp [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-06-26T08:58:28+00:00","article_modified_time":"2026-07-26T11:58:21+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png","type":"","width":"","height":""}],"author":"Admin","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Admin","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"6 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/","url":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/","name":"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png","datePublished":"2026-06-26T08:58:28+00:00","dateModified":"2026-07-26T11:58:21+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/06\/img_6a3e3f1039f18.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-code-to-clarity-a-beginners-guide-to-seamless-diagramming-with-vpascode-and-opendocs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"T\u1eeb M\u00e3 ngu\u1ed3n \u0111\u1ebfn S\u1ef1 R\u00f5 r\u00e0ng: H\u01b0\u1edbng d\u1eabn cho ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u v\u1ec1 vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 li\u1ec1n m\u1ea1ch v\u1edbi VPasCode v\u00e0 OpenDocs"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website","url":"https:\/\/blog.visual-paradigm.com\/vn\/","name":"Visual Paradigm Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/vn\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/comments?post=11719"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11719\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=11719"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/categories?post=11719"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/tags?post=11719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}