Design i Confluence

Hej alla!

Jag heter Masha och jag arbetar som kvalitetssÀkringsingenjör inom Tinkoff-gruppen. QA-arbetet innebÀr mÄnga kommunikationer med olika mÀnniskor frÄn olika team, och jag har dessutom varit projektledare och förelÀsare för utbildningsprogram, sÄ mitt kommunikationsnÀt var sÄ brett som möjligt. Och i ett ögonblick exploderade jag: jag insÄg att jag inte lÀngre kunde, inte kunde, inte kunde fylla i ofattbara mÀngder olÀsliga tabeller och dokument.

Design i Confluence


Jag Àr sÀker pÄ att ni alla nu har förestÀllt er det jag pratar om och svettas kallt: listor med namn utan alfabetisk ordning, tabeller med hundratals kolumner med förskjuten layout, tabeller med tusentals rader dÀr man mÄste dra sitt finger över musens hjul för att se rubriken, tonvis av sidor med onumrerade instruktioner, hundratals mail som skickas fram och tillbaka med data som mÄste analyseras och systematiseras för att stoppas in i lika olÀsliga tabeller.

Design i Confluence

SÄ nÀr jag lugnade ner mig beslöt jag mig för att skriva den hÀr artikeln. Jag kommer att berÀtta om hur man pÄ ett ordentligt (ibland till och med bekvÀmt) kan hantera olika typer av icke-produktdokumentation. Jag hoppas att artikeln sprids pÄ nÀtet och att nivÄn av elÀnde i angrÀnsande avdelningar till utvecklingen minskar lite grann, och att mÀnniskor (inklusive jag sjÀlv) blir lite lyckligare.

Design i Confluence

Verktyg

Produktdokumentation lagras ofta nÀra koden, vilket Àr bra. Men icke-produktdokumentation lagras ofta lite hÀr och dÀr. Ofta försöker folk föra över information frÄn olika stÀllen till Confluence, och vi gör inget undantag. SÄ allt som följer handlar om det.

Confluence Àr i grunden en avancerad wiki-motor. Den möjliggör arbete med data i olika visningsformer: text med formatering, tabeller, olika diagram. Det Àr ett mycket intressant och kraftfullt verktyg, men om man inte vet hur man förbereder det, fÄr man bara en ny avstjÀlpningsplats för olÀsliga dokument. Jag ska lÀra er att förbereda det!

Design i Confluence

Makron

NÀstan all magi i Confluence bygger pÄ makron. Det finns mÄnga makron och de kan kombineras med varandra. De Àr bÄde betal- och gratisversioner, nedan kommer olika exempel pÄ makron med lÀnkar till dokumentation för dem.

GrÀnssnittet för att arbeta med makron Àr mycket enkelt. För att lÀgga till ett makro, tryck pÄ pluset och vÀlj det element du behöver frÄn listan.

Design i Confluence

Om makrot Àr sjÀlvförsörjande, det vill sÀga inte krÀver att nÄgot annat sÀtts in i sig sjÀlvt, ser det ut som en block.

Design i Confluence

Om makret behöver nÄgot för att fungera, ser det ut som en ram.

Design i Confluence

Inom samma ram kan man placera sÄ mÄnga andra som helst, sÄ lÀnge det finns logik i din pyramide.

Design i Confluence

Varje makro har en förhandsvisning: hÀr kan man direkt se om du har fyllt i och stÀllt in makrot korrekt.

Mallar

Utöver makron finns det ett praktiskt verktyg för förhandsifyllning av innehĂ„ll – det Ă€r en mall.
Mallar kan anvÀndas nÀr du skapar vilken sida som helst: tryck bara pÄ de tre punkterna bredvid knappen "Skapa" och vÀlj den mall du behöver.

Design i Confluence

DÄ lÀggs allt innehÄll frÄn mallen till i den skapade sidan.

Att skapa sidor frÄn mallar kan vem som helst göra, men att skapa eller redigera sjÀlva mallarna fÄr endast de som har rÀtt till det. En mall kan Àven kompletteras med ytterligare instruktioner om hur sidan bör underhÄllas.

Design i Confluence

Magin i tabeller

Egentligen tycker jag, som tekniker, mycket om tabeller och kan nÀstan alltid vÀnda information i dem (Àven om det inte alltid Àr effektivt). SjÀlva tabellerna Àr tydliga, strukturerade, skalbara, magiska!

Design i Confluence

Men Àven en sÄ fantastisk entitet som en tabell kan förstöras. Det gÄr ocksÄ att anvÀnda dem pÄ ett lyckat sÀtt och till och med förbÀttra dem. Mer om detta nedan.

Filtrering (betald plugin)

Vilken stor, olÀslig tabell som helst kan göras lite mindre stor och lite mer lÀsbar med hjÀlp av filtrering. För detta kan du anvÀnda ett betalt makro. «Tabellfilter».

Inuti detta makro mÄste en tabell sÀttas in (Àven den fulaste, det viktigaste Àr att fÄ in den helt). I makrot kan du vÀlja kolumner för filtrering med en rullgardinsmeny, textfilter, numeriska filter och datumfilter.

Design i Confluence

TĂ€nk dig att all information om kandidater för alla lediga tjĂ€nster skrivs in i en tabell. Naturligtvis osorterad – folk kommer ju inte till intervju i alfabetisk ordning. Och du mĂ„ste förstĂ„ om du har intervjuat en specifik kandidat tidigare. Du mĂ„ste bara stoppa denna mardröm i filtreringsmakrot, lĂ€gga till ett textfilter pĂ„ efternamn – och voila, informationen Ă€r pĂ„ skĂ€rmen.

Design i Confluence

Det Àr vÀrt att notera att filtrering av stora tabeller kan pÄverka systemets prestanda och sidladdningstid, sÄ att placera en stor tabell i ett filter Àr en tillfÀllig lösning, det Àr bÀttre att bygga en process dÀr folk inte behöver skapa stora, olÀsliga tabeller (ett exempel pÄ processen kommer i slutet av artikeln).

Sortering (betald plugin)

Med hjÀlp av den magiska makron «Tabellfilter» kan man ocksÄ ange standard sortering för valfri kolumn och numrera rader. Eller sÄ kan man klicka pÄ vilken kolumn i tabellen som helst som har placerats i filtermakrot, och sortering kommer att ske efter den kolumnen.

Design i Confluence

Till exempel, om du har samma tabell med kandidater och behöver uppskatta hur mÄnga intervjuer som genomfördes under en viss mÄnad, - sortera efter datum och njut.

Pivottabeller (betald plugin)

Nu gÄr vi till ett intressantare fall. TÀnk dig att din tabell Àr jÀttestor och du behöver rÀkna nÄgot pÄ den. Naturligtvis kan du kopiera den till Excel, rÀkna vad du behöver och ladda upp data tillbaka till Confluence. Men du kan ocksÄ en gÄng tillÀmpa makrot «Pivottabell» och fÄ samma resultat, bara att det ocksÄ uppdateras.

Till exempel: om du har en tabell som samlar data om alla anstÀllda - var de geografiskt befinner sig och vilken position de har. För att rÀkna hur mÄnga personer som finns i varje stad, behöver du vÀlja i makrot «Pivottabell» den rad efter vilken data aggregeras (plats) och typ av operation (addition).

Design i Confluence

SjÀlvklart kan du gruppera efter flera kriterier samtidigt, alla möjligheter kan du se i dokumentationen.

Diagram (betald plugin)

Som jag redan nÀmnt, Àlskar inte alla tabeller lika mycket som jag gör. TyvÀrr gillar de flesta chefer dem överhuvudtaget inte. Men alla Àlskar verkligen fÀrgglada diagram.
Skapararna av Confluence visste sÀkert detta (de har sÀkert ocksÄ en chef som Àlskar rapporter och diagram, hur skulle det annars vara). SÄ du kan anvÀnda den magiska makron «Diagram frÄn tabell». I denna makro behöver du placera pivottabellen frÄn föregÄende punkt, och vips - dina grÄ trÄkiga data Àr vackert visualiserade.

Design i Confluence

SjÀlvklart finns det ocksÄ instÀllningar i denna makro. LÀnken till dokumentationen för vilket makro som helst kan du hitta i redigeringslÀget för denna makro.

Enkelhet i aggregering

Information from the previous points was probably not a revelation for you. But now you certainly know how to use macros, and I can move on to a more interesting part of the article.

Design i Confluence

Taggar

It's poor practice when people store information in one unstructured article or a huge spreadsheet. Even worse is when parts of this information are not only poorly formatted but also scattered across the expanses of Confluence. Fortunately, there's a way to gather scattered information in one place. For this, you need to use taggar (familiar to everyone from social media tags).

Design i Confluence

You can add any number of tags to any page. If you click on a tag, you'll be taken to an aggregation page that contains links to all materials with that tag, as well as a set of related tags. Related tags are those that often appear on the same page.

Design i Confluence

Sidproperty

You can also add another interesting macro for structuring information to the page — «Sidproperty». Inside, you need to provide a table with two columns; the first will serve as the key, and the second as the value of the property. Additionally, the macro can be hidden from the page so that it does not interfere with reading the content, but the page will still be marked with the necessary keys.

Design i Confluence

Note the ID — it's convenient to set it to apply different groups of properties to different pages (or even different groups of properties on one page).

Rapporter

You can collect reports by tags. For example, the macro «InnehÄllsrapport» collects all pages with a specific set of tags.

Design i Confluence

But a more interesting report is the macro «Sidpropertyrapport». It also collects all pages with a specific set of tags, but instead of simply listing them, it creates a table (catch the connection to the beginning of the article?), where the columns are the keys of the page properties.

Design i Confluence

It results in a summary table of information from various sources. It's nice that it has useful functions: responsive layout, sorting by any column. This report table can also be configured within the macro.

Design i Confluence

When configuring, you can remove certain columns from the report, set the default state, or the number of displayed records. You can also specify the ID of the page property to see only the information you need.

Till exempel, du har mĂ„nga anstĂ€lldasidor, och dessa sidor har en uppsĂ€ttning egenskaper om personen: vilken nivĂ„ de har, var de befinner sig, nĂ€r de kom till teamet och sĂ„ vidare. Dessa egenskaper Ă€r markerade ID = employee_inf. Det finns ocksĂ„ en andra uppsĂ€ttning egenskaper pĂ„ samma sida, dĂ€r informationen om personen som en del av teamet Ă€r samlad: vilken roll personen har, i vilket team de befinner sig och sĂ„ vidare. Dessa egenskaper Ă€r markerade ID = team_inf. SĂ„ nĂ€r du sammanstĂ€ller en rapport kan du antingen visa information baserat pĂ„ ett ID eller pĂ„ tvĂ„ — beroende pĂ„ vad som Ă€r bekvĂ€mare.

Skönheten med denna metod Àr att varje person kan samla den informationstabell de behöver, som inte duplicerar nÄgot och som uppdateras nÀr huvud sidan uppdateras. Till exempel: en teamledare bryr sig inte om nÀr hans utvecklare började arbeta, utan om vilken roll var och en av dem har i teamet. Teamledaren kommer att samla sin rapport om teamet. En revisor bryr sig överhuvudtaget inte om vilken roll som utförs, men det Àr viktigt med positionerna - han kommer att samla sin rapport om positionerna. Samtidigt kommer informationskÀllan inte att dupliceras eller flyttas.

Slutprocessen

Instruktion

SÄ, vi kan vackert strukturera och effektivt aggregera information i Confluence genom att anvÀnda makron. Men i idealfallet bör vi se till att ny information omedelbart Àr strukturerad och kommer in i alla redan anvÀnda aggregationsmekanismer.

HÀr kommer en kombination av makron och mallar till hjÀlp. För att fÄ mÀnniskor att skapa nya sidor i rÀtt format kan du anvÀnda makrot "Skapa frÄn mall". Det lÀgger till en knapp pÄ sidan, som nÀr man klickar pÄ den skapar en ny sida frÄn den mall du önskar. SÄ du tvingar mÀnniskor att omedelbart arbeta i det format du behöver.

Design i Confluence

I mallen, frÄn vilken du ger möjlighet att skapa en sida, behöver du pÄ förhand lÀgga till etiketter, makrot "Egenskaper för sidan" och tabellen med de egenskaper du behöver. Jag rekommenderar ocksÄ att lÀgga till instruktioner om vilka vÀrden som ska fyllas pÄ sidan och vÀrdena för egenskaperna.

Design i Confluence

DÄ kommer slutprocessen att se ut sÄ hÀr:

  1. Du skapar en mall för information av viss typ.
  2. I denna mall lÀgger du till etiketter och sidans egenskaper i makrot.
  3. PÄ valfri plats skapar du en huvudsida med en knapp, som, nÀr du klickar pÄ den, skapar en undersida utifrÄn en mall.
  4. Du bjuder in anvÀndare till huvudsidan som potentiellt kan generera den information som behövs (enligt mallen, genom att klicka pÄ knappen).
  5. Du samlar en rapport om sidans egenskaper via de etiketter som du angav i mallen.
  6. Du Àr glad: du har all nödvÀndig information i ett bekvÀmt format.

Design i Confluence

FĂ€llor

Som kvalitetsingenjör kan jag utan tvekan pĂ„stĂ„ att inget Ă€r perfekt i vĂ€rlden. Även gudomliga tabeller Ă€r inte perfekta. Och i processen som beskrivits ovan finns det fĂ€llor.

  • Om du beslutar dig för att Ă€ndra namnen eller sammansĂ€ttningen av sidans egenskaper, mĂ„ste du uppdatera alla redan skapade objekt sĂ„ att deras data korrekt dras in i den sammanstĂ€llda rapporten. Detta Ă€r trĂ„kigt, men Ă„ andra sidan tvingar det dig att noggrant tĂ€nka igenom "arkitekturen" av din informationsuppsĂ€ttning, vilket Ă€r en mycket intressant uppgift.
  • Du mĂ„ste skriva ett betydande antal instruktioner om hur man fyller i informationstabeller och anvĂ€nder etiketter. Men Ă„ andra sidan kan du helt enkelt skicka den hĂ€r artikeln till alla berörda.

Exempel pÄ lagring av icke-produktdokumentation

Genom den process som beskrivits ovan kan du organisera lagring av nÀstan all information. Det som Àr fantastiskt med metoden Àr att den Àr universell: nÀr anvÀndare vÀnjer sig vid den slutar de att generera kaos. En stor (men inte gratis) fördel Àr möjligheten att samla in olika statistiker i realtid och skapa vackra diagram baserat pÄ dem.

Jag kommer att ge ett exempel pÄ vÄr informationshantering om teamet.

Design i Confluence

För varje person i teamet bestÀmde vi oss för att skapa ett medarbetarkort. DÀrför har vi en mall, enligt vilken varje ny person skapar sitt kort och hÄller reda pÄ all personlig information dÀr.

Design i Confluence

Som ni ser har vi en omfattande tabell med egenskaper och redan finns det instruktioner om hur man leder denna sida. En del etiketter fylls i av medarbetarna enligt instruktionerna, i mallen finns bara de grundlÀggande: etikett för kortet employee-card, etikett för riktning direction-involve och etikett för teamet team-qa.

I slutÀndan, efter att varje person har skapat sitt kort, fÄr vi en fullstÀndig tabell med information om anstÀllda. Denna information kan anvÀndas pÄ olika stÀllen. Resurschefer kan sammanstÀlla gemensamma tabeller, och teamledare kan skapa teamtabeller genom att lÀgga till lagets tagg i urvalet.

Genom taggar kan man se olika sammanstÀllningar, till exempel om qa-upgrade-plan kommer alla uppgifter om QA-utveckling att visas. Varje person i sitt anstÀlldkort hÄller en viktig historik och sin utvecklingsplan - skapar en inbÀddad sida frÄn mallen för utvecklingsplaner.

Design i Confluence

Slutsats

Dokumentera allt pÄ ett sÀtt sÄ att det inte Àr pinsamt och sÄ att anvÀndarna inte ska behöva lida!

Jag hoppas verkligen att artikeln kommer att vara anvÀndbar och att det kommer att bli ordning i alla dokumentationer i vÀrlden.

Design i Confluence

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster