{"id":76463,"date":"2020-04-02T13:42:40","date_gmt":"2020-04-02T11:42:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/proektirovanie-v-confluence"},"modified":"2020-04-02T13:42:40","modified_gmt":"2020-04-02T11:42:40","slug":"proektirovanie-v-confluence","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/proektirovanie-v-confluence","title":{"rendered":"Designing in Confluence","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hello everyone! <\/p>\n<p>My name is Masha, and I work as a quality assurance engineer at Tinkoff Group. The QA role requires extensive communication with various people from different teams, and I have also been a manager and lecturer for educational programs, which broadened my communication map significantly. At one point, I hit a breaking point: I realized I could no longer fill out endless amounts of unreadable tables and documents. <\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/e43b5c074c0f53d94795a5b30a993311.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nI'm sure each of you can now picture what I'm talking about, and you might even be sweating: lists of names without alphabetical order, tables with hundreds of columns and misaligned formatting, thousands of rows that require you to scroll with your finger on the mouse wheel just to see the header, tons of pages of unnumbered instructions, and hundreds of emails being shuffled around with data to analyze, systematize, and stuff back into unreadable tables.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/86082a8dd29e459dac25c1e4c136c555.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSo, when I calmed down a bit, I decided to write this article. I will talk about how to properly (and sometimes even conveniently) manage various non-product documentation. I hope this article gets shared widely online, reducing the level of chaos in departments adjacent to development just a bit, and that people (including myself) become a little happier.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/0e98dfc5cc71083a7a3c8652c4f57e1d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Tools<\/h2>\n<p>\nProduct documentation is often stored alongside the code, which is good. Non-product documentation, however, is usually scattered all over. People often try to transfer information from different locations into Confluence, and we are no exception. So here's my story about it.<\/p>\n<p>Overall, Confluence is an advanced wiki engine. It allows you to work with data in various display formats: formatted text, tables, diverse diagrams. It's a very interesting and powerful tool, but if you don't know how to prepare it properly, you'll end up with yet another heap of unreadable documents. I'll teach you how to get it ready!<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/c9bb991fb1e53a6e7259cb0bed4e4200.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Macros<\/h2>\n<p>\nMost of Confluence's magic is built on macros. There are a lot of macros, and they can be combined with each other. Some are paid, and some are free; I'll provide various examples of macros along with links to their documentation.<\/p>\n<p>The interface for working with macros is as simple as possible. To add a macro, you just need to click on the plus sign and select the desired item from the list.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/60cdd6eedbef9f0889e2907e5756b70f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIf the macro is self-sufficient, meaning it does not require anything else to be inserted inside it, it looks like a block.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/3240f0e8898a806801ef7091818f5c9c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIf the macro requires something to be placed inside, it resembles a frame.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/df41fc317bb596523f0d15ed97209bfb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nYou can place as many other elements inside a single frame as you want, as long as there is logic to your pyramid.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/5fa8da8f617a115b0505034814fa7d93.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEach macro has a preview: it immediately shows whether you have filled out and configured the macro correctly.<\/p>\n<h2>Templates<\/h2>\n<p>\nIn addition to macros, there is a convenient content pre-filling tool \u2014 it's a template.<br \/>\nTemplates can be used when creating any page: just click on the three dots next to the 'Create' button and select the desired template.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/744e3cd232972c75feaf3f02a9551ea5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThen all the content from the template will be added to the created page.<\/p>\n<p>Anyone can create pages from templates, but only those with permissions can create or edit the templates themselves. Additional instructions on how to manage the page can be added to the template.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/ff9cf5bd5eab1901ae2ba3cc2c182ab4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>The Magic of Tables<\/h2>\n<p>\nAs a techie, I naturally love tables and can wrap almost any information in them (even if it's not always effective). Tables, in and of themselves, are clear, structured, scalable, and magical!<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/e9f1ec93352a8664caa00ac30aae4376.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBut even such a wonderful entity as a table can be ruined. However, it can also be used successfully and even improved. More on that below.<\/p>\n<h3>Filtering (paid plugin)<\/h3>\n<p>\nAny large unreadable table can be made somewhat less enormous and a bit more readable through filtering. For this, a paid macro can be used. <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.stiltsoft.com\/display\/public\/TFAC\/How+to+use+Table+Filter+macro\">\"Table Filter\"<\/a><\/noindex>.<\/p>\n<p>You need to insert the entire table into this macro (even the ugliest one, as long as you fit it all in). You can select columns for filtering with a dropdown list, a text filter, numeric filters, and date filters within the macro. <\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/3dbe4a9116aeeb7eae238fab1adfac04.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nImagine that all the information about candidates for all positions is recorded in a tabular list. Naturally, it is unsorted \u2014 people don\u2019t come for interviews in alphabetical order. And you need to determine whether you have interviewed a specific candidate before. You just need to stuff this chaos into the filter macro, add a text filter by last name \u2014 and voila, the information is at your screen.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/3f3830d3e3426fa0f4e231b16e96a6db.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIt is worth noting that filtering large tables can affect system performance and page loading times, so putting a huge table into a filter is a temporary workaround. It's better to establish a process where people aren't forced to create huge, unreadable tables (an example of this process will be at the end of the article).<\/p>\n<h3>Sorting (paid plugin)<\/h3>\n<p>\nWith the magical macro <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.stiltsoft.com\/display\/public\/TFAC\/How+to+use+Table+Filter+macro\">\"Table Filter\"<\/a><\/noindex> , you can also set a default sort by any column and number the rows. Or just click on any column of the table embedded in the filter macro, and it will sort by that column. <\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/8c3ff42887b6b25964282375075a07b0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor example, if you have the same table with candidates and need to estimate how many interviews were conducted in a specific month, sort by date and enjoy.<\/p>\n<h3>Pivot tables (paid plugin)<\/h3>\n<p>\nNow let\u2019s move on to a more interesting case. Imagine that your table is huge and you need to compute something from it. Of course, you could copy it to Excel, calculate what you need, and upload the data back to Confluence. But you could just apply the macro <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.stiltsoft.com\/display\/public\/TFAC\/How+to+use+Pivot+Table+macro\">\u201cPivot Table\u201d<\/a><\/noindex> once and get the same result, but also keep it updated.<\/p>\n<p>For example, you have a table that collects data on all employees\u2014where they are located and what positions they hold. To count how many people are in each city, you need to select in the \u201cPivot Table\u201d macro the row by which the data is aggregated (location) and the operation type (summation).<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/86ebb4c83bfaa12509c19bc4774be9d8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNaturally, you can group by several criteria at once; all the options can be viewed <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.stiltsoft.com\/display\/public\/TFAC\/How+to+use+Pivot+Table+macro\">documentation<\/a><\/noindex>.<\/p>\n<h3>Charts (paid plugin)<\/h3>\n<p>\nAs I mentioned, not everyone loves tables as much as I do. Unfortunately, most managers don\u2019t like them at all. However, everyone loves bright, colorful charts. <br \/>\nThe creators of Confluence undoubtedly knew this (they most likely have bosses who love reports and charts, after all). So, you can use the magical macro <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.stiltsoft.com\/display\/public\/TFAC\/How+to+use+Chart+from+Table+macro\">\u201cChart from Table\u201d<\/a><\/noindex>. You need to insert the pivot table from the previous section into this macro, and voila\u2014your gray, boring data is beautifully visualized.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/4049f9266652139623ec1ea458613d23.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOf course, there are also settings in this macro. You can find the documentation link for any macro in the editing mode of that macro.<\/p>\n<h2>Ease of aggregation<\/h2>\n<p>\nThe information from previous points was surely not a revelation for you. But now you definitely know how to use macros, and I can move on to a more interesting part of the article.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/f97de29d1022cb5979b05f0352d527f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Tags<\/h3>\n<p>\nIt\u2019s problematic when people store information in a single unstructured article or a huge table. Even worse is when parts of this information are not only poorly formatted but also scattered across the vastness of Confluence. Fortunately, there is a way to gather all that scattered information in one place. For this, you need to use <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.atlassian.com\/conf613\/add-remove-and-search-for-labels-964960395.html\">tags<\/a><\/noindex> (familiar to everyone from social networks).<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/fcc186edff9895a8f6dfe6dac46c0f19.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nYou can add any number of tags to any page. If you click on a tag, you will be taken to an aggregation page, which contains links to all materials with that tag, as well as a set of related tags. Related tags are those that frequently appear on the same page.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/06600097610e4cfeebce92b0528ba0b4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Page Properties<\/h3>\n<p>\nYou can add another interesting macro for structuring information to the page \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.atlassian.com\/conf613\/page-properties-macro-964960868.html\">\u201cPage Properties\u201d<\/a><\/noindex>. You need to feed it a table of two columns; the first will be the key, and the second will be the value of the property. Moreover, the macro can be hidden from the page so that it doesn\u2019t interfere with reading the content, but the page will still be marked with the necessary keys.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/0ab567bb95a0649e127848182932f3ab.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNote the ID \u2014 it is convenient to assign it so that different groups of properties can be attached to different pages (or even different property groups on the same page). <\/p>\n<h3>Reports<\/h3>\n<p>\nYou can generate reports based on tags. For example, the macro <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.atlassian.com\/conf613\/content-report-table-macro-964960800.html\">\u201cContent Report\u201d<\/a><\/noindex> collects all pages with a specific set of tags.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/91f8b095d62c64f31dc406f1b41cd6ec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBut a more interesting report is the macro <noindex><a rel=\"nofollow\" href=\"https:\/\/confluence.atlassian.com\/conf613\/page-properties-report-macro-964960880.html\">\u201cPage Properties Report\u201d<\/a><\/noindex>. It also gathers all pages with a specific set of tags, but instead of simply listing them, it creates a table (catching the connection with the beginning of the article?), where the columns are the keys of the page properties.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/5ff651c346accb30b911fcc65f199d08.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIt results in a summary table of information from various sources. It\u2019s nice that it has convenient features: responsive layout, sorting by any column. This report table can also be configured within the macro. <\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/6e188dfcc034ee999fc43b6f8e1b39ad.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWhen configuring, you can remove certain columns from the report, set a default state, or specify the number of displayed records. You can also set the page property ID to see only the desired information.<\/p>\n<p>For example, you have multiple employee pages, and each of these pages has a set of properties about the person: their level, where they are located, when they joined the team, and so on. These properties are marked. <i>ID = employee_inf<\/i>. And there is a second set of properties on the same page, which contains information about the person as part of the team: what role the person performs, which team they belong to, and so on. These properties are marked. <i>ID = team_inf<\/i>. Thus, when generating a report, you can display information by a single ID or at once for both\u2014whichever is more convenient.<\/p>\n<p>The beauty of this approach is that everyone can compile the information table they need, which will not duplicate anything and will be updated when the main page is updated. For instance: a team lead is not concerned with when their developers joined the company, but is interested in what role each of them plays in the team. The team lead will compile a report on the team. An accountant, on the other hand, does not care what roles are performed, but cares about the positions\u2014so they will compile a report on the positions. Meanwhile, the source of information will not be duplicated or moved.<\/p>\n<h2>Final process<\/h2>\n<p><\/p>\n<h3>Instruction<\/h3>\n<p>\nSo, we can beautifully structure and effectively aggregate information in Confluence using macros as an example. But ideally, we need to ensure that new information is immediately structured and fitting into all the already-used aggregation mechanisms.<\/p>\n<p>Here, a combination of macros and templates will come to the rescue. To make people create new pages in the desired format, you can use the 'Create from template' macro. It adds a button to the page, which, when clicked, creates a new page from the template you need. This way, you ensure that people immediately work in the format you require. <\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/c0881bf89587ce538d97309a5f8ec73e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn the template from which you allow page creation, you should pre-add tags, the 'Page Properties' macro, and the table of required properties. I also recommend adding instructions on what values should fill the page, along with property values.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/bf84905906c6ed6e9a2dc7ebf9488830.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThen the final process will look like this:<\/p>\n<ol>\n<li>You create a template for a specific type of information.<\/li>\n<li>In this template, you add tags and page properties in the macro.<\/li>\n<li>Create a root page in any convenient location with a button that generates a child page from the template when clicked. <\/li>\n<li> Allow users on the root page who can potentially generate the needed information (using the specified template by clicking the button).<\/li>\n<li> Gather a report on the page properties through the tags you specified in the template.<\/li>\n<li>Rejoice: you have all the necessary information in a convenient format. <\/li>\n<\/ol>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/336839f6b3f77b071cb1964f2be189bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Pitfalls<\/h3>\n<p>\nAs a quality engineer, I can confidently state that nothing in the world is perfect. Not even divine tables are flawless. And there are pitfalls in the above process.<\/p>\n<ul>\n<li>If you decide to change the names or composition of page properties, you will have to update all already created objects so that their data is correctly pulled into the summary report. This is unfortunate, but on the other hand, it forces you to think carefully about the 'architecture' of your information set, which is quite an interesting challenge.\n<\/li>\n<li>You will need to write a decent amount of instructions on how to fill out information tables and use tags. However, on the other hand, you can simply share this article with all the necessary people.<\/li>\n<\/ul>\n<h3>Example of storing non-product documentation<\/h3>\n<p>\nThrough the process described above, you can organize the storage of almost any information. The beauty of this approach is its universality: once users get used to it, they stop generating clutter. Also, a significant (but not free) plus is the ability to collect various statistics on the fly and create beautiful charts from it. <\/p>\n<p>Let me illustrate our process of managing team information.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/4d3ebb02db7e125a81a976c6f5d836b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor each person on the team, we decided to create an employee card. Accordingly, we have a template that each new person uses to create this card and maintain all personal information.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/3f617ae19dae29fad4b5fead3b20460b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAs you can see, we have a detailed table of properties and immediately have instructions on how to manage this page. Some tags are filled out by the employees following the instructions, while the main ones are in the template: the card tag <i>employee-card<\/i>, the direction tag <i>direction-involve<\/i> , and the team tag <i>team-qa<\/i>. <\/p>\n<p>As a result, after everyone has created their profile, it forms a complete table with employee information. This information can be used in various contexts. Resource managers can create general tables for themselves, while team leaders can create team tables by adding their team's tag to the selection.<\/p>\n<p>By tags, you can see different summaries, for example, on <i>qa-upgrade-plan<\/i> all tasks for the development of QA will be displayed. At the same time, each person maintains an important history and their development plan in their profile \u2014 creating a nested page from the development plan templates.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/11811199ddcf98552f72b113b8a53dfb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Conclusion<\/h2>\n<p>\nKeep any documentation in a way that you won\u2019t be ashamed of it and users won\u2019t be in painful suffering!<\/p>\n<p>I really hope this article will be helpful and that order will come to all the documentation in the world.<\/p>\n<p><img decoding=\"async\" alt=\"Designing in Confluence\" src=\"\/wp-content\/uploads\/2020\/04\/ee90492655b05a5b5d2501eff3cd21c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/tinkoff\/blog\/495038\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0430\u0448\u0430, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u043f\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444. \u0420\u0430\u0431\u043e\u0442\u0430 QA \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043b\u044e\u0434\u044c\u043c\u0438 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0430 \u044f \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0431\u044b\u043b\u0430 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u043c \u0438 \u043b\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u044f \u043a\u0430\u0440\u0442\u0430 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 \u0431\u044b\u043b\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0448\u0438\u0440\u043e\u043a\u043e\u0439. \u0418 \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0432\u0437\u043e\u0440\u0432\u0430\u043b\u0430\u0441\u044c: \u044f \u043f\u043e\u043d\u044f\u043b\u0430, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":76464,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-76463","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0430\u0448\u0430, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u043f\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/proektirovanie-v-confluence\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Confluence | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0430\u0448\u0430, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u043f\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/proektirovanie-v-confluence\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-02T11:42:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-02T11:42:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Designing in Confluence | ProHoster","description":"Hello everyone! My name is Masha, I work as a quality assurance engineer at the Tinkoff Group of Companies.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/proektirovanie-v-confluence","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Confluence | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0430\u0448\u0430, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u043f\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/proektirovanie-v-confluence","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-02T11:42:40+00:00","article:modified_time":"2020-04-02T11:42:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"76463","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:16:51","updated":"2022-09-28 11:33:12","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/76463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=76463"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/76463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/76464"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=76463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=76463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=76463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}