Hei alle sammen!
Eg heiter Masha, og eg arbeider som kvalitetssikrar i Tinkoff-gruppa. Jobben som QA inneber mange kommunikasjonar med ulike folk frÄ forskjellige team, og sidan eg ogsÄ har vore leiar og undervisar i utdanningsprogram, har eg eit breitt kommunikasjonskart. Og i eit augneblink fekk eg eit utbrudd: eg innsÄg at eg ikkje lenger kunne fylle ut vonde tonn med uleste tabellar og dokument.

Sannsynlegvis har kvart og ein av dykk no forestilt seg det eg snakkar om, og fÄtt svette pÄ panna: lister med namn utan alfabetisk rekkefÞlgje, tabellar med hundrevis av kolonnar der oppsettet er Þydelagt, tabellar med tusenvis av rader der ein mÄ gni fingeren mot musa for Ä sjÄ overskrifta, tonn med ikkje-nummererte instruksjonssider, hundrevis av e-postar som blir sendt fram og tilbake med data som mÄ analyserast og systematiserast og puttast inn i like uleste tabellar.

Og nÄr eg kjÞlte meg litt ned, bestemte eg meg for Ä skrive denne artikkelen. Eg vil fortelje om korleis ein kan fÞre diverse ikkje-produktdokumentasjon pÄ ein ordentleg (og til og med ofte behageleg) mÄte. Eg hÄpar at artikkelen vil spreie seg i nettet og at nivÄet av elendighet i nabodepartementa til utviklinga vil bli litt mindre, og at folk (inkludert meg sjÞlv) vil bli eit lite grann meir lukkelege.

Tools
Produktdokumentasjonen blir oftast lagra nÊr koden, og det er bra. Ikkje-produktdokumentasjonen blir derimot ofte lagra overalt. Folk prÞver ofte Ä flytte informasjon frÄ ulike stader til Confluence, og vi er ikkje unntaket. SÄ heile vidare fortelinga handlar om det.
Confluence er eigentleg ein avansert wiki-motor. Det gir deg moglegheit til Ä arbeide med data pÄ ulike vis: tekst med formatering, tabellar, diverse diagram. Det er eit svÊrt interessant og kraftig verktÞy, men dersom ein ikkje veit korleis ein skal bruke det, fÄr ein berre ei ny sÞppelhaug med uleste dokument. Eg vil lÊre deg Ä bruke det!

Makros
Nesten all magia i Confluence er basert pÄ makros. Det finst mange makros, og dei kan kombinerast med kvarandre. Nokre er betalte, og andre er gratis; det vil kome diverse dÞme pÄ makros med lenker til dokumentasjonen for dei.
Grensesnittet for Ä arbeide med makros er svÊrt enkelt. For Ä legge til eit makro, trykker ein pÄ pluss-teiknet og vel den aktuelle boka frÄ lista.

Hvis makroen er selvforsynt, det vil si at den ikke krever at noe annet settes inn i seg, ser den ut som en blokk.

Hvis makroen trenger at noe settes inni den for Ă„ fungere, ser den ut som en ramme.

Man kan imidlertid plassere sÄ mange andre inn i en ramme, sÄ lenge det er logikk i pyramiden din.

Hver makro har en forhÄndsvisning: der kan man umiddelbart se om man har fylt ut og konfigurert makroen riktig.
Malverk
I tillegg til makroer finnes det et praktisk verktĂžy for forhĂ„ndsutfylling av innhold â det er malen.
Malene kan brukes nÄr man oppretter hvilken som helst side: bare klikk pÄ de tre prikkene ved siden av knappen "Opprett" og velg Þnsket mal.

Da vil alt innholdet i malen legges til den opprettede siden.
Alle kan opprette sider fra maler, men bare de som har tillatelse kan opprette eller redigere selve malene. Man kan legge til ekstra instruksjoner til malen om hvordan siden bĂžr fĂžres.

Tabellenes magi
Som teknisk person elsker jeg faktisk tabeller og kan nesten pakke hvilken som helst informasjon inn i dem (selv om det ikke alltid er effektivt). Selve tabellene er klare, strukturerte, skalerbare, magiske!

Men selv en sÄ fantastisk enhet som tabellen kan Þdelegges. Den kan ogsÄ brukes smart og til og med forbedres. Mer om dette nedenfor.
Filtrering (betalt plugin)
Enhver stor, uleselig tabell kan gjĂžres litt mindre stor og litt mer lesbar ved hjelp av filtrering. For dette kan man bruke en betalt makro. .
Inn i denne makroen mÄ man putte tabellen (man kan til og med bruke den styggeste, det viktigste er Ä fÄ den helt inn). I makroen kan man velge kolonner for filtrering fra en rullegardinliste, tekstfilter, numerisk filter og datofilter.

Tenk deg at all informasjon om kandidater til alle stillinger blir registrert i en tabell. Naturligvis usortert â folk kommer ikke til intervjuene i alfabetisk rekkefĂžlge. Og du mĂ„ finne ut om du har intervjuet en bestemt sĂžker tidligere. Bare putt dette kaoset inn i filtermakroen, legg til tekstfilter etter etternavn â og voilĂĄ, informasjonen er pĂ„ skjermen.

Det er verdt Ä merke seg at filtrering av store tabeller kan pÄvirke systemets ytelse og lastetid for sider, sÄ det Ä plassere en stor tabell i filteret er en midlertidig lÞsning. Det er bedre Ä bygge en prosess der folk ikke mÄ lage store, uleselige tabeller (et eksempel pÄ prosessen vil komme pÄ slutten av artikkelen).
Sortering (betalt plugin)
Med den magiske makroen kan du ogsÄ angi standard sortering etter hvilken som helst kolonne og nummerere radene. Eller klikk pÄ hvilken som helst kolonne i tabellen som er plassert i filtermakroen, sÄ vil sortering skje etter den kolonnen.

For eksempel, hvis du har den samme tabellen med sÞkere og mÄ finne ut hvor mange intervjuer som har blitt holdt i en viss mÄned, sorter etter dato og nyt.
Pivot-tabeller (betalt plugin)
La oss nÄ gÄ videre til en mer interessant sak. Tenk deg at tabellen din er gigantisk, og du mÄ gjÞre noen beregninger pÄ den. SelvfÞlgelig kan du kopiere den til Excel, gjÞre de nÞdvendige beregningene og laste dataene tilbake til Confluence. Eller du kan bruke makroen én gang for Ä fÄ det samme resultatet, bare at det oppdateres.
For eksempel: dersom du har en tabell som samler data om alle ansatte â hvor de befinner seg geografisk og hvilke stillinger de har. For Ă„ finne ut hvor mange personer det er i hver by, mĂ„ du velge i makroen «Pivot-Tabell» den raden som dataene aggregeres etter (plassering) og type operasjon (summering).

SelvfĂžlgelig kan du gruppere etter flere kriterier samtidig, alle muligheter kan du se .
Diagrammer (betalt plugin)
Som jeg allerede har nevnt, er ikke alle like glade i tabeller som jeg er. Dessverre liker de fleste ledere dem overhodet ikke. Men alle elsker fargerike diagrammer.
Skaperne av Confluence visste sikkert dette (de har nok ogsĂ„ overordnede som liker rapporter og diagrammer, hva ville de gjort uten dem). Derfor kan du benytte deg av den magiske makroen . I denne makroen mĂ„ du legge inn pivot-tabellen fra forrige punkt, og vips â de grĂ„, kjedelige dataene dine er pent visualisert.

SelvfÞlgelig finnes det innstillinger ogsÄ i denne makroen. En lenke til dokumentasjonen for hvilken som helst makro kan du finne i redigeringsmodus for den makroen.
Enkelhet i aggregering
Informasjonen fra de forrige punktene har sikkert ikke vÊrt Äpenbar for deg. Men nÄ kan du definitivt bruke makroer, og jeg kan gÄ videre til den mer interessante delen av artikkelen.

Merker
Det er dÄrlig nÄr folk lagrer informasjon i en enkelt, ustrukturert artikkel eller en enorm tabell. Enda verre er det nÄr deler av denne informasjonen ikke bare er uleselig formatert, men ogsÄ spredt utover Confluence. Heldigvis er det mulig Ä samle den spredte informasjonen pÄ ett sted. For dette mÄ du bruke (de samme som alle kjenner fra sosiale medier).

Du kan legge til et valgfritt antall etiketter pÄ hvilken som helst side. Hvis du klikker pÄ en etikett, kommer du til en aggregasjonsside hvor det finnes lenker til alt innhold med denne etiketten, samt et sett med relaterte etiketter. Relaterte etiketter er de som ofte forekommer pÄ samme side.

Sideegenskaper
Du kan legge til en annen interessant makro for Ă„ strukturere informasjon â . I den mĂ„ du sende inn en tabell med to kolonner, hvor den fĂžrste vil vĂŠre nĂžkkelen og den andre verdien av egenskapen. Dessuten kan makroen skjules fra siden, slik at den ikke forstyrrer lesingen av innholdet, men siden vil fortsatt bli merket med de nĂždvendige nĂžklene.

Merk ID-en â det er praktisk Ă„ tilordne ulike grupper av egenskaper til ulike sider (eller til og med ulike grupper av egenskaper til Ă©n side).
Rapporter
Rapporter kan samles basert pÄ etiketter. For eksempel samler makroen alle sidene med et bestemt sett av etiketter.

Men en mer interessant rapport er makroen . Den samler ogsÄ alle sidene med et bestemt sett av etiketter, men ikke bare viser dem i en liste, men lager en tabell (ser du forbindelsen til starten av artikkelen?), hvor kolonnene er nÞkkene av sidens egenskaper.

Det resulterer i en oppsummeringstabell over informasjon fra ulike kilder. Det er hyggelig at den har praktiske funksjoner: responsiv design, sortering etter hvilken som helst kolonne. Denne rapporttabellen kan ogsÄ konfigureres inne i makroen.

Ved konfigurasjon kan du fjerne visse kolonner fra rapporten, sette standardstatus eller antall viste poster. Og du kan ogsÄ angi ID-en til sidens egenskap for Ä se kun informasjonen du trenger.
For example, you have many employee pages, and these pages have a set of properties about the person: their level, location, when they joined the team, and so on. These properties are marked ID = employee_inf. There is also a second set of properties on the same page, which collects information about the person as part of the team: what role the person performs, what team they are in, and so on. These properties are marked ID = team_inf. Then, when generating a report, you can pull information based on a single ID or both at once â whichever is more convenient.
The beauty of this approach is that anyone can compile the information table they need, which will not have any duplicates and will be updated whenever the main page is updated. For example, the team lead doesnât care when their developers started working, but itâs important what role each one plays in the team. The team lead will compile a report on the team. Meanwhile, the accountant doesnât care what roles are performed, but itâs important to know the positions â they will compile a report on positions. The source of information will not be duplicated or transferred.
Final process
Bruksanvisning
So, we can beautifully structure and efficiently aggregate information in Confluence using macros as an example. Ideally, we need to ensure that new information is immediately structured and into all existing aggregation mechanisms.
Here, the combination of macros and templates will help. To encourage people to create new pages in the required format, you can use the macro "Create from Template." It adds a button to the page, which, when clicked, creates a new page from the template you want. In this way, you make people work in the format you need right away.

In the template from which you allow page creation, you need to pre-add tags, the "Page Properties" macro, and a table of the necessary properties. I also recommend adding instructions on what values should fill the page, and the values of the properties.

Then the final process will look like this:
- You create a template for a specific type of information.
- In this template, you add tags and page properties in the macro.
- Du kan opprette en rot side med en knapp hvor du klikker for Ă„ lage en underside fra en mal, hvor som helst.
- Du lar brukerne, som potensielt vil generere nÞdvendig informasjon (i den nÞdvendige malen ved Ä klikke pÄ knappen), gÄ inn pÄ rot siden.
- Du samler rapporten om egenskapene til siden gjennom etikettene du har angitt i malen.
- Du glede deg: du har all nĂždvendig informasjon i et praktisk format.

Feller
Som kvalitetsingeniĂžr kan jeg trygt si at ingenting er perfekt i verden. Selv guddommelige tabeller er ikke uten feil. Og det er feller i den prosessen som er nevnt ovenfor.
- Hvis du bestemmer deg for Ä endre navn eller sammensetning av egenskapene til siden, mÄ du oppdatere alle allerede opprettede objekter for at dataene deres skal hentes korrekt til den samlede rapporten. Dette er trist, men pÄ den annen side tvinger det deg til Ä tenke grundig gjennom "arkitekturen" til informasjonssettet ditt, noe som er en ganske interessant oppgave.
- Du mÄ skrive et betydelig antall instruksjoner om hvordan du fyller ut informasjons tabeller og bruker etiketter. Men pÄ den annen side kan du bare sende denne artikkelen til alle nÞdvendige mennesker.
Eksempel pÄ lagring av ikke-produktdokumentasjon
Gjennom prosessen beskrevet ovenfor kan du organisere lagring av nesten hvilken som helst informasjon. Fordelen med tilnÊrmingen er at den er universell: nÄr brukerne venner seg til den, slutter de Ä generere rot. En stor (men ikke gratis) fordel er muligheten til Ä samle inn variert statistikk i sanntid og lage vakre diagrammer.
Jeg vil gi et eksempel pÄ vÄr prosess for informasjonsbehandling om teamet.

For hver person i teamet bestemte vi oss for Ă„ lage et ansattkort. Derfor har vi en mal hvor hver ny person lager dette kortet og fĂžrer all personlig informasjon i det.

Som du ser, har vi en omfattende tabell med egenskaper, og det finnes umiddelbart instruksjoner om hvordan man fĂžrer denne siden. Noen etiketter settes av ansatte etter instruksjonene; i malen er det bare de viktigste: etikett for kortet employee-card, etikett for retning direction-involve og etikett for teamet team-qa.
NÄr alle har opprettet sine kort, fÄr man en komplett tabell med informasjon om ansatte. Denne informasjonen kan brukes pÄ ulike steder. Ressursledere kan samle seg felles tabeller, mens teamlederne kan opprette teamtabeller ved Ä legge til teamtaggen i utvalget.
Gjennom tagger kan man se ulike oppsummeringer, for eksempel for qa-upgrade-plan vil alle oppgaver relatert til utvikling av QA bli vist. Hver person fĂžrer en viktig historie og sin utviklingsplan i sitt ansattkort â de lager en underliggende side fra malen for utviklingsplaner.

Konklusjon
FÞr dokumentasjonen pÄ en mÄte som gjÞr den stolt, og som ikke vil vÊre en plagsom opplevelse for brukerne!
Jeg hÄper virkelig at artikkelen vil vÊre nyttig, og at det vil bli orden i all dokumentasjon i verden.

Kilde: habr.com
