// ILOG Discovery object version:1.0(00000000) version { .data.ColumnDescription = 0 .data.ComputedColumn = 0 .data.TableDescription = 0 .data.sources.SourceReader = 0 .data.sources.StreamSource = 1 .presets.EditionStyleProjection = 0 .proj.ClusterProjection = 0 .proj.Expression = 1 .proj.FrameStyle = 1 .proj.HierarchicalProjection = 0 .proj.LocalVariable = 0 .proj.MultiLevelClusterer = 0 .proj.Projection = 0 .proj.RecordProjection = 0 .proj.Synthesizer = 0 .proj.clusterers.DateClusterer = 0 .proj.decorations.BaseDecoration = 0 .proj.decorations.ConstantDecoration = 0 .proj.expressions.ClusterExpression = 0 .proj.expressions.DimensionExpression = 0 .proj.expressions.DoubleExpression = 0 .proj.expressions.LabelExpression = 1 .proj.expressions.PositionExpression = 0 .proj.expressions.SortExpression = 0 .proj.layouts.AbstractLayout = 0 .proj.layouts.AxisLegendSettings = 0 .proj.layouts.EllipseLayout = 0 .proj.layouts.FieldLayout = 0 .proj.layouts.LegendSettings = 2 .proj.layouts.MarkDisplay = 0 .proj.layouts.RectangleLayout = 0 .proj.synthesizers.Avg = 0 .proj.synthesizers.ID = 0 .proj.synthesizers.Max = 0 .proj.synthesizers.Min = 0 .proj.synthesizers.NumItems = 0 .proj.synthesizers.One = 0 .proj.synthesizers.Sum = 0 .project.Project = 0 .project.ProjectItem = 0 .project.ProjectionItem = 0 .project.TableDescriptionItem = 0 .project.TableItem = 0 .project.TableViewItem = 0 .util.FastArrayList = 0 .util.beans.DefaultInspectableBean = 0 .util.expr.ParsedExpression = 0 } "demobugs.pjd": .project.Project { items { "0" { description { columns { "0" { emptyValue: Double = 0.0 name = id type = Integer } "1" { enumerated = true name = YearNb } "2" { enumerated = true name = Version } "3" { enumerated = true name = Status } "4" { enumerated = true name = Severity } "5" { enumerated = true name = Category } "6" { enumerated = true name = Priority } "7" { enumerated = true name = Submitter } "8" { enumerated = true name = Reporter } "9" { enumerated = true name = InCharge } "10" { emptyValue: Date { date = 1 hours = 1 minutes = 0 month = 0 seconds = 0 time = 0 year = 70 } name = Created type = Date } "11" { emptyValue: Date { date = 1 hours = 1 minutes = 0 month = 0 seconds = 0 time = 0 year = 70 } name = Closed type = Date } "12" { enumerated = true name = Module } "13" { name = ShortDescription } "14": .data.ComputedColumn { cached = false emptyValue: Double = 0.0 name = Duration type = Double value = "round((Created - Closed)/3600000/24)" } } } id = 0 name = TableDescription } "1" { description { columns { "0" { emptyValue: Double = 0.0 name = id type = Integer } "1" { enumerated = true name = YearNb } "2" { enumerated = true name = Version } "3" { enumerated = true name = Status } "4" { enumerated = true name = Severity } "5" { enumerated = true name = Category } "6" { enumerated = true name = Priority } "7" { enumerated = true name = Submitter } "8" { enumerated = true name = Reporter } "9" { enumerated = true name = InCharge } "10" { emptyValue: Date { date = 1 hours = 1 minutes = 0 month = 0 seconds = 0 time = 0 year = 70 } name = Created type = Date } "11" { emptyValue: Date { date = 1 hours = 1 minutes = 0 month = 0 seconds = 0 time = 0 year = 70 } name = Closed type = Date } "12" { enumerated = true name = Module } "13" { name = ShortDescription } "14": .data.ComputedColumn { cached = false emptyValue: Double = 0.0 name = Duration type = Double value = "round((Closed - Created)/3600000/24)" } } } id = 1 name = TableDescription } "2": .project.TableItem { descriptionId = 0 id = 2 name = "Open bugs" source { fileName = "openbugs.txt.gz" reader { formats { "0" = "#,##0.###|en_US|" "10" = "M/d/yy h:mm a|en_US|" "11" = "M/d/yy h:mm a|en_US|" } headerBytes = 339 } } viewCount = 10 } "3": .project.TableItem { descriptionId = 1 id = 3 name = "Closed bugs" source { fileName = "closedbugs.txt.gz" reader { formats { "0" = "#,##0.###|en_US|" "10" = "M/d/yy h:mm a|en_US|" "11" = "M/d/yy h:mm a|en_US|" } headerBytes = 339 } } viewCount = 6 } "4": .project.TableItem { descriptionId = 0 id = 4 name = "Open bugs/In charge" source { fileName = "openbugsperperson.txt.gz" reader { formats { "0" = "#,##0.###|en_US|" "10" = "M/d/yy h:mm a|en_US|" "11" = "M/d/yy h:mm a|en_US|" } headerBytes = 339 } } viewCount = 2 } "5": .project.TableItem { descriptionId = 1 id = 5 name = "Closed bugs/In charge" source { fileName = "closedbugsperperson.txt.gz" } viewCount = 2 } "6": .project.TableViewItem { comment = "This view shows how pending bugs are split by priority.
Each large square represent a bug priority: Low, Medium, High, Unassigned...
The number that follows is the number of bugs you have in that category.
Each small square inside represents one bug. The more bugs you have in one category, the smaller the square. The yellower the color, the more recent the bug: Hopefully, you should have only a few black squares in the high priority quadrant.

You can:

" iconAsString = "0000P00000b7;R0000000000UFiN@=iEJHlfMfZ3cdMWJgjjRbEAQ015@^TPH^@2TKO9TkQ4^98SbEAT5Q0HDa::8RRBMX022:h2ED^8G24bEB24B89l1188PX2FZ[[EY[kJMf^kNfYkOh<]Ek<cidM7MgLC=o;YKMcKm>b2Tl1U[CS^gQb8m\\MaUmjQ7XLai@gi>lgMgLo]5BO@FjY9nUG1;@eD5VkL;?OKeNc8[_fjOglC;U\\f`6Lkcn31]a=^MWLjWQ_:Y@?LV`VeLTc3S7XW^To[^@POocMkolM>n_NYkeGgkQO:7?m11\\fGkeCVO__Gn7i`7eIWl5QGQi\\CkbcMRK;K1][^RiCn4offf`^Y=5:BO2iafg1XElcZO=mW\\b5H@1BNMb_QjbG]\\`7E3N]:`HZj2HS<2Dh`Qb5g@5HPXFWl_e=bLFh]?gTNKOBg]I2QAU^GKE8XBIch`kdFMng]W0mOMbojeUWAM1[E19Cj3DW2\\3e=ZZ^0JbTl7?nmiRK82igJ;i^l2XNf:1o\\UmKYIaohI3HQY2cVIdcH5klflobEPKmNn<_S4S`m4W8d59VKb9Bm`Y3UCflcbm6OlT9AV5CFAa8:@:QA;T>4M6[XRT1M:Q4Bh8@hg?mn]SU3S3V<]4S7BT0Z160=4NQh]7@bk7O3E7AEG4jBUC_dcBYlc1EfY9S65IOA618;GfL;]Tl:8g8>^HXolA8TgAITMVDb:MRIW9S<>4i\\CW:?fAdbeYdH3DKX6Rel54?EAT:FBT5UGhBb7Kni@h8I6Y4aQGnIW9]^K7B[2ZJ64BcPDE9UVNi@:jSQj10a@Z7PMNi@N2SZa>VJBSY2WVQX>\\LBZjW`e[mPeF]hNk0Zo^HgOWD1N?gUNoM@^Wk`YSfP^gMRjhR9eIK\\e<8K5maCF?lUN?n:7P7`E<0MYM;H`N5MR2`\\0\\O[WNhdn\\RMWO`5fm]iecMSZ[fS][Kc^W>4Ll2PjXE6JUAA]DJ3?85EmCG_2j:oO>AP[N0FW\\8lfW0oL`4VaBTcJ53`]K1SImA=Q1Z`S6N;=NXj[AG@91Z==3bD[LJZUaGe05E`:>U96S[Sg46HJM4fC<6caec0NPFIAd[\\8^Wl0D?jn40Jii3]eVC]YjUHA[8SJCJLm2=Z;A3JRKLml7Ee1iH2Q=4m4S84F_`Y<4k4j4>[9fFe9JL=9EHnT]37QMHJcKSlRcReR1nc=51@lUdW5V1Xn]33=5`]bfV9VP^=\\1>C9A947k3VL\\k?NN79[TSP@8Q5Zoli^_\\bTONi6O>I;fHSU37>R49:QhChGc41joV]kd770<000" id = 6 name = "by Priority (and date created)" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = Priority } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { fixedMargins = true horizontalMargins = "[0.011904761904761904, 0.9901190476190476]" marginReduction = 0.05 verticalMargins = "[0.05, 0.9761904761904762]" } label { font = "dialog.bold-BOLD-16" horizontalPosition = 0.49 value = "concat(toString($recordCount, \"#\"), , \" \", $id, \" reports\")" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "($cur%$Columns)/$Columns" } y { value = "floor($cur/$Columns)/$Rows" } } name = Map records { decoration { value { mapping = LINEAR value = Created } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.0 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.NumItems { } value = Created } variables { "0" { initialValue { value = "rint(sqrt($childCount))" } name = Rows } "1" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,true,$recordCount" } name = GridLayout } } } tableId = 2 } "7": .project.TableViewItem { comment = "This view shows how pending bugs are split by severity and priority.
The color of each square represents its module.

This view should let you figure out if there is a correlation between severity and priority, as well as the modules that seem to have stability issues.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border
  • View bug summary by moving the mouse cursor over the view.
" iconAsString = "0000P00000b7;R0000000000UFIN@=iIJ0LeJMVFaIYU3i\\T@42@BPL@8g1B8742i;@07@A5XXX^F;eSQZE;FffbZF[5A^24QZEaUE4<@:7a012iS0inP4b1@0TEZ^^[kaO\\oi^OEWUeeIGVAjclKnVWimkMn=?ckkcllZ@^R1ELSQnAI@dKgbTf\\dGRLhoUhGkhXd[3^aYRYmf@_Vo4@Ri]Ok8N[gjmfjF36?N2oBlKJ:f^\\BJU5@Jg8f>JQJK=Vn3nM8>@aD3;3>hg19B:`QS=jXgIb9Wd6`obn`nlO:foac3o?^LLN]2kan24R:?FZ17<\\P2JW15D@Q6JL14@H14@ha2?^=PoI]aHA?4lkVhl>9JC7J7CWX5`DZXL6_`OH17nRcWc3kSSVQC_g^hYX76=D7cZ>=ecD5e=@mcTNbIb2O^0DbCe9`]1lK6<;gVIIHL^PZ4=UJBS>4]^jTI?METN=lW@E1S=4`4?WDVaXja6[ULA`jdlGHFVckRSK;LNT7:>=bN63Y=jP\\f0nm>CV?f?mULcH9?I\\TGbNM`M9?TWLl2VgEj;j=3o^IlGOBR;jQ6D1XG;m=PofK=g6[7@mP@O038WPl^9HJ:\\oiEamTUCKe5aI0cY^;;Jg5`VE6IaSK>JEU_I@1N\\@7j6gf`QQT6=J=RJ=j_gFK\\n6e[>nKf:L1I52ZT21?^4nC;Si?h;]ElBji[PbWMb`Q1O=R3ALa7G2KOk16h_:0XA[KNcK55:D@cE53@KIG`Oj2Qnl75h[bPmgBK>GYh`DRcH>I[jCkOng3O=NRo4N=oi9V@Q541@>a5D`klm3jmaR5jY7RBbUl[Ei_JmkaN6NM@gUE2N\\SghTLGOo];Ue\\FCCS:LA7CLA4MP8@4KDA2S?G4[SOK64kfFf@Mk>=agQn\\FOogj62J=:C`QN4o?mOU;AN6CaJBGdQ7eV2?Z=33fk4NHK:SdSMX7\\[1j9fW]hkmjn[_Q3ENQiU[00A\\5V=glUTcgLYmOa_^X;GKneo]B^b5;lLO:WcLJFW^BfUD<5BT8EbnbnDO2`9>N>UEZXm\\7^BbU7?^2ha?o::G2DBV\\iV5OV[A[=g2dic_m;;]Vc__OcWGBeOFQeli7D]BXIVB6OHaZDD`83\\GW6BH\\Q`oSMCZf_P8dkkGhLljXULTe<_VK8m[LA>eLNfEnal;[DPBfc7T2V4S::`]K_lK8]\\V_NU:E\\7U::JXn:NXnf[Z1:cUY<\\?=M;Pd6G9cOX3^GmB0S=T`A6@TB5R7F^H5gGdm^[X_G6PZn9fg_WDGgTfMTAmLEAoS>:aB;9eKfn?gOfcM?L?g]lkeiAk^cB_k]ZDghB07]0MZU0>Bnj6[hEW3_OW4lk4WGkh1EC_Y[9LJ=2e=6PA]l=X9;mJh2>JFmg3PKc9iHJ\\C>2=]:C\\^;Wji?C:WXbH_c]nicW1O`nkonkGam;]o^g[lkMHmCD4XjR17YX97]@@eUha2GGV4jb6[969M=:i>UJ6CXTIOmd6ToQk[RQTO`Qkk83:o3k_W?f\\^m=]fBe3N0mCDR1]EldUBkWlCOEoDO\\O:>h3>R:5E^<2XeO_M0=oGP01lic?GaIMd3;nH79_Lc=GNLi1]H1BhNRS;DLh`S7_?iS8DmWA4R;LF2g\\mVZm[Z=cThis view shows how open bugs are split by year and month.
At the first level, you can see the break down by year, and the breakdown for each month at the second level (0=January, 1=February, and so forth).
The color of each bug report indicates its priority: red for unassigned and orange for high priority.

You may want to focus on the old bugs (previous years and months) that show high priorities: this is not normal.

In this view, you can also observe the months during which bugs have been created: larger areas shows months for which lots of bugs have been created, most likely testing phases." iconAsString = "0000P00000b7;R0000000000]JIjC]eeIHlo3JKJ]CK:9>6kJkjmD<6QIAkBXE42TTAXEd:P042T@2d28f]@[8T=k;6`6aV4h]Y>9CRmDK3Co@oBMC=NLVYmC=cDk`V0Y3FcdcEbXjYYCo@VZiINVOWGMiiblN^gc[^gbgm[j[_YW;d_oQ;i=enh1=:efR:]_dT>jXHfh`64J;`Hegmmeee3DI?L=MN7X[\\e`G_7gP1Y5?06`ea]TcfGoJ^CU_oITGP^9HXOB?FZbS[c3fm4Pm>JlX71\\ka1kNB`^7;N\\O98bYP`KSm[1kMTJMiVGCcbf`]:ah]hHjf5IH6f=N[^\\I3hj4akmC0^?ePfZLmFKomcWLZlMO6`NY3RVFL`Q1AohT:nnoLH\\@h]P31Rm[ZbQCF6VVFmCEX1XVVF3gTN3CeZIcPNohhmL8@_7I0[ZF_5kmi]?a\\Y3c_MOBXDQCVJLK_N5eec:ef520Uf^G>IUGMMAA6TFT1:8bPHn?hcUFEk[0e3MF7Bo?:\\9OD`^o6`NO:8j7Qhkm9`nC_CI0f`iJjf\\KL6VjWVC20fXB2_Xk\\1>B3hlC1^>6`BJ`n_O_mY[<6`l_cWc1nG1eb]9`Sc<1kN:@TO;HW?34i\\P]c0\\MVP8W3Z0gfFIVWCXUi5KMQ[fD@X3gUQ;UHM1HmGiV:`G60?W6hi

cHmNL6`[_E:6IoMi_P>m6^9LWJaF:aae>mKNCJoGE7SZU^^APRV^A:@k`dB`YdOZ]eDJ?gNkYbWOYlIaR5G>L58@03jHdD9c:[PNeJ:B]:jLiT=G>XBX\\?`A4KfiR6?E<4XQ6:ldP@BV81BLaRR;Z\\7eCOYbWMI:IFZRR5E9?YJP_O5OW;5OCLag2;0aQ2Cl]c;n>I2OS;nVTgO3:k_MVo]_]hZkh^edamdfimZ]SkEC7g5^mYXU`G_gQRG7jhW=ceMRToRRO0@?QXF\\gimj_OOmkW7JbLe8FU>f2[T_Rj4Y^1?>b;NTc]o^WIo8W7YA]cUQM6h3?oi_YPBKJ>^V2bcD@h1>B]^T@c;8ajRR\\<_>`kiR[mTaCoD[gA?`lWGdUmkQ6gbTa^DIUDVLnBZ`Ta;\\fZ7O]WM\\EOf9@PE?fJ[VnZ?mTc7>_2Df3Me>XX\\7VEhP\\R^Q0EEGSVjNPeQ\\gJI]VQS^ZYC_VhdGkXYo\\^@bOAYGjFg<3Aeh\\<]n:]FO2djCVD:miYHW>HigGAnLc1fIbYDLidB`@9TK9c?2BoIjB_2WbD;AUnBUE_T:JBA=FMM]lP7>7Mc\\1kLaXKTO\\=c=6Li6i3f>[XKR2ag0W[ajCEK;YZ]@EdFHi]^X\\FFBMKQTHK15fGBA[QB<7YmG4f;Cd]^7^7Y]\\P0;1;_U5Q>LfDi8;WCQm5CLGFL`>]mR@m2cOF1XZG7SJ=iFBeMYB_[ZJdS;WW70nPXkmA9mHAo`HA?LZU9M3mK6NH>]6VTJmC```T9WMTl4N:9?WgJe_H1k`lGFN6oaWT9KQJHFFE59ZVBTXmo1ejW4jDZOBb9Z@Bk4`_U@]S3[7HZ70W?6ldWELQ\\UZ?P@mS8ah8lKH0kf^b;OnENegTi;ON>_JmClbo2Z4<\\bUQE6hVe9d``lKHHIV63jB=>jE[O8967]d662FAPnA:gdXlKH8A=>bHcLOHncNV;DV67=J@0WbD9FQFYZdE6Obf\\@gJc5fZ=VU[B=NZL9BW71J82bhYbSH2hM>m3LJL?hJha17e:c<[Ymf7BnWmRf4SE`VTCnE4YWL9Md4hVM>Sjc?Boi\\G\\`:LnTEI0o1B`QYl<=C_MSNSoAnKlMI_igUcOoK98gJ@9V3Z`jL:]=Gi`W1\\>W<;1Q\\<[85ALK8EPPTVW5b9_\\Wh@hc3ie_WndS6;aR;_5kDI9^QRTd07I=:ED^gXol_AP\\_A0DNmR]0NJ8bY:XCRKE@AV;2WBTCDQL2>iUA>aEf\\@\\[<^?O^mAY0:T8BR81Rh`RSo5na9?^ldMGMS6=jlb=?h7lX^Mjn7WF>dbo;0QP992203000" id = 8 name = "by year/month created (with priority)" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { algorithm: .proj.clusterers.DateClusterer { format = yM } value = Created } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { fixedMargins = true horizontalMargins = "[0.011904761904761904, 1.0]" marginReduction = 0.05 noMarginOnRoot = true verticalMargins = "[0.03571428571428571, 1.0]" } label { synthesizer: .proj.synthesizers.Max { } value = "concat(toString(Created, \"MMM yy\"), \": \", toString($recordCount, \"#\"), \" reports\")" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { mapping = UNMAPPED synthesizer: .proj.synthesizers.NumItems { } value = "$YDir*$recordCount/$Span+$XDir" } width { mapping = UNMAPPED synthesizer: .proj.synthesizers.NumItems { } value = "$XDir*$recordCount/$Span+$YDir" } x { value = "$XDir*$Origin" } y { value = "$YDir*$Origin" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Priority } } fields { vertical = false } label { color { color = "-13057" } drawBackground = false horizontalPosition = 0.0 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.ID { } value = Priority } variables { "0" { iteration { synthesizer: .proj.synthesizers.NumItems { } value = "$Origin+$recordCount/$Span" } name = Origin } "1" { initialValue { synthesizer: .proj.synthesizers.NumItems { } value = "$recordCount" } name = Span } "2" { initialValue { value = "$depth%2" } name = XDir } "3" { initialValue { value = "($depth+1.0)%2" } name = YDir } "4" { initialValue { type = String value = "2,true,$recordCount" } name = GridLayout } } } tableId = 2 } "9": .project.TableViewItem { comment = "This view shows how closed bugs are split by status.
The color of each square represents the bugs category.

This view may be useful to identify lest used status, such as \"Transfered\" and check that they've been used properly. Hopefully, most bugs should be in the \"Fixed\" category.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border.
" iconAsString = "0000P00000b7;R0000000000]FeN<=iELDU7>:?E:8]O]:]EA@5gVhl15jkFNXoQ?FdY>g<>f@`Y>e4cb6:jfR35Uf2D@5@4M9jfdi2Z;K>eZPDa\\]\\8D:Uf2ZA0Y0J1:DJ;D`M:O^=L;a4@C>i;WOg_K?gK?Wkg_k?EnU_ZRSNE55NCi:1^QRl_RRSSBebcW\\lGEL<<1ebc3UGCINJZDcH2W8WL__?AeSWCiYCH203@ao6mI^VWddL=A_@Y3O3Z9OVCWNCci4m1UV3:XaZnUVSbNm<@X_E?W\\5_2]7o2cRGQd]G1gg83nHoIR1k2ShI`PXWJ4SSmOoNh7P=?lgQ7D\\jGXS`3`^7D`BdW_Dkg3oa[`Pfm`gk5m7oHJX4XmfIfj_7AkNc`\\g<1j`KR6X>Sa\\oGRbQ6b3\\E16Nh9>T;O8i3=TWHLG=CIh9\\7BK]=S>jPU=KDAYM;QJ>3>M\\7FfbRZ;5DNdQ6kiKaifIWdk[_07NH?69Om7Umg_OTUf]74254=]e6bU`kfKW1@7M0@_^jRjE\\oolUV=oZ>OOYeGEN:chcS9cm^`M_ki]]]>cdfQ\\]D@ZKh;_3cH=@KV?LZdoZI=kI7ec@>7>WRU[B?MN6Xce8mUHT5O`eC`[Q`5HT1GM42=@?>S\\hYWNlSC\\YLfdFEF?fKJ]=YYgWW1T517f\\HCR\\?Hf@oj9hG7QXJH8]>fb^;3Ie`@VFFbdbD26YF6B^;WUZS@@M42AIUAV<_eWC\\KjkQVan1OWPd>[KB:W=eENhVO=>X12JSl5WU8`MS`5[W1FDQHMKP]@MdiS9XSPOeA8Vg6f7iV7@hf:UT\\eEWaol=^LJdO>mETOS\\R_AflZWSD3A:e8Kn6H9@OT9d87N6H;\\1>R=4UDC\\Rg8K1VHc[jXCDd6g_X]E:9BHWUABfajc4M_9A^\\Ho_nOf^mOh]=BKaTF=h=AKA=>M^V8R53JbMX`KT9\\8hooah]HlZZ4nCnJ94Q8h?IV4lOh9XDGhBZWY0Hn`[db9ajYcW<2^m\\TZYZYIcVohf17>la^m9CN=aP3jG_m6XMkn2IMh80kfYhbUGX3QKX>LW>3L`1m5M_kgFH3>POPhdI`>L4h03h_kFjf35LhHPGE57Y4UiG7GAJi:ZfhTXCXd:h]RC;]JG4n_SkXAn231kcNk=436N3bK`QGIbDd828go5Voa>hfgkQnTmTm>bh`kJokLG:TnYG:i?kb7BBVI;>S\\4WiABLO7BdNbFD6ZCn]e\\2IJd`4GFHejTk]gP`a6@6YidEGdkYWPkZ;ZHi\\HQ0oe\\Jem4^YJ55Oll[a0_J[EJC=6W9SR=JT_132This view shows how open bugs are split by version.
The color of each square represents its creation date: hopefully, older version have only long standing (blacker) bugs

You can:
  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border
" iconAsString = "0000P00000b7;R0000000000MJE2@=EFFDDKA0M4]4M6G@5k1DD09@89o@F9io94F5UeQP42I5@KA03PFHgJ[C[R2Zmd>XPC;KbR091]]]jYWI\\1gX\\KFB8@HEIGk]ZM:Y4GH^_l]XWbY7W^VZ>e[>_KNockl^g;_7UNnBEUA1Zcn\\ZeFHZJ?[jmM6eiDHZiL6EIShJbl@bD^?EIoaZeFTjL?9Pc8;[ZRBVn8SZY8g>PDCBfURFMMK?QZREN5A9_fHB2=^S4gILa7KdaZ=K]7k?NCeU`EM5Hb;3AdD6V\\:IZZD>B>8EQ:`TF3J1Z:UYj;L=g3lkOWUo:KVcPM^?fRom`dW?WikSKKdUekBTK;BTnB>=X6FbGV[Z:aBY2\\T[V[RJ@J:[:fanADaC15DFET[i6^Q?alGcTcOeP>3_P=4\\?n=Z][ORikl3LLc@lOHQ[4V>R]^l_[?;Y73<60NYGjK@@nGd>9iFA9=kVOPiOY=cM6[7Q@laGPoBKVgc]OQ`dGJWMFo9KnoEo;L;gXBVI81X?91DNfag@oBZ8d?_IAg^3joek8j6]@dBk<>AIkVWbZiYYL19mn_Mm5k;m7jhVOl_I]S]2HLModbFc8>^aYMHA=\\F<3[Hc57af0mK^IgWH2WWLbEoTWhdDCi`fnT5^lOJN;iY>\\4H:4okGdZNjLGXnP31doF]\\aa6KMPnS?nknMOg:6OLW;ZLe@Y40kh>:MAbP32_dn;lC_D0W6GU>_4[S2Q>:h02T:6DFQJj3LL;S\\P=Y;@SdSOl:7Nh==jX[o7oaUe@3NmfeGX@V`jof_mgZl`73bQIVNnSYMM?:gE1MYSK[ce5b>n5[_cBN[i7488H@^bgkdk3VNP\\BOV?`60_LaoLm]holJd[g936FNC=iLC=]2P[CgZPA0Whh_;5fQ`8Z\\0hO\\JaR>KFaT=VeYTP5;O9GYTm8UIdI;CBLjCa93bG^>WGUNWLZX8R\\PSG0O?mRU7NBaK:1B4XX055G\\a5e>Rbm=i>0_ld;_Y@U:Mf02?bH55lfT:GSTTD4JP28`l20E:n@hQWNhnV5:@8?^l2PO0a7GlQ5JHTO>L5=hO3^:ZHG`\\6ICFQkc2?fR7D5XTCbjh8e0GI=:@ASFij?EZkeDF;f]YELUbHCW@9^BM8X`@@ZK2GYNL5j5Z\\AP8DNCHn;Ta>[W[ljhVbEh8[a\\BkPmYeKcI@IXLlXk\\YEMN8mgFbW9BeE^3eE4k^Z08AZjbaTF=KGMUa_[:ZB1;jRB1GC]PW9B]FaYZ3GCMXS3j4e8`aH90^Y5]00YFSTMM^2bbZ7l6?ie9DI3LBYN`ZPQA5RTe1jSNhCAe`K[`cOLEE5GEE0?VRVZlbbbX@[jG2LBQ]@\\VV0I5Rf83h:KD\\j[b?fCAW@5T@Pl3QZ6AnG9RSQL:AB^U8m0UV@NWGBNW?Ql:VT`T]0NZ9M>Yi9mo[?;:bjTPnOaG`b\\IFmd]o6=RgU9>]g^`^kVGGMaYSf5ECeHi0mKVYIb4c^j2[k^QA6F\\hK?m@58V=CW3?N`c1LUG;Z5meSeI=2Z1P\\nnIG;0@cNjQim_OXM3kBWlJ_]P>dR2`J7KM0AQejkWOMnVkR=\\h^<90TbTA^OmG72jPdVh:[TM6kQE7];0>>6=b_c>9XkL71gjFhomoffKmNlJn[2kS?K`iXeCS6m[]fH2_3fJ[2J_M6Mf9]>j00mkOOf19b_nkgeQ6be1jgmA6aU7jZ]Ha3;FllC_HR5Nb2Y\\E:0P;W57ThTUVLBk<9h>F^Lh21YAUV?Dl18\\HbR0W8R`S0^j>A992g0CnEdYAWT0APO=l`27D8VXSQThis view shows how pending bugs are split by module.
The color of each square represents its priority.

This view can be useful to observe the distribution of persons per module, as well as the modules that seem to pose problems.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border.
" iconAsString = "0000P00000b7;R0000000000]Je1@=MFNHeI;N^gij:\\FA145AjM4TN=:U01251YS[RT@W4jQ^9Q@948m69Q4BX;^Sh]gY`ZkY[WRW=\\`]RUA1l\\0W0B24^OHVUceiVI7WiViKNckokm;OimnmnnmmNGH`CMWKBI5Li;cRKk30P_lc^L[\\_oVDYY13BUF3DJhR3Ma?9cZeAEB_nW[d8;^[@;XCdi9DJUHTFAJ04G9VNb8U?En_`@e^hRoa5GLM;\\`6FLao`]^WmNPEP7H5jC62M3S0o``8ZRU4AA;S8;BBL4TnYbo?>HSZDm]0FHQ_6n;^em>POI9ak<4iO>Bl=CanW>[H98m84J30d9i:UmY_n9Y9cX1gjnFhdai0`M5LT96LD9M`0@i\\;Nh22dQMh8JRA82TPLId6j[L95Gm:]_2>mIn;mNjceM_3dVXf0Q?m:mFQ]SGYcOb9golc[k2;\\N=kg\\ZCH@hTS8YJdlcocFHgLjITj?o;FJE[2`8EESlfTFG542jk>I87SHUY7_Pl214?^U6OKm:L=lk>6n>W:g30hhLl>MnCm6]E[ncFJYE_dB[1h?F2=i>61^4CYJholj\\3eOaJGJe[NYE_VUFcJ6YjCbCBOADT2d5Z862MaX:lo@39F83bhYG5Z4Ca6W?XcNQ49Ni@i0BL;g6BnbNioJO:EZ3D_lNX;91eD0mJ>6Q2QP]fi3>TUf?ofeGYFKAiVgalKC_KG7ENRk;\\2k8HlbSZT^AGH7IG7miVcDU:g2Eih1>?Dj\\>@ZLdLR[9o;TiVC`7=547?_HR:eRb=7DYM2oBAdYF58W>4ZHl:ZLl<^Bm;QBc:CoB7[[6aLR[>jLnJ[CHKW:^bkikZYo0CXHS=a2DNkhkX\\7E4gTj:obU:OESGb6W]NcV]NCV[^mUXGkI?6\\WH4Z`_Z8[id4`oPPe:9YSBRK126`4nI?XOn5]g\\VI9MBB2K[o4ZXGPo4[\\?0UCTe2e\\1eElIJR7hOaZFWZZGoRE^fTl@GPOoI`eW:92[4=hfU\\GH:=13hUfZ;XO6k?]nEhGT\\NaD[h\\K@:F:BBZZ>9LBf:9]mi9_3UTfflTgiC[d`IIKlKiJmdlUSZP>N0IGNG]kJNbj21[TdFO@`nlDS]mJFHW[FI80JeAI`caNZYLoE_3WK^mmZ6fn76O6hZ0Z=S>;:@F5>17YKBB5c\\dBm[TRAD6Q3VOnNB]Fo84^9E7]EU5QY=6nF7DA5FGEUFBPP5BUZMMHM[h@=ZjH\\Z`P=l_QI3ILd4@M4\\Q6NlG]@C_6N3n9idh;Yg8:@BHh4iOVLm5;[DcWbc[giG@bT\\3enmIdn\\e6K7OLkVL2;ig=>dh576>QocjlNRJ]BHZ>0c2hW^XKC>YiC>YY_neJ3HdTmVonMEcD0X@V2kFkag\\4_B5DbiBJQZG?XObk@jXaoAU:]QT3_nSfcdK5Z_NMeK7fh:B@K=:TKN3SP4h:UK3UIXe5DB^7HlN4H2I7VS]cV:Gam16;1UGk8bFRoi:;SBX1jI@oTK06ZQoiWGO`ZQOoH0GDDPo39S0YEkYl[jo[Kck=RdkM_Kg:E^eLKX1`T9d20c:I_XF;^MOdX;X[EFl0@V3_3GJg8a9M0B9>C3Vm@BkG]jUm9IfC4Jl7R[Di1SGF`hK;lRFVW7m4Sn=fA?ciYNS7obC2862m4KIM;^ccmAlkOFLL33O`=nk;fKeE^F@olAlk;F>PM]WHi3Q1Sl`7_g?ToaOnnWNJ77OBgid;NNmQOPoZ2flJcIDW`S8b`U@C3J3LQVDQi4?Za?Y9SDUMli_G>\\g56L1j8bSicaK4EliQ>iR3>>L8>L>1UC[\\ij;36jbTYN3=1oW0cF8l9lj8`m6b?Xa;2AFRPH>HfRQAniZLG9a=]K3fm:n?39[9E4gaP@29>I7:7Y`haD\\d`:D14C`hK74Qh:WFnUB15fVAV6ETYe47amM19Tn`2lGebfo]WGKlNSieX?fNJBc=8\\<203=?CSi:_N1`@Gi`gOM>This view shows how pending bugs are split by category.
Each large square represent a bug priority: Low, Medium, High, Unassigned...
The number that follows is the number of bugs you have in that category.
Each small square inside represents one bug. The more bugs you have in one category, the smaller the square. The yellower the color, the more recent the bug: Hopefully, you should have only a few black squares in the high priority quadrant.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border
" iconAsString = "0000P00000b7;R0000000000UJIJ@=eEDLl>>m3EKYFK5G@AT2M:8F5YHiULdl853C>Wd5eGHm:g;Cm4YI8JV0m41Em;THP0=mAcX7BiYe5eGdUD4;[[6C66R;c[2\\_deo?9fWQBQjLImE^oRAB67VlHSM81b;YQV[d5e_=e2^cMRbTY8WJZmJbDdC>I4gm^4WdDdVfXTMejGImV^cnWHRh=I:fa7?a_j[RIR9>hGnU7HRK7o]_M2SHTV;ZOMliC9ehhTcn>>WHIc>biRWPRd2m1iikm?nFoQCn>oLa_EZhmbi;_Z:ZBSDn?mdKl9ahcgo>[;b]7hFgjffeFgb^f627ATkLKHI8633YHH83?[6a@g>XCZh5EXoaBYCdTK7K:j>^W_j\\_fRlom71RDRjXM3E>ZTk2RhB[3k3CE[mU3ImQMDaHCCnoFoPi39dJ5=eF``DB8Y;I4^nmKUjf_FZKoNI;7XPHA@88k4E`n28XfZ5:^5`H9VMC;Do`2A^S47C69mJaBYi5J[:`a@a2g8U;HD@_^E1HnhnolChn_OVGOT[0n_2XDQB25i>P^0fddPRD7hXf6Li`Z8\\S9VWDFeYRZH=7;m:hQW^JlIdS:?KjEENVeD:m:;9aR4\\P>G>BjWo1?`cGnbElZGmJU:SmOGo`2I1S235e3U32h9C@oi;jMQTGLje1j3g887V1d_EE2VNjMJab>\\Je[Y_7bkOo0WIV0h9U3:BJPUCH9;b\\IO]IcCKffDa2cc^AUZ:Ld\\71;23E5Sce;Wk_oAI_Qc31oYAYl?gif>oc7DEEjGk]kQf^l@W^EcikFNdSlni?gmGlRg5j2>cOnW;[mh8n=74gmR2kGoNQMZZhBB=CBZgFR]5haD74Y1A6cLH@?;:TO;b0k_>QJUFSc5lB0ZoiWO5;Y\\M^ng;914B_M249`DS32SF7QC[[;9_;GDoj4WH_3NPN7813gEMegX[FoZD5mDC5nM_KHV8nQ76gXS6b@3QOdAA=nG\\knjiREliE4Ola;]1YB4;QO]lGboW3cdDS=ihXbT83b_8o;jl98GVl6Ud8L22[ChoogkefYfo2Pnj2RF0`0000" id = 12 name = "by Category & Priority" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = Category } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { marginReduction = 0.05 noMarginOnRoot = true } label { value = "concat($id, \": \", toString($recordCount,\"#\"))" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "($cur%$Columns)/$Columns" } y { value = "floor($cur/$Columns)/$Rows" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Priority } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.ID { } value = Priority } variables { "0" { initialValue { value = "rint(sqrt($childCount))" } name = Rows } "1" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,true,$recordCount" } name = GridLayout } } } tableId = 2 } "13": .project.TableViewItem { iconAsString = "0000P00000b7;R00000000005JIN@=ieJHL_eFE^gF^MaZH51a=4@FC<@T4fB2T@f9Q\\BB8T0Q@P08[9T484f28QMB8QU`BHCD`5T:F4EdZEaZBA]ZdFe[FWFK_Je[CDCW9gS3gaoXoQgIn=?ciKilTcggckki;cNlcL`m?nAn^61c:n`oaO^bEjlSoH7;[gnfANnck]GKf[UIb3?ikfo3>`Yc0cHIRI8YH>@Fa>XBaSZJFai_@2J_9U:W?Qb>]h?jSNSoObWhHI];MjJ<_bh7IYbd7_lC^QC=k<_Ko?ahSe\\hmf2YJKRDm5TC9T?YPRTd1KMjcG_j:K8W:dGD364DOMLYCKLGMea6o2k5aN\\LX^OYH7]TNbBmR8Vk98DDBB5;ZDXB;1JIVfNU8BX6e2b@:AII@D\\4iRUVCB2CWD2\\CP1oC>a@cOR3>ga>P]n\\1Hj9VnD7nDWJbC>c5?0Pi>k9Wbh2E\\2W0:al]Q:[ngS4[XUg7@o1maL?E1^Zj0I?6ifBi_J=UmR?l@G[QoRoUacVBYmZl4l;K1jiOJ^Z7EI6aF@aZLFhJLV>bI55n8iahhR9Nl4ZG1;KY@fBJZhdAEKi1=3mFmSnLCdLVCNTHHDb04;X?dIgcbJUGSf4g:\\oeGkogELDOOn1?BELjA?kF[<;OAO>0VjjL7che:o_i0@1Q?N68eF3cBDXHe[fQ;^hXnj^^]16P9KJlCV3E:DP76LZDYbR?;J\\X5?ih58R?7^?f9cQ1?JTI6OL4`67F6dIbU=?V9b:2TA@R893eIh8W_oRoAo:IY@R81O114DJ@GcBn]^k0kCnM?SL9XZ_>\\O;6liijMe18nhk^5`dC5W>@8:5EC;7gj[FoDcKEk?kCioDXUNmPE>?GeZL2dE_JW=3mYeo5f1?2Uii]b`]SE:\\cZe[UDjg=Lc]S1XQjWI4;GS`jN=e=mb45ODJZ\\8]h9:mcLDYWfeiYmZld^:_om0glm3Nk?`[=lH5X\\JT\\^obj_JoON9[c1X24<;`CQV]mL=[dI^[ea7l1>1HHOgXo>7RJTYb5WlHg=kXQWDLXBQ5JIDSB4n`hA>:ATSF4fhTQ6EJH@;=^8YP59>laW96db@Q:38@h0P7i\\BR@fl8TK\\`HS1:7>hcTFdBB4W\\P3R1JDYGK=]=l4c0:SOCm\\an@gE?Y?AKjMhJmfg8@IHS^42J^NR=G0`QmKN\\eo0j4C=3lWEjRcbG1`lUeUOoPKkce9BI0P4dCfPW_0N]k?6:S]5S9YBo4aLY@8LYFEV70icTJZGTUj_93eGNWU?M\\ZkWNfW;iR>;_kZ`okFXgg\\hmLoRffB:QjeV]32gHmmKK6QRZ2_f6gm_YK[?QCGi5GjEiaVJJ7inChCm[[7]nm5^f6`DmGJI\\YWJdFK6WQjYEe]gUbOfcZ^2adJT@VI[:E4fDOU`E_H`_keoM3l9gamW:^NJAcH@`_KS8NLOLWDY:I`lhjAkkRFJnR3KK8ZDRQ3K:DB155YARWK<9U:?24XA5KjhiSPFJH:P9L=lSTB8PHaXJ?`E@9FiTP53c8R?OL:T5MnDHC2AD<35FNRS^@Na:4?EFNk]HX@cZi67HZnnf:liQj3iAe0iQ6B`JMiEUgkhG2Qk?kCM?f@beJVS2C\\:7o5R?UOlQ@?lIBWECV2ECdDSH[D7Zfg]=9a?YH9k_0FeJ[bk3[`O`?>=2Ki>D2U>26=SS<@H83>DP>a8TjLRLYDF?k1g>aQeGC]KH:cGCgJOM5^o6o[a3kE4iSPRNb0H\\X[\\MTBD7934SiZ[oiJG[30Q]U__In0V?j]>OfiDSBnM[2fg56_aW^6dcM8;fjHLJkD3c0dBJk5a88]lAYP:?ZQ7E:15T^0l_T@QD638EB=0=TfE9aj_jMiW2AhCQMD2BAl9BcoMYeGOEhW_UBVEB4a8TPoZ3j`7WNR]aTUY8S4?\\M3C0>1Gg_[_D8;M[0_e2kLQ;7ii6o8RhV_E^J]VH=M`]>ccNBfk=]FJ:2\\17D`Pk?2TcR8lKABh1[hbQ2RH=O;?eSOg`UXWgGa?gYC;__VGaWE2iKVHlO3=mG4_^;@D@F]7IT?J7No7AcOB]G=>ol5Z6lJZ?lb:?Je_Moi3doL<3mh0PSGef`T67bEn\\EjlGn0WokggiSFUckkacQKm2@^C>@^1:05XX95I=IVlV8?139Wo1[UB;Z]8:cVIUOfUGfWj0dOYQA3McGBkRTB0?40V=fbTVF@kki\\dEjdk9DbcOakilY__cgX[dimLkUn\\WW]UH^gFA^TG5O7hJO0bDNbfXHOK9HOKd\\C2iEef]dlg=KUmF\\68U>m8a^`UDGMjFW3^e1kj;jblj=Kb?;DhV6Mb:Y5Xa4AJ69f>Xa\\:RQg;RP=6:<;17TaTTaTAjdXW>1JYBVX@4<6XFkfJOmd7hOV36gN[]K\\ESS`P:EX436This view shows how pending bugs are split by reporter.
Each large square represents a reporter.
The number that follows is the number of bugs you have for this person.
Each small square inside represents one bug.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border
" iconAsString = "0000P00000b7;R0000000000]JiJ@=iEJLL0[8hf:fAUfe2M@AK]d:R[6PTlV`U0QT@212Q@8G81CP0T42Q;eP91T[9@@NC4B<1B8QT@0A@U;55Q]HI0Yh>fJM]FM]RCGWNm3MmJ]^QYI?f\\e_\\OLMVOcoi?_oO>_c?c2Sfo5\\>mWh<669l@k?ELUFKQmOeJ>kUZIl[FidObT_Dbo4WjlE9\\KZ6QYG455EYZMKV=fWN3VemAOdD_LNoWaST^IDR1B`6Y1gVCi7Je3GkU5GfelLb?kUBnMkJ@jdTmCX:KI87X^igXElEJWHEmC@N^O45mYD6aIl=JSAM]3Vad2afR_0HMY62X9O<;I:@BVY_C=]kIdR^=3@:eQ^YSW_ifAgVN8EMP^5R3a;dK]_=L_XghGN`in:LgkNklKnVMOWkLPfe:f0gFJGEaS=F5[?;nJ:Lha7j\\^_P8XChBgQNlSGWMkUP4b\\OVNJB?h11o`76lm_O8=kVXX^Q4e3:YVBKcKnQ15dC04C9NNi0]WmNUF2`WOHDnXX:c:PdTI?=KfAe[E0\\\\=iIOLC@E3K?S6NhV7oJMM1gCI4ZFcHTK2Z6k5d:HYn`OHPZ?f?[QeikX1i3Xi9J2DU<00LB64WA?XIekXPE]Uj:?naKjRGL:`J=FNeG7oY_\\]ckNJH8EP7AGXK`:CM6P>RIl:?>DM7;^?GI`nD]nO?o5?=BQ3R\\Hgh:MDL`SR\\KW8ekYPN6Gm[hcBZo]OnWgjWl9Pl?O4hi2AF45F2C=GV89`3KFURCIn_GCJ2AAR349fI9AJ:59hPdc;;QUao_dAaYF]R37U:UiT>NA9TH1HabWJbEU72]HBB526Jk\\W1WNI7]\\JdZoZ8ZoVAfbDIGSY\\U1WUl^YXQiIKMGg]n8^9P>GR\\fK7KEG<3Zj=LHCi9_7:UfAJeKDPIJV=VUAm4eK^YFJj[gQ@CaV@l9T\\ffSNeESl[^i>_cZ`;NYcmiF0=UlSf;WROC4@K;SiOAm]e;USZKS@jEXVJWWfoZ0>ZMfFaHe?fK\\ejnWAcb@2k8ZMlnM17`Oh8_6`2R1PTVcAElZDR@9@UQo4KKKG>b8_dFgj:A;IQGkCod@GLaGMiUe=o2^L<=WBKUKeYAT0A:T[X5eCAPh1PFF[KMn0J5H75LASNXWk5jLGO?`8dl[k]Q]je@j]2<;Pi=aF?^fMCZ1C7LUOBT2MG\\P;2\\Q=nkVmSN`[E:d0:MD@3?:\\ao2HW>LG07fYCPDfdXCS6?bI:>N4<`0aUM^5E0iLYTL6d`CV;eBc;=QD``V4:VU`Z8j4b:E4@\\bQ1iLHAS1?XT9aRI9L9;9emC3da2YBTAVDaCU;Fm7GgLNVXOLblSH5G8dFF3Q`5C6WMUOLf]m\\G3?Wm^WgM?AL]82M]@14n_6n0mCbY3R[]FXo`mA4jJJlS`iZkgGoiL:D52f>fT:3\\a>kXcIM?A_HZX?WJ^inaBK_Pbgf^jK6Xge7`_5HH?M;fjS@oFc`[geo3gOo1j]]0G[]0ogJh=W2_1^nO;P0G;`e=d1h3j2U@RR1K\\M=]O>gW_3d=3J[1nW1Me[DVER=UmDJ2kG9o1o[GOK?^V;AX]W4FLg6CXgN_1o]A]ek6W1H^jkZXEGM?Oi]87bGK9h_[KPF`T]OW@RiWFof_K8k1NG]7FHoJ4MdJH?9]C^BZ=0K`D?V01hfYK@lPimhfc0m?PQ^<This view shows how pending bugs are split by version.
The color of each square represents its creation date: hopefully, older version have only long standing (blacker) bugs

You can:
  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border
" iconAsString = "0000P00000b7;R0000000000mIIn?]aINHlO8BIU2]>2JJD`P]1OO`HkaG3HKlA`<6H\\aP=hI\\=fLhT@Cf^T[VH<@h6k4BCKTjfVB2ggP]i`V0Q6U\\Mkn?cn2A:Kg:fEjAOdckgiE?OOOOeodQVK:P6K^Y23VcW7bic3kik3GI_MhJWHHoSmk?XmnjfiS3j\\_PUohPh3fS[Qjci3^3nV[Q]O23k77KoM<\\OR3h_V0kMkHhM7@donc=of]:O_=\\^ofFfO[bfO;;_M[Bne]:k3kPmn4VVMb@Q6M`_]Ml7NGK?XMl7L7kP0_Gkf^Gkf_oM9Nhm\\gDS4K^:fnKKh]Km7hfHk7oS4m7NBIK]ZWMRL@;FJZ_>j2E^mJ4aG[R]FaIle`WiEQ3=b0]eR[f_5AK]DAkgb1@]fLi]e<>`dF;>mkcNdUafMC3k]9fN71AoYO0daBgO[Rommbom9\\\\cjU3^C;hPQn_1aj;RU8VQ4a>BRn3SK9A\\bfM3cof>Xk\\>a7RG8`l^hUl^hVnmmcK^Y6=lXm3b74Kk]@024h_M0RfJfNK=kn>gZljo67oocoIQ:Ik8FS\\T]H[DJTU807aSFdD_:DXAj_]V8J]9G0eNcfK]9Wg^Akg>0>`dJCEhoK8FO1\\4AoOVo;NFa_I3[9RI9AD@S\\_kVVfM;C_IcBgL]bNcVVGHV17KT1J>PSF2PgLS^J901@1JP8@S>J:@5gZ9kghJ>GNN<`kiK_nABd_o9VS_N9K_VY=Gabf[I5H02D9jR4PV>c[7K\\Q7XIo^J^1W]d0a1ZAl0n]7`_SFJT0DljGaeRcP5K53aFi?`EaR]j79jc7cDdiaS<[]=G^h8;@\\j\\fGNJ7;=EEK\\Te4A<=m[7M\\Q7L9[=;ARe@C\\>J\\U0_[FDle;H[E1kU2f9BnCn;Q6Khnmk[2onLf@m4nmiZQjamM3keOCR60ElEaE[ciRcDJ\\E<5K5[75=?f@PSJ\\EGXhH[JBN9RY;bbFR^BQK\\6jdQi327_QjMLH;Ljk64Plmkc1`OUjL]hDHaFd@\\U>:^4HmG`LCP7MQlFheFR\\@A[>[a8;JHUi]\\bL55II3C>a8S`0JaE_3;?7f:cIHeiaFMNd`SDHT5:ISUAS^H1AGdB\\U<6MQRfL5<@5POZ96]W^jE_^l=KZ0mjD[EC>JcEYVLci@Y2he[E5Ni:ZfSb:LPDFY@UIEdOR^LTGUEXfS[L;gZ2RbURGVTb:5a^ET36FVT1j[_1jK0=JTI^8UiOF9OjoZOBR5:fV5Ef;3a^MUfaEEZ=5^`e[FIFOJ2eNNdj_YFonde@mifJC6JofjnffeLokXmKK;gWmDSob?=HO1k66nTWE;Mei`ZA9H5:d:T;ASncHh\\W6=?JXiCAWfDAcW3JnkTLZ9U9SCV9cT9C99^L>9?^O1@dcT4?^9;F8eLe8DW>9jea38EZHZG7\\NmBdOF1j?;OeJHDI5j_@=b_PGYehA`i[FI]NQ[e[XJm:nLE1E[G5S7^kNjN86<:R_PRh98?j\\b;;8C2P<:02U7KMRP:DVTl@D`21Q=22C0QQYPPT>RB>8ZXQXRR45IDYCQNMcf[K>Ej8mciQ^G?56dH9PCFiV[8=J4XAS@Pb>KF7Hd:h@a=7E\\Mk@_G?BmjABU>5DSk\\?@NTk]:hZL;jLESld@MgMW1C;=ndI:V1;TdXbS>;AdI9T1;iLmC76>544`f9c?FAR4j>:GT;kLLQc\\lBIjd>OWfiiRPUC7l`]c^6gd2?J_MmXnC:Y\\C>Ii9WBf9A:W_hdjnRC[5`TCFIZTcU1[LEZR_:eLDYVU:e>fa>i9>A:9miWiHo5B9Ajd9AjDWPD:Wh4ON:WjdDc83aBI0;C0\\<^RUAW?4I4I@8bTP8S?`8A4SB;F_]BiKc:TURYKc6`8bVEQf\\:X4;5YYUNn0?@OiGZ=]dDbRUFaBi8E1M5i`6A9CHIIZF57e:IXF9M0AD@YLK:9`i@@`eZ=Vhh@44l88HSC`_\\bHkT0:dXMei3kih7W29BL8ARia?>=BTHCR4;BO>SSM\\Dn\\?;MbYb=MJ\\IcU7THYPM1OQ\\1O6Nh7S@`bhWU8>V;>?C5;58d2Q`:F1Fa80?FaIG06DAVT?lP?^c75TCb@RX82VZDiD5:>E0U:?3YbcDZLjRPC[`25QF0hO5\\=T?ES7J>P5Bg0:CDSd7Xo>_Kkg=WLb1g>nW^DmODPkWgO_m?b@SdE7MMTCHX16JXn7ZgPmNT?5Lolo=0QE:620<000" id = 16 name = "by Version & Date Created" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = Version } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { marginReduction = 0.05 noMarginOnRoot = true } label { value = "concat($id, \": \", $recordCount)" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "($cur%$Columns)/$Columns" } y { value = "floor($cur/$Columns)/$Rows" } } name = Map records { decoration { value { mapping = LINEAR value = Created } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.Avg { } up = true value = Created } variables { "0" { initialValue { value = "rint(sqrt($childCount))" } name = Rows } "1" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,true,$recordCount" } name = GridLayout } } } tableId = 3 } "17": .project.TableViewItem { comment = "This view shows how pending bugs are split by status.
The color of each square represents the bugs category.

This view may be useful to identify lest used status, such as \"Transfered\" and check that they've been used properly. Hopefully, most bugs should be in the \"Fixed\" category.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border.
" iconAsString = "0000P00000b7;R0000000000]JI2@=EFFHHKaJ6K@LS4b;9T@2@2@B8k1b2P@Df54U42Q5Kk6A\\A\\ZIDkZ;7[Qb^e61LQ4`4IEAC;hJ;;2h28@4E@7744A=C;[9PPd8:XfM=JiLBR3=UcDjDUCEOeYn_gkkmo>_cmLOe[a;EKKG?_IXY6c?gmWkb\\Gb:=gHcGCoen0DCUZOkKWc:nQ7fiGo?olWl4T7oHWVLBTOmGolA6Q8XoXnGC^ZOkLVc3X`<^oX:Im;;]_>\\=WNTKNc[XfmjQWICeM[TUWdVA3T1;fi`QKN;g]b5[k2oG]]Y6JZQ;fPnVdOfCEje_ZBm=;CO;[a:]d\\2[R;FOl7]RHk\\CAmg?_16PSn;\\V43NKlhji\\YQ;kb[NUMC?]3@]JZY@1mEFd;h[nBGPfk\\c2U1=aH@CNHd4SW=9fa6SjHSA>m=AS3K?goNgKi7AgabD]^:8fZnLZ\\PR6FVLc\\VH\\RYhDn>MMFd@HI?46V3QQeP8\\60Q=@_Hig72?CHHTdfn>UklP9];]:onl^fUTnTKAJb^8>A7>=f]X>n]9fLmZnXnOGRNg;>16ahE_8l=RQiH>BmAH5<82kQa@_O4>=AViTccQaG0QWKcRo5kL2JY7O1>1JHVY]IQ]Ti1Z\\`B6:ae>DB[eH29JU1GgGn_e9MS4BlN4i?:R7PEmRE0hLo8LQW2Tl03P`YIgi>i2a=>JGOVm8@lifSIV8kCOhh[VY?kBdbo;\\5oMn8m_bEB3hHe7Fn@mi:TIKHY4D9FbNib;;NlPViMcTE6DXL5ka1_GjcLoEF@a@11XRE6II[:jR2;lRFITU7BXVREQ95aeVRhjVX0SHInS<4OML:K;>Um@TKOh4?D@m_2=5Lf`2gC4An>MXQEDhAD\\[RdABHi4iG>ANUABba9:h7MfKM>;\\2RLQIdj9[jAkD]h93aJ`kJmXaONl^F[S4\\49FMFk[hB?A2KM?jKaKPF<75Le[bo4E`SVWd0HcRMUW;d;MaPBImnTbG5U81BhbQk\\iH7Uk=_9mfKWa]^5eKf>m4RWUeKd:k;WmM6=7^A1A>Bn=\\^4CEN]=7giKBFe=V@eG9f>kNIZ:FQ^c_fSEcGLdZChheUPlDFWg1[4PO@a1AEiEH]Z?4d60MeF>1a4jcOXCNOJ19N61:?SPh;BTR2lOSU9>5MnWFI2ghA4WjAm?mb4UZ^=WF9K=mLbIkQU\\JYYN6YYNFof`9TVV5fhY0l;UC8m[?YfB[fZoFgkPCXPo03Q`J84VV`@_MBLKSa:_;U`N0]@__K[`P[1d[W1dSK1K@l:NP@Y]b?VVLSmX;aeAF:e7K[cS_HBFeGg]Uig6:GJJEXm`EEW:]?aA:@n3W7Q74dW<<6JPna>j1XKS<_^892J57V8K8161SWSB`be@PUedXEZN=]3HW25nY]7=4O>8@Qc4N:Ea9dZm>ZJDGHMZdHdBW6dh=868b1>Z>PI4k1Wo?0W_Gb3A3JncA26J9dP77dj>TI[h031?K:kl0oQIJPPgk2;omP`l7`kCfTm;7gTF9>^`9dK@VOkd3_;Z1YVQ4E^b>;blehU4=d4E=E1MC940e\\4Y6];J@L;oU@h@8^N8LD:T0]3i4]BMb3=X9MUmTGmZd0YjiX9Lo9Vh^GC2?l]4@P5i:3SHH0ng1Io<@@@fA5M6B3:k8GMJLh_3o3@31ceC8coV0SHGA7ofS@I6AUD6AXHKQ4k>R@aV2HeY;:HI>CGOF7XFe5d72oA`@[OcO_U^Uj3G[e7[ng^;;oNh3`09oQRCgh3lnT34:;?RTTN`kO7>5RNgI?1JBCPVl4;d98n;XM1`j7gN:JBPoE[ZP^abn>h4d9>n?0Q>8_k25[kQUmMab1^GHHg>`hn8NMY\\c_VZZiol_^WmoWo1FmSN1EM^ZnG\\1^\\2103000" id = 17 name = "by Status & Category" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = Status } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { marginReduction = 0.05 noMarginOnRoot = true } label { font = "dialog.bold-BOLD-16" horizontalPosition = 0.448 value = "concat($id, \": \", $recordCount)" verticalPosition = 0.313 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "($cur%$Columns)/$Columns" } y { value = "floor($cur/$Columns)/$Rows" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Category } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.Avg { } up = true value = Category } variables { "0" { initialValue { value = "rint(sqrt($childCount))" } name = Rows } "1" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,true,$recordCount" } name = GridLayout } } } tableId = 3 } "18": .project.TableViewItem { comment = "This view shows how pending bugs are split by module.
The color of each square represents the bugs category.

This view may be useful to identify lest used status, such as \"Transfered\" and check that they've been used properly. Hopefully, most bugs should be in the \"Fixed\" category.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border.
" iconAsString = "0000P00000b7;R0000000000MIE2@=ieFH[@gN_>l:X5OEZT4548T09@H91TU`N2P8[1I?P05T5IAFeZX@AYb>bJ29Q`R\\h^dFMDaMD@0Q0B`@F9[R2:FA;]COWFNS_>_InVcLo>WkmLoWcgioloo`koCgo^ef@M=\\>hb^eYWZJ0ClhZ1JK]dlS6^56]Nf?\\Q9WXY7=loKoS<aR\\KdAM7X7n@4N`m3m`7>aeSVfn=OZ9Ym`Q9GbA]2`a:1?oISB]BO18OQ`0k`IHUn>?mdN8CVelV>8FmWA?G>1F3T6cnb\\c;TjU_E4mLUhkjB9NV1YOiK6[`iYXB5FnlM1PHaf:@@ZBU6Z2i1]PdXD:?8E>]eoH3Kh3hA7n8oDGGZV4bWaEg?S1B[UnbPKWiE7U\\[akl;g__SJZGL?YN^62hPeiGVeB=kXc\\m@;l<5aTK:=c:ajh4ogecm7;XSfhIcXRn[[[ZJ]_JJlE2i1hhiDFLUeb?R6WL]e6`bKLS[WocfGgUEJBIVAP5GDd5F@DiWGAD@nA28LJQ_W0fS_Dm=m\\b?k\\XMX35;\\W@2>hB?NJ7[T4c=W`B=5oSh@>DfiionClhAJO^i`aW_]R5QKfWBBhl^cW_Uc>;AIb`k\\>8A<>12\\aHS<65BD0l;S1N:OX\\C@VDKU8fBQ2]:XP\\H@CLP_nf18G:UC`9JWhk?aC6WQ2iXEY438^c?_3R4jSHQoIf_oYOFOCOP[iH4R@JolXLPofM6FUT^3No^5^MO;L1LEldVfB?Qd:1Y]b@H]4Tf=AU=LmNjWUWadn^BZCGR;gh;?W:JCJbV9>3[ENCd25J3OnT>9S2>9c2>1S25;VPD9F=]5nWPCh9>4Z<4h4Q`jiAH[844N:6g40i71Ni6RE22[6[ZCgKgm4?m8SH_Q4G\\A4`^Y\\_4RUN\\A0[S>:Jd2;`TCR>45F7?mXR:BJNkUgiTEj9UH\\DYh5E:D?:J7b8U41IUNLAA;dmBa7:A7M\\a4CdA5IHA7EHa4=]j[]fa7Ua;OiGmbGJh2;PBU:S59Tlb;[WJE6[BefFNI3Nfc\\B]JTbUKZBUVLS[K:X_?kI>9A2fj[7ojbmhSI[49FHHM>H\\Pc>^[KYd3ahjCTH;^iMRU8mN8Whi96G_^m]m6DFM9DX5R4R74mYVd5X]D\\8GPF;5ba[@1>ib=[l;FIQW[d26X\\R?gaOncA988G5RTd28\\BjVa85Y=CFI]?TI7l@RSWi4O2:2_`ECT7T;cPdRjS<=g[QSOigI0Ic>Yb?E:W4@UYLRZP5Z[T`[[2Yjb`8nT4>9SLI^oRK:bdJ:bmgDhI:[0c5jPC:=d2XoAdVa;71nAZ^]cgc0YkG@Aj\\W1@`9jn4d1MfS4LSBXk>4_2:K8jI1AA?@[\\=:WM?HkL`aP[?k8RKONi7Mgl>0FME30;oimbmk\\hVJ:GFLaom]^OT4S]_:HVklcS6JWhacEh:P90@g581`L3ib]JN1F;DXIBURMZY\\M1IkjI?cFeZ=@SVMX@1R1_aN_d@1ZF=d_IY6=KO\\AJjj3e?WOa`5J3W\\[[E^>Wo21ef0AnnCZoLL\\RcS3FPJLoicOeV^j?H04Me7nG?o=JcoUnGf\\>HU>5o0_HA3PVF9B_id^YBe>USdZW[;:eO\\1Z?UA?oiO]BLf[HCV27AUNkDfW^SkI_GgeBGF=h]l6J6n^0dU7kZ?C?WW\\_a4`NC9XP9WEF^fBM^W7IOCg9_cTX[n_khm;XTcdAgYkKHN6NlA7;i3VkN:Tb^?PCNV:A?RUR3IT>il38lLm:@jFBR>>R:dKKECVBBFk8MLT:dB7WFO[6]ZC?:Cf:=bH=VHZ4W;LbJDKZJeV0:UJEV`OFkD87S6=@mdJP2f4kX[0KUAmG;Kibg1hGR_N[NWVL7_lN?=g:ej?mE^mN0WS?6Nlh`SeL\\EFAUCfHc[o]\\edA7`^R?XoSoH30PJ;HeXFoOkgnl?@1[o\\h@ZUfZj>9\\nfF17JhD?a2;1W0^hMSie_Fg[NEb[?m0Vo?JC\\PZ7o?gb5f4JX0:`G?580SBUKSo\\f;Cf>6iAn0m?24H><22X:DHZO=d?aZj^TcE4d]8Ej>F`J7UnY6=0Y`9FMWfGn0g\\I_FSU>ZH^]R:45PcdEUCdDKof7YmJOd7o;o;mom=Xe;m6gJ[maon_[eKFI;oj_n9`D^glV=1NNkKglkOoWmng[[oeS`K?YVI@Z9Vg`AOO]FOYB;ll@SNBcBS=?ih=_^B]>VCa^FGYF7Nf@S[[_O@dGeP_i_o7>[H6jo>EYQ6nQF50cLR:Pl3UG@\\P?[8G>bW8`78]4[U;aCe38IND9C8o:EJhR;^5Hja[FfPG]=SDn96^\\fj1M5_Dk_JIdHEl98FBk=3DUObf4RbVg^a_@YNV0_Nn2]eOR:Z3bokOoW^lbKJUEnG;]dVh9bSoj09Kf6bVU9<`P]m_iKHleK5\\;ZUFMBT4GDX0j]nBMQ2B_X=_c]_MV6I44U3243FIeULTBlb;_XBUZk^iN7\\kP;K^\\HbZgNj]c>jTCkLJ]YFIg>KV]aT3;>\\H`ZW^jY_cd7G>LK\\Q6Q@LZZV^hf5\\]ol?i[]Q^[^FF=g6SFI`X56PofJY][LY[lO0PMi;@103000" id = 18 name = "by Module & Category" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = Module } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { marginReduction = 0.05 noMarginOnRoot = true } label { value = "concat($id, \": \", $recordCount)" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "($cur%$Columns)/$Columns" } y { value = "floor($cur/$Columns)/$Rows" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Category } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.NumItems { } up = true value = Category } variables { "0" { initialValue { value = "rint(sqrt($childCount))" } name = Rows } "1" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,true,$recordCount" } name = GridLayout } } } tableId = 3 } "19": .project.TableViewItem { comment = "This view shows how pending bugs are split by submitter.
The color of each square represents the bugs category.

This view may be useful to identify lest used status, such as \"Transfered\" and check that they've been used properly. Hopefully, most bugs should be in the \"Fixed\" category.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border.
" iconAsString = "0000P00000b7;R0000000000]IiIG=EjF0ho2cjNWILhZ>G4UR33U068mNbiTLBoLBUD852=9PRD4URRR@2T2@`091`@07eInMLSOaeMahJm\\f[gmkiLNn`nmM]g7__h5[?HWOQe6ejjmgI@Gm6lAmnRYkgn0FGJPalIejBC=lH_In1]JO=[FGcjP1MdkJ?L`WNcDNhSYofj>KdZZ8JME\\E;jfH\\:L=V[3jgi8kP9cXHb96VV8na5bHoR`6o2f?^ma>N4F<3D8YPPibO7\\XM52\\WB2kf4`NgS@h6[;BeE5YnZfjR6g`bYoWn7^_neBQQ>V@V0P4UOQU;@T1:4=1@G4n\\=2CA[HZ6P@daF8:5`V0\\TZ59b40[B0XYV515L;`4Po0?OT?dcanc^BncdMbKM7VKTN^1aB=dY@5lBTGoZD3`DjjlI7@S0?e:Q59\\AU0_S4>ad@Ik;2NmV8\\HYU6Y4MQ=GLd[YOYk[M:GCM`jcc]oggiKlgJ1;L1ZQk8meo5NAC;W`5ROglC?R>LA;1g2HEn6B8_Q_4?U8DGK6T\\c5UhO2h_BmoYSlY;Md_`fG1Led9j1S@gi1jW5hRPBm@GK8JPN@DhYDi;l8YOnn38UmiS>N5DRn8dQ[o]^9DH?TA=82a1?O1F:FC_lhfSH^mF<_KG3W7?ad7`o[LjL:6hV5Tl<047UHnC:GdmP8\\FTA[Bj]Z\\R9M=i1[?3KOSDo9oYE`VYNbEBkD[aFXOeCU\\<=En8070DXWBT95\\`Hli^?Y2R[Pjn=D@=?deK[[^Md8MkZe^mUe>S]6o:eoa6imiL\\4lQLBNoL?NGk_^d==GI=:i?Vn[Ln6`QmPYVjbYVCRX_Dcf?;>QB;c@H?E@LI7jli_N[hnMJ5_8NQ?Q^Agbio7g@cVLi\\5FdA@8_EYXgjnX3NjBgD4W@UP4j<8N6Eb3L>k1lO_aME^H1E9E\\N80e\\XEV4h:5:l\\bTE^JAJE`XL3ReaQMe:TFR@^EZF<3j28_iQ>i:o@n;e2ceV9GgFQlRUg:d1FS;c0=`>USUbB@5?_FI;jDI[;DOfZEk5Fl^:H_k5H_k;H?clbVja?mPnM=bNT?aJT`7VTX4nhXlW:Ue8AK;RIi5Pgbi9`75X4W;;;B`@GRjbR;e;\\4omZLf5UJ[\\9SF\\QHBPRMFXHg7jIKDldn>HooI]J_=LhZ17gcF0iRcT`iiPLAld^0A`j9CiL4`G51BG0Bdii;f0Fg1kohMFW1;5E0mI]RQ\\FFc9mLJ`0hcJ52Ik^IDnLVYKK5<75Qo^@^c9Tm@`@W:oCm[Z_mjmNkeMdYoWde4gceZcHo_El=OQM;7O`dbMQdY^bE86dI^16RfbhP3:Pkb:Tj_FQoQ=I;8^R5T;oe=FR?Kle93WG4h4MTR97:Fi@?I@i>_L[KfLCKNUVfX[FfHVFL>ZU4ngCfQM;RdZ`iiF4i==1lYD?J2ncV>iWVhX_ga?_NV43C1G0nP[E4m0U0jAP9g`BmO>Yn\\`oJ]bLMa2RCWBR9VaEAii>PL=@cKLiFghJ]6ZWf3M_fM=V]GkdjCiNX7cikB`CPnn7Z0ScSTEO71oXZbOdJniAZQZeL17[0LmC3J41d7B4K7\\e<8M@;bi=f5YkX?6c97NFZDV1TdSTbHj;BIXc[gIIVLNJCCMNcCNmZVkAcn[C?aE5CZ7=\\_6MU][AIg=Da]JCo`f6JeY\\oglnV_@L]Hgjk?Nh3Ua>`I^UaClFChmV3HRaa;3bK>eDhg>VE5Xa;E9[:AjJ6iYU9A_bPSY3:Fc@a7WZSQIN8>IV86VC6QebJgDBO[DbNKT2RYkTAI[`;bfdB5:`=WRN]HiZ8Ba?O>aU@9N]Dfg:jaL@LLSUTHROhV?KhN>GhWNV9Mi8QohL?bkPn_kc=YH@ohfJX\\cgWBT3Uf>XcL;dW88521a2nFfP148:XDXe:S[?16lB090?inT8^CE<2ZFN0h4UGfV=eHhF?gVMGOh7G[kUVMbA7C58eJe:G63R8DaYQ7kRH0F4Ka658@<9bbPP[FR4m@\\U@VP>^\\AXPgT<=U84F107M25;P9[Ria[BY88d9FJAlA4AB5R@=`8`\\IKDUB]:A\\KMXE7OhoZ`Oh;\\WHRO:iTn@b7i39Oh?Vlo9N^I5:]23`Wi[6P`=WTN6YWQG^6l@1II0hi;^8E<`iCT`MQ0fe4`NgRPUAHhbXa8WaLT6[?7Uhj7>7o7YP=n9dQn9l;CSobgPkc]DjHIfM01jGR\\Do0RGDMA=8S`J2hmikoZX\\OmX7_?RS[g`Wmg@UA_BIAVblclnP4ng7EB;S2G@Dij65i@lilYCLd_@llcIUCS_PWA?];M7UBo\\OIDfoYMRVb1j:IAZn8CmbbHd9?XKR7gM18fYDa>mgKof6bfhS>NR=C\\`b0F6\\_17an896BU8eV5Kf]J?aSBTVHARG>a7V855:D000dYC_]FKK^IWkoY5Y6e<0<000" id = 19 name = "by Submitter & Category" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = Submitter } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { marginReduction = 0.05 noMarginOnRoot = true } label { horizontalPosition = 0.942 value = "concat($id, \": \", $recordCount)" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "floor($cur/$Rows)/$Columns" } y { value = "($cur%$Rows)/$Rows" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Duration } } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.NumItems { } up = true value = Duration } variables { "0" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Rows } "1" { initialValue { value = "rint(sqrt($childCount))" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,false,$recordCount" } name = GridLayout } } } tableId = 3 } "20": .project.TableViewItem { comment = "This view shows how closed bugs are split by year and month.
At the first level, you can see the break down by year, and the breakdown for each month at the second level (0=January, 1=February, and so forth).
The color of each bug report indicates its priority: red for unassigned and orange for high priority.

You may want to focus on the old bugs (previous years and months) that show high priorities: this is not normal.

In this view, you can also observe the months during which bugs have been created: larger areas shows months for which lots of bugs have been created, most likely testing phases." iconAsString = "0000P00000b7;R0000000000eBIK<=aMLLL8;aId55BDD16aV`63D4A0QFX@_n5I0A^l9obok^OgWkGnN?kIhFQVJb4l9W9DWV]n1gOm=V_a2DYW=WB90L@hOQXSIi?=24V?jHfCnkRC2S7JXS7FHN>i9MORC\\]Ho2a]fa?>jmjg3:XmPolEZZBEfcVjM8BJPhR[kXnR]UfB3ond_2UUKBk[S>ToglIOk7P40?:Tc508[TB28fHgFHA0`OoF=KIgW?C>;`M[>ke?faf1NFJ9_WbW1=gm7LooF@1og1682oJ`1_WboMYOEbTaS13Ii29W?cL8T8_LQi3__cWiW?lUG>RGmZ`Oi;3m6NBWAQ]]H]Wb7cdhi9Jb2D3jf7nkXcNN[li[W;AZUdSoic:627ib1_Jkk3o^7_\\HS\\0MGTjmH`4IQC8h2;\\@=UYa@15N3QRfCnWLBeOO[BoYb5o<^lVCPXih3?7O1c9@hL`2V?G8T:bAl8AVBeGACiEJ^A@`TXAolG:Il8@1g5b4gi@91lhIa1DKiBd;GNMPL;1PXJbDDCRTJbTgZBY40P]>2iBHa^mf4GQ6e]02F;c\\7M[i_Im@MeUXfK3BW^5dK8OV8ebEbC[H98O3ZgIaoB4A\\D8Wjma3_Hl5DBE=[FZA8n>HV=Jn8DX@5:D01aeRIB8TOY:DVWD;Z8IB5I>UY1\\<]REElGbUW=KOVZJ5<@TAfEHQmnhZ9TXHaRETWRVT9o^i2IgP9G>L9G6;9RI02V57>LQcQJj49Qoo2eDCS5I:\\bQ5G@^DY@U8ARYR;ehg^]e8GO473h`dGIjMYG[mRLFW3jdFOf6be@3JK`]]]N\\f3BK3dg08S]Ck>mhfco04fJJZ303000" id = 20 name = "by year/month created (& priority)" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { algorithm: .proj.clusterers.DateClusterer { format = yM } value = Created } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { fixedMargins = true horizontalMargins = "[0.011904761904761904, 1.0]" marginReduction = 0.05 noMarginOnRoot = true verticalMargins = "[0.03571428571428571, 1.0]" } label { value = "concat($id, \": \", $recordCount)" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { mapping = UNMAPPED synthesizer: .proj.synthesizers.NumItems { } value = "$YDir*$recordCount/$Span+$XDir" } width { mapping = UNMAPPED synthesizer: .proj.synthesizers.NumItems { } value = "$XDir*$recordCount/$Span+$YDir" } x { value = "$XDir*$Origin" } y { value = "$YDir*$Origin" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Priority } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { synthesizer: .proj.synthesizers.ID { } value = Priority } variables { "0" { iteration { synthesizer: .proj.synthesizers.NumItems { } value = "$Origin+$recordCount/$Span" } name = Origin } "1" { initialValue { synthesizer: .proj.synthesizers.NumItems { } value = "$recordCount" } name = Span } "2" { initialValue { value = "$depth%2" } name = XDir } "3" { initialValue { value = "($depth+1.0)%2" } name = YDir } "4" { initialValue { type = String value = "2,true,$recordCount" } name = GridLayout } } } tableId = 3 } "21": .project.ProjectionItem { iconAsString = "0000P00000b7;R0000000000mJin?]Ab1Llo:>Yn38a?LjDE\\B9G3489LT0NmC\\GoJmJ_[]Gke_mjW[a6`6`@<>V7QW1`fl8H\\=QW17NHhP`5CBcUXd4e@C3RTXfB2ZBm7ZjkNB7=oF7G^;:jTb_LRfAOdZAOeeRgii[ME1CH<8HlJ420cYdb[F8n?09:Qmjm\\46HnQQZ8IIRB;HPPm=7H@GO3^FLDgkm;S4Y[3aTA[U8RHMAi[^CaTGETf^ZEKHajK_F=GMTA4=DHISNF>N5K[@K8SNLSE@hA^6cHj\\NI^BNC9`Oj3oSUdkb=EF;SeX_d;k\\[aKZcaSL]9Kme_^j>7_iNCeD;3g=K[[D[cUOj^227[cNCf`RiX4jL=`d8OKm8aEOPW:X^2YA[@X=VlVi>aNoegX6K=IdMK2DH5A]54jY33;:gZS1l[05eX1SDDDL;DhlNhmm`mk:OG>7>O@cnnj8XhLA31[Z=89n5RjUd\\o2[_kEHmm:3jFOkcSeb^cS<>iZ^\\j_>>Jk2en@Ldd>\\VVgI7^W\\n=iVBXLS:8LNI>b58R8BkHW\\nM4<8\\SiA[KNA>B9edP:Lekm:]\\mgKPC:ofZcYFBSV]B94F2::6^]faVOZg;VNW6Mf8?Y4b`8WKF>WdnYADYgWLDO[^PK8@=BEK`TMaNmc]aPCLZ@dTiG^Tli;YUNdcglEQ]6eMHWiEFBn[FBH7:R>TZeobc5ZGblSDb>kLZNB8CT]X73h4BDDD222YZeAoQR>jK;JhKihhc1JMRV?BMA7U^X9JBEj=8oCoUO:hDRSfZXgm^?Ial8PC6>6IF3cehXO63TfdKFkcj;4e1o:67lkIdKBk`NR;]^4=Om07@`hPh<6ZAR4cYog\\GYm=5e1;bh=_icBVE9R_47SgF]>d2>IiI:`HQh^o?d_NC:JdUd8A8@D093UU1YE`R_HXJUI`@55Xj:@T29E>Gi:Q<8^R28ll8:HSP0YFAEe`GZDDfjENa@]`nSiOXY@ocKMZojOSaRg5Oj=eNdD5A486NXY1cB5@@AcWB5H7h]_WRS6Y80OKg5_`f6V?[ZGLg;0\\UJMmOCN6[W[doWjOhQ>_5cVEZ4333GZDIWhnSO313ZdaU6[L^RD`AR:Jjb;0cbESc1S@8QNfd::_08EXVTWJ=L\\@N9`UU`ebc3i5=IGm7c_l>kBDlA7G;Y?ljA69QPQS9XUH83VPNf07nfR1k35k=N_=X_IoNNNTb>d@a7fMa_m=OZTAR;8B\\]O@E7\\;S33GL_^Umal;Xi9HfeJGCJ@kR7FHOiHN]EIjKEQM_V]T3mZGFiN_P5GKijdC0JkmoT@`o>lbOMkGhE_lBlkOEXFGJekXJoO9WgfbWgUMR?VOAfM8^a0=[B]:QJhib=;W^HYc5?k^aJP8AlC7?fIhPkfV69jDSe_acW@jYCHidaSG2G@;=j:L7OA\\n>K23WVFW8jV]DWCK8V2PXc9Y;WATQ\\AVK>NRaQ52;2F4ONlQPPZlREncoAEPH21l`Q=hn6l0Z`a`1>1bK]UF1GhXZZZRf3mdYV>n8ak^c^oA`Xa7=CZ<9RU0D9mDPo;>=P]fH[o39RC4S003000" id = 21 name = "Map[http://grenelle.ilog.fr/mrtoolweb/mrtoolv2/discovery/AllReports.cfm?product=JRules&type=bug&open=open,25]" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { algorithm: .proj.clusterers.DateClusterer { format = yM } value = Created } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { fixedMargins = true horizontalMargins = "[0.011904761904761904, 1.0]" marginReduction = 0.05 noMarginOnRoot = true verticalMargins = "[0.03571428571428571, 1.0]" } label { value = "concat($id, \": \", $recordCount)" verticalPosition = 0.0 } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { mapping = UNMAPPED synthesizer: .proj.synthesizers.NumItems { } value = "$YDir*$recordCount/$Span+$XDir" } width { mapping = UNMAPPED synthesizer: .proj.synthesizers.NumItems { } value = "$XDir*$recordCount/$Span+$YDir" } x { value = "$XDir*$Origin" } y { value = "$YDir*$Origin" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Priority } } fields { vertical = false } label { color { color = "-13421569" } horizontalPosition = 0.01 value = "" verticalPosition = 1.0 } } sort { value = Created } variables { "0" { iteration { synthesizer: .proj.synthesizers.NumItems { } value = "$Origin+$recordCount/$Span" } name = Origin } "1" { initialValue { synthesizer: .proj.synthesizers.NumItems { } value = "$recordCount" } name = Span } "2" { initialValue { value = "$depth%2" } name = XDir } "3" { initialValue { value = "($depth+1.0)%2" } name = YDir } "4" { initialValue { type = String value = "2,true,$recordCount" } name = GridLayout } } } } "22": .project.TableViewItem { comment = "This view shows all closed reports, on a 2d graph, the creation date on the Horizontal axis and the closed date on the Y axis. The color is mapped onto the priority of the bug.

Many observations are worth doing in this view:

  • horizontal (resp. vertical) gaps identify rest periods during which little testing (resp. fixing) work has been done.
  • conversely, horizontal (resp. vertical) dense lines show periods of intense test (resp. fixing and closing bugs).
  • the distance of each bug report from the diagonal line shows how much time has been needed to fix the bug. The farther the bug from this line, the longer it took. Hopefully, you should have only low priority bugs far from this line. Exceptions are easy to spot.
  • the line at the bottom shows the unclosed bugs. The density of this line shows the backlog of unfixed bugs as time goes by.
  • the overal thickness of the diagonal line shows the fixing trends: whether the development team is catching up or accumulates backlog.
Intensive study and comparison of this graph tells a lot on the life cycles of the product" iconAsString = "0000P00000b7;R0000000000eJeF_=>AHdoK0RghIhYMUF]?\\2][48dn`:484[:kb^K;UFeVVTf29]^iR]SKLleIl3edVVT6E1BO:jhaa7OVcgUaY9YYo?4MKeeDgTAH06n]4G7QTbm7=d9SSCY18e]n?QO9?F:Xl8TP97b?F`CcAi;3o9@`hCYOU]<5WICZ7:4KMA^@NHc3K_GKJDQ8SSREAI9:PEeQUP[SCX46UA2MhHGO_]36\\MiMQXWN?kFf:iAAd;koI?FCoU2fdEDo[o4P_2oD^4CcaDPI9VXh?7A:NG259bDOoHTST6P\\n2kneBib[GaFbOLdEZObVP1o702j4=CHiAaPW?RjWSM>UN4cb`]aJYfOUngoTY:iV1oH:dYW578QD]50lh>jWen8QK`iOiWVl9_Wk6OVP;VG7G9oDg@:2Yb_l`XRd7RTJHEEmiY7?heefm?NjCOk7mQ@2jbZM1jWS85TSY2PLBLfTGg5=V5PL<1lO9Q>bcoGnaV_YJ=8_?5K;POUni5iD1XOXD9=0?<0[f8B8ijS?af=gN0hoofJ[WO91\\llOSm_Rh9eBGT[GNnQD31CWGoK2\\5lA2Dd`67:aakjoTf7H@TboInX40h6VgD;iRSeWg\\dI^Be:E[]N=Ha[Xo9eWPoca_lDN:VZVED2F0NVgmngkn?hN?`gagXSaglT?oQOl3Oe;NefK^m>K_c1=>0fM6M=dK[3Ua`GJ0SAdJZEI[:jMd110NK;]F`OV>IZ5409eZD3F\\dZQ_ONoMgO_jk1PZKFmPJ7HedbBc:B?Z_FOLGLVKfPF3`6HQ]8c;c\\YIHW@HaQn3YFd0m0Z95`Z0^This view shows each developer's performance:
For each person, you see the number of bugs fixed as well as the average fix time." iconAsString = "0000P00000b7;R0000000000MJIjB]^eBDhWT`1K0cabCBbFBK=H=J=??QU\\UW`fnN^1T4Dm`6lO>89HlV6Jcii;5i;F7^21`CP`E`7FSjbclM^oO34fd1m9KbOVilUn[2TS;\\G^`METBJQcR4mlHm<_Y1OmLZ@RYNG@MO=oheioaRWZ2flHa1HSPl?gJaC[NIQGEEhj_Nn57`:ScbgWmmWo_O=FLD\\W[GDHDJ:8[j`2O?OC3CG7g0o0I9I8TTTJMN[?=jLeiGMii_o9`iGWfdC88e8gG:4>]AJYPL[=a`VceTgQ]W0J0?j3?cPdoZj;Mf=@oCXLB\\J6L=ehVhIInZAF\\>_eo`Q9lEZB23HU84n12ff>`edTDhZ]]M@@`<]I@464nQj8Fgc_lRC[oneWdDJZc87gBTiG^^ciGd^54=j;D4Pb>Do?JK3b=:RDCRVUJ9hfHT56:mUl\\MO=>NkPNWZ?YcbCDc0@8@:2f>Xo9E;?@;fIZWfHM9L5^NCo4IM8[95J65B4WeEP1ZHTh3KbocEoj=VUPcME`VeQKG5^5DQ:o=Pim^b7gU_?F[NgAmTo`Uo:oegOc?Fj_6`2@_dVhK[GDlHI@5l@0amiEVnR=2]<1k>S9>lNPg>gNnZPEeQGARFj^TMQ:Ac];SES7l]13>kHl]14MHXj@Pjf72R;`9j@;CAGhf7_5^91^@GL4f846a`FTGd^3X_4hd^>n0l?<81Po1nAjjF`h0h:@7BcbK>6m`6>RTQC0WVZoo;DOREgahEn?W=do4YT0U236[VKU9dD7[Z@XlNbP21BMH]M6PTe0]Ae6=XV0bZ>5J^=[==S?R1^EUBLhPa=igRe=gHNValUQ[3EBBP]DG8@AdEA7l_0TDh8]Yio12[a\\FLl`HUPNWo5DC8>Dm28^e;FnBYCeVXKOHaQB_U0g^I:3KG>ET27Ui9JlXYbhRB7YaXnbKMXm5W^fV2><`Fk`S>Mna[i37Fl2T`3;NNOFm`UUN[KhocMG0f]omV7fn::TB;eXBVb0M>I@YI4W4>7aXQ=l13MS6n@LLmP0H40PmETEPA0`j_2f_90:AWfW3DQNHWoNn?`i1U]Ib>L=D>6H2PieNZW1]U9bFVDkCN5jbY=2Yc]V3e1P<032^a\\0L[`3c\\WGCQhLE8Wm5HnlQBL^CieYAfIg2_E08jC=_CaH10X:SBR::BT6@4`iGQPUJl`GonQk1J0hRQ5?FmKg1Oo@nQ3U?MHec[b^MKfn2WU7aSllST\\Ddd@CEH]e7QFZBY@9YB;J88;RLSi@`T;hM1Rghom^6;`e=;;gbf==:8?>8?deHVFNA5`oCCbVYYg^mU7U_F]_lZNM_lR[k>LHK5fFl3>_cE]8`nfTaW=\\GkIC?CTkddW6@@QC3eLHJ;hIWKF6[T2g2ORUSX__LTWD0`WoPbbA8?j]5`X]aNXG71`Ll?m6o76X7853MA=]@;]bbV5iZ6k97FZ7[0i7nEmTJ02Fde_kJTlnbL@CBSoE4V?::Uac^This view shows how pending bugs are split by person in charge.
Each large square represents a developer
The number that follows is the number of bugs assigned to this person.
Each small square inside represents one bug. The color indicates the priority of each bug, and color coding can be seen by prompting the color scale window.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by clicking on the external border
" iconAsString = "0000P00000b7;R0000000000eJIN<]QiIHl9]=]e]edddTeV[eT@hdgfP?0S=6K7\\i`GP=f68fLHC8@17^Lh6d6KlFc>kQ]IUXG_XFNIT[]f1fJ[OaFKmcLfUc_Wio:mkMS6ge6=nVKZo=fDo_Z[<2HjYfoVKn;gLcOmfjg\\OT_iKn9kXO@ioGd^__Dk^fAVUMlN_b1nbof^fAS?fnegPo_^cCNbNj^[_GOo3__XPS;fh4WTH9RU02L`R6;H^S`R1;ln>mTCojjCll9oO>c:A23@T`P2WF4H95=6B<`PQ0d02=aXn>QQ0<@RRlOKi7XCO:a@nR;oJleNMaEQ:gRj9:9589ocT]9CZJbX49T4:41WH2aNk10Tc6K\\kRK_FV5hl4WaEh\\55MnMcHKA?_^Pn8S9A0ffF_9@e``CjFX_k_Xb7`gm?ab_1KI5kf=REFiH;_L8;]4^EFa_?oc3]mf3JkSlF5g^>FJLaFSc8HW8d`BSCX2o51A;VTFOmg1@jeGO?PfHSMia]08O6Yg8EU6HTYAX2:R4bhbGj@?J^ma`QJ4D129]dB38:0N0CH0Ol3KbA;T:k49aP__gg`XaPL225C>2e1626o34LXB0UJ>XD71Be1QPff>Q4L8`Y0A9JAH9B7L49D4T_\\:k?cZjNI;8FZ4<[L8o^4:la[bXPcf_lZ7:YbjcGnLcm<2M>`<2U]bQ?N28@3>ZhRIUFlgKj80W:38H`13:ioeoKZ;\\0i5GPj\\?FNJeMchBC;o\\=:]Z1EFo=CYV1UGc@Rb_mT;>eb6_fQc@jmACC>kTP;If2A_BO7NIm_oJ2fW;U8E[21SX2C[SJ[XcJdjX^BEM3J9SJC@IEa[X2F9TZ3VRnRTE>_TXWW2Sn`AD1:LUU>oI\\XjfVc8SCV>4;=^b1jEHIGkOeJh]W>>OGKLHaie_PG491_7;X5ACLYPa>NZ:QlEDk0:[OHUj^Y2M3WF]3aCAI5DC1gL8];L[8ombbmfaYXKfBB??5Vke@;GYi2I^UWRP;W8Mi2Y;WXgNb@5`7C?m4X;WXLi21XNj98nl80EG>A\\]?BXgZ5Y0o@0?1P:068YTB2nI;F;AdA_3oX>^`dQW4K4OW38I\\8DG:DTc4c>>486Y9M9AF7Nb:@SOWm3J>gXJ]=E1V6i<=?B1=MCaIFNV5I^dc=NA=?JMVkk:]J`LeWER2=EdBoJO>ULnXSAPmVmhD]EYm?]D[CWK=MKfLdcl7;I\\kDnHgi\\SM7]@S2U\\CaQ3b>\\7AlaQ_37Q1mMhPhfEBa5KXMf9j>jP@WMRjlMRZc>`f\\YD_h5^XRCZXZ:ZbB;FJiL]X_1miWGnPC^iT[SfMH@_1me[_bb[dRI;=IX9X2S1cX]4]IUAFJbGSA36MHg1lAe[[N`1>HQJ:dliHhOln?c_gM^g\\?Hfok:hll_0`0000" id = 27 name = "bugs/person in charge" projection: .presets.EditionStyleProjection { cluster: .proj.MultiLevelClusterer { levels { "0" { value = InCharge } } } columnListAttribute = "records.fields.fields" editionStyle = "/presets/mapStyle" frame { fixedMargins = true marginReduction = 0.115 verticalMargins = "[0.047619047619047616, 0.9642857142857142]" } label { drawBackground = false font = "dialog.bold-BOLD-12" horizontalPosition = 1.0 value = "concat($id, \": \", toString($recordCount, \"#\"))" } layout { XLegend { marks { "0" { } } } YLegend { marks { "0" { } } } height { value = "1/$Rows" } width { value = "1/$Columns" } x { value = "($cur%$Columns)/$Columns" } y { value = "floor($cur/$Columns)/$Rows" } } name = Map records { decoration { method = qualitative value { mapping = LINEAR value = Priority } } fields { vertical = false } label { color { color = "-3355393" } horizontalPosition = 0.0 value = "concat(YearNb, \"\\n\", Module, \" V.:\", Version, \" Submitter:\", Submitter, \"\\n\\n\", ShortDescription)" verticalPosition = 0.958 } } sort { synthesizer: .proj.synthesizers.NumItems { } value = Priority } variables { "0" { initialValue { value = "rint(sqrt($childCount))" } name = Rows } "1" { initialValue { value = "floor(sqrt($childCount-1))+1" } name = Columns } "2" { iteration { value = "$cur+1.0" } name = cur } "3" { initialValue { type = String value = "0,true,$recordCount" } name = GridLayout } } } tableId = 4 } "28": .project.ProjectionItem { iconAsString = "0000P00000b7;R0000000000EJEJ@]eiEdlW>=YIZKJ]cRS]CLMWMMmS_fQ?0dZDo:gldQ2MX3`WMggZG195bjQ>0kHk`C>fTOh]n`oW`^Ekh4k=EA3L08DRZKNcGk7nQWk0liOfAj^d8n1c?g1HoFn9S=bH?kjSGfhTU?5ajVPDmCnDm35jUgIWC\\gN7JgMOmkNWg4dO?[_d^>Nm@f>b>>?14ooBoXonFniQ\\MhmNBlU3ImUNfeWTDOHT0gm>7[;NA]G[_`18TU3mc3M7m3j:MX20Beg0caWoSbYP0WlLTR>>X2IjLbBadi[KALiFmCi4CDa\\gNo\\oCSg:gTZ3[fon9?NP;N\\@\\?d__X8C0;3TH8;DKijk_^EWk]m?gaT89<^L>;g6;Fo=[KNQio1ARb8ehT@n0b0G2Pnk_o;\\k^PmhG0>TWX_=7K\\a;7n?Bk8k\\c[nh7oC_kM>AONSHomOAkSG7@hOJ9L`8ECeY3LPRk\\cAOJR`ZBn7eo5gMgS1fK`n1jkd^S]fjhK_MDk]g;mAO>3h[06EJlFg:BX@_jfK7NX@_B`PWFXPDn_Oo0mgBiB\\D^hib1Ka5W56lD8VIfib4CQ\\AFBaHIG@JiW72JDAT7;b5GDji`P2Q\\XWGFHha0?A2HiEJ6UG61nEV5[LCZD^h`Q5E95S1dY[ZK[15=lY:O3?EQT2?EIFU3jBLC_6G94O20H`E:DQ0M>8B11h?QH5H`nIQMJOa6G:9W2@0RPmn>6RH5]aCfQ;6]e>nF]:fR=hmOY=]P@KGUYjI\\J[cEk0i@eWE>EkZ4C;badl2]LiXR>n8?O3b3?ENS?;eA_H]Mf;X?5iSBEiT4T=>=UCAX^aYDV>RUg:<^0fAX2imM?WDI]kQAScT[jYbEcH`gffX]UW^;AGed5JHAieS6^U=g49@H;oa78@Tb[7i>1?nOi_W=EUcDXQ5bEclegT_fLhROU9:^jD[B@lR[69o:S5l\\iDXegAEW;c_Ui[ZiY5IMQR4g4KIMa_eUhKI9U]lbFO_\\ZDYL7Sl]MQNe^AO?MDo^HC]JAHfdo9OhJA^ijQ_jmRW\\Ra8VCAQIkSelCRMe:h?WNI]c]RQYGFa5_IS^W\\SlZbd_kmCOmeA_njY_i69m_nj\\7K^RleGJnm7imO`inZkUjGM_dnjkWJMb0m?kfK7aSNdI10cdZG6^P1?9H2Q_;fJ[H36lDghjU3nCU=PG_>RjeQ`TaT[^F:TYa6LA6=TVA39YA=ZVJ3j3GW^XKfLhVdIbP9LZ7HH`R6KEbKVC=VeaEMn5bU2E9NR;b:O=YT:LT:=J<4eX;ajjDCSZKc@U\\48ZRbZ0>ojf^ZhZFhd@g3:XcAW\\RjKbI?V<=JIR]E49jOX<1[Y;c7XVfGLnH_HTAc1OF:jhg0SbTKI2S>lDZaQ4;_9XoFSSUTefbbKo6eiNIY>_B9RKQA=^[eeeZ\\e;GFc;FFc;T_\\^;DXaZ\\^Dm^_^8KGAZc[GGKg8Wl[XA7cdRM_=kH0CeiaJ3mAW>WJMME9>_N5]\\8O;G^bFF\\QVm1mg9^J7mO9WS^DG6m=T@[;F\\hVI9]3Af^een0:kNH5]O5AfF2XUGaUmeO339^l1LdfkHJjID]fLkd^mEG=o_kKI]jm;l_m5Lohk:dMWlZ_5Mf7YGKSh1PeQm`CUgQ64YOoA_f3a0>ZeFS`J[Q]15Y]a68FOmdjIFG]>\\mfV`AIEFdJ?b[O]:MJc^gNcL`19fWGL3d?ZA69S6DPaX1Dnj;k1j7AONcHXQ`@[89e8VX?O4ka33OmQ^onCKP1@2W[icGfG`GZmf3DTh`3ULniAn2nXL1O8k[?Lme7aQ6TPkf:KfIVEMSZKbDC6=HDQL5:ZGQ1M6JDISjeYgZ5[bT:CUBEBU8eB[FThis view shows how many bugs have been fixed by each person.
Each large square represents a developer
The number that follows is the number of bugs assigned to this person.
Each small square inside represents one bug. The color indicates the version of each bug, and color coding can be seen by prompting the color scale window.

You can:

  • Drill down by clicking on the border of one of the large squares
  • Drill up by cl