Vytvoření, úprava a odstranění sestavy
Sestava se konfiguruje pomocí souboru XML. Musíte definovat:
- Dotaz do databáze CyberElements Identity, který načte požadované informace,
- Vlastnosti každého sloupce, který se má zobrazit, ve formátu XML: typ objektu, název v databázi SQL, zobrazovaný název, index zobrazení atd.
- Možnosti zobrazení grafu (sloupcový graf, výsečový graf, barevné body).
Chcete-li vytvořit a nakonfigurovat novou sestavu, klikněte na tlačítko „New report“.
Chcete-li upravit konfiguraci sestavy, vyberte ji a klikněte na tlačítko „Modify“.

Vlastnosti sestavy
| Parameter |
Popis |
Typy a možné hodnoty |
| Name |
Zobrazovaný název sestavy. |
Řetězec znaků. Povinné. |
| Code |
Odpovídá ID objektu. Jeho hodnota musí být jedinečná v rámci všech sestav. |
Řetězec znaků bez mezer a speciálních znaků. Povinné |
| Category |
Kategorie sestav, ve které se sestava zobrazí v seznamu sestav. |
Seznam předdefinovaných kategorií. |
| Description |
|
Řetězec znaků. |
| XML |
Značky XML popisující dotaz SQL v databázi Hpliance, vlastnosti každého sloupce sestavy a vlastnosti grafických prvků. |
Text ve formátu XML. |
| Choice of report template |
Grafická šablona sestavy (navíc k tabulce dat). |
Without chart, Histogram, Stacked histogram, Pie chart nebo Color ball by threshold. |
| With parameters |
Umožňuje přidat proměnné zadávané uživatelem. Do XML bude nutné přidat značku . |
Zaškrtávací políčko. |
Zápis XML pro jednoduchou sestavu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 | <Config>
<!-- If there is a chart, indicate whether to display the chart on the dashboard -->
<DisplayGraphicInDashboard>true</DisplayGraphicInDashboard>
<!-- If there is a chart, indicate the chart display index on the dashboard -->
<DashboardDisplayIndex>0</DashboardDisplayIndex>
<!-- Indicates whether data is displayed as soon as the report page is accessed -->
<DirectDisplay>true</DirectDisplay>
<!-- The SQL query used to retrieve the data to be displayed -->
<Query></Query>
<!-- Definition of the list of columns available to the user. -->
<!-- The visibility and display index of the column can be configured by the user when viewing the report. -->
<Columns>
<!-- Definition of a column (to be duplicated as many times as necessary) -->
<Column>
<!-- The Object Type -->
<ObjectType></ObjectType>
<!-- Name of the column containing the IDs -->
<Column_Link_Id></Column_Link_Id>
<!-- The name of the field as defined in the query. -->
<Name></Name>
<!-- The default name to display to the user. -->
<DisplayName></DisplayName>
<!-- Indicates whether this column is visible by default. TRUE or FALSE -->
<Visible></Visible>
<!-- The default display index. -->
<DisplayIndex></DisplayIndex>
</Column>
</Columns>
</Config>
|
Příklad: seznam uživatelů bez telefonního čísla
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 | <Config>
<DisplayGraphicInDashboard>true</DisplayGraphicInDashboard>
<DashboardDisplayIndex>0</DashboardDisplayIndex>
<DirectDisplay>true</DirectDisplay>
<Query>
SELECT personne_uid,personne_display_name FROM PERSONNE
WHERE personne_id NOT IN(SELECT personne_id FROM PERSONNE_MULTIVALUED WHERE personne_schema_attribut_id = 7)
AND personne_hidden=0
</Query>
<Columns>
<Column>
<ObjectType/>
<Column_Link_Id/>
<Name/>
<DisplayName/>
<Visible/>
<DisplayIndex/>
</Column>
<Column>
<ObjectType/>
<Column_Link_Id/>
<Name>personne_uid</Name>
<DisplayName>UID</DisplayName>
<Visible>TRUE</Visible>
<DisplayIndex>1</DisplayIndex>
</Column>
<Column>
<Name>personne_display_name</Name>
<DisplayName>Nom</DisplayName>
<Visible>TRUE</Visible>
<DisplayIndex>2</DisplayIndex>
</Column>
</Columns>
</Config>
|
Značky XML popisující sloupce sestavy
| Značka XML |
Definice |
Možné hodnoty |
| Name |
Název pole tak, jak je definován v dotazu SQL. |
Řetězec znaků. |
| Column_Link_Id |
Slouží k vytváření sloupců s daty, na která lze kliknout. Odpovídá názvu sloupce obsahujícího ID, které slouží ke správě odkazu. |
Řetězec znaků. Volitelné |
| ObjectType |
Typ cílového objektu odkazu, na který lze kliknout (Identity, struktura). |
Identity = 1 => přesměrování na stránku userDetails.aspx |
|
|
Structure = 2 => přesměrování na stránku structure.aspx |
|
|
Volitelné |
| DisplayName |
Název sloupce, který se má zobrazit v rozhraní. |
Řetězec znaků. |
| Visible |
Určuje, zda je sloupec zobrazen, nebo skryt. |
'TRUE' nebo 'FALSE' |
| DisplayIndex |
Index sloupce (pořadí zobrazení). |
Celé číslo větší než 0 |
Přidání parametrů zadávaných uživatelem do sestavy: značka
Zaškrtněte políčko „With parameters“ a přidejte do XML následující značky:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | <!-- Definition of the list of parameters expected by the report request. -->
<Parameters>
<!-- Definition of a parameter (to be duplicated as many times as necessary) -->
<Parameter>
<!-- The name of the variable as defined in the query. -->
<Variable></Variable>
<!-- The label to display to the user. -->
<Label></Label>
<!-- An integer indicating the expected data type (see documentation for possible values) -->
<DataType></DataType>
<!-- Indicates whether the user must specify a value of ‘TRUE’ or ‘FALSE’ -->
<Mandatory></Mandatory>
<!-- For optional parameters, the default value to be used if not entered by the user. -->
<DefaultValue></DefaultValue>
</Parameter>
</Parameters>
|
Příklad: oprávnění, jejichž platnost brzy vyprší
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | <Query>DECLARE @DateNow AS DATETIME; SELECT @DateNow = GETDATE(); SELECT * FROM vHABILITATIONS_FULL WHERE (date_debut_lien IS NULL OR @DateNow > date_debut_lien) AND date_fin_lien IS NOT NULL AND ((0 = @ApplicationId) OR (application_id = @ApplicationId)) AND DATEADD(dd, @NbJours, @DateNow) > date_fin_lien ORDER BY date_fin_lien ASC</Query>
<Parameters>
<Parameter>
<Variable>ApplicationId</Variable>
<DataType>4</DataType>
<Mandatory>TRUE</Mandatory>
<Label>Selectionnez l'application</Label>
</Parameter>
<Parameter>
<Variable>NbJours</Variable>
<DataType>23</DataType>
<Mandatory>TRUE</Mandatory>
<Label>Sélectionnez le nombre de jour</Label>
</Parameter>
</Parameters>
|
Značky XML v <Parameter>, které popisují parametry, jež může zadat uživatel:
| Značka XML |
Definice |
Možné hodnoty |
| Variable |
Název proměnné použité v dotazu SQL (bez @). |
Řetězec znaků. |
| Data Type |
Typ objektu CyberElements Identity odpovídající parametru. Pokud nejde o základní typ objektu (datum, řetězec, celé číslo atd.), bude parametr rozevíracím seznamem s možnými hodnotami. |
Structure=2; Authorization Rule=3; Application=4; Repository=5; Right=8; StructureType=11; Tree=12; AdminProfile=18; PersonType=19; String=22; Integer=23; Boolean=24; Date=25. |
| Label |
Popisek, který se zobrazí uživateli. |
Řetězec znaků. |
| AttributeCode |
Kód atributu PSA. |
Řetězec znaků odpovídající kódu PSA. |
| Mandatory |
Určuje, zda musí uživatel zadat hodnotu. |
'TRUE' nebo 'FALSE |
| DefaultValue |
U volitelných parametrů jde o výchozí hodnotu, která se použije, pokud uživatel nic nezadá. |
Řetězec znaků. |
Definování parametrů grafů
Vyberte grafickou šablonu z rozevíracího seznamu a přidejte do XML následující značky:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 | <GraphicConfig>
<!-- The type of graph (1=Histogram, 2=Stacked histogram, 3=Pie chart, 4=Colored ball per threshold -->
<GraphicType>1</GraphicType>
<!-- Graph title (if not specified, the report name will be used -->
<Title></Title>
<!-- The query to use to retrieve the data that will be used to generate the graph -->
<Query></Query>
<!-- The name of the query field that will serve as the x-axis -->
<ColumnX></ColumnX>
<!-- The name of the query field that will serve as the y-axis -->
<ColumnY></ColumnY>
<!-- The label of the x-axis -->
<LabelX>Label of column X</LabelX>
<!-- The label of the y-axis -->
<LabelY>Label of column Y</LabelY>
<!-- Indicates whether the graph is in 3 dimensions -->
<ThreeDimension>false</ThreeDimension>
</GraphicConfig>
|
Stacked histogram
Vložte do značky následující značky:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | <!-- 0 = each compiled block corresponds to a column of data (default value) -->
<!-- 1 = each compiled block corresponds to a grouping of data from a single column of data -->
<StackColumnMode></StackColumnMode>
<!-- Definition of the list of columns to stack. -->
<StackedColumns>
<!-- Definition of a column (to be duplicated as many times as necessary) -->
<StackedColumn>
<!-- StackColumnMode = 0: The name of the field that contains the data as defined in the query. -->
<!-- StackColumnMode = 1: The name of the field that allows you to create stackable blocks. (YColumn contains the data) -->
<DataField></DataField>
<!-- The name to display to the user. -->
<DisplayName></DisplayName>
<!-- Defines the color of the stacked block (HTML code or color name) -->
<Color></Color>
</StackedColumn>
</StackedColumns>
|
Barevný kruh podle prahové hodnoty
Vložte do značky následující značky:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 | <!-- Definition of thresholds -->
<Intervals>
<!-- Definition of a threshold (to be duplicated as many times as necessary) -->
<Interval>
<!-- Minimum threshold included -->
<Min></Min>
<!-- Maximum threshold excluded -->
<Max></Max>
<!-- Color of the ball for the defined threshold (HTML code or color name) -->
<Color></Color>
</Interval>
</Intervals>
|
Překlad názvů sloupců v sestavě
Sloupce a hodnoty obsažené ve výsledcích sestavy lze přeložit do několika jazyků.
Následuje příklad sestavy, ve které byly sloupce přeloženy:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 | <Config>
<DisplayGraphicInDashboard>True</DisplayGraphicInDashboard>
<DashboardDisplayIndex>5</DashboardDisplayIndex>
<GraphicConfig>
<GraphicType>1</GraphicType>
<Title>Nombre de personnes par application et type de compte</Title>
<Query>SELECT APPLICATION.application_nom + ' - ' + compte_type_nom as Administrateur, T_PERSONNE_APPLICATION_GROUPED.total FROM (SELECT application_id, compte_type_id, COUNT(*) AS total FROM (SELECT DISTINCT personne_id, vPERSONNE_COMPTE_DROIT.application_id, compte_type_id FROM vPERSONNE_COMPTE_DROIT INNER JOIN DROIT ON DROIT.droit_id = vPERSONNE_COMPTE_DROIT.droit_id) T_PERSONNE_APPLICATION GROUP BY application_id, compte_type_id) T_PERSONNE_APPLICATION_GROUPED INNER JOIN APPLICATION ON APPLICATION.application_id = T_PERSONNE_APPLICATION_GROUPED.application_id INNER JOIN COMPTE_TYPE ON COMPTE_TYPE.compte_type_id = T_PERSONNE_APPLICATION_GROUPED.compte_type_id ORDER BY total DESC</Query>
<ColumnX>Administrateur</ColumnX>
<LabelX>Nom de l'administrateur</LabelX>
<ColumnY>total</ColumnY>
<LabelY>Nombre de compte</LabelY>
<ThreeDimension>false</ThreeDimension>
</GraphicConfig>
<Query>SELECT APPLICATION.application_culture, APPLICATION.application_nom, compte_type.compte_type_nom, compte_type.compte_type_culture, T_PERSONNE_APPLICATION_GROUPED.total FROM (SELECT application_id, compte_type_id, COUNT(*) AS total FROM (SELECT DISTINCT personne_id, vPERSONNE_COMPTE_DROIT.application_id,
compte_type_id FROM vPERSONNE_COMPTE_DROIT INNER JOIN DROIT ON DROIT.droit_id = vPERSONNE_COMPTE_DROIT.droit_id) T_PERSONNE_APPLICATION GROUP BY application_id, compte_type_id) T_PERSONNE_APPLICATION_GROUPED INNER JOIN APPLICATION ON APPLICATION.application_id = T_PERSONNE_APPLICATION_GROUPED.application_id INNER JOIN COMPTE_TYPE ON COMPTE_TYPE.compte_type_id = T_PERSONNE_APPLICATION_GROUPED.compte_type_id ORDER BY total DESC</Query>
<Columns>
<Column>
<Name>application_nom</Name>
<DisplayName>Application</DisplayName>
<Visible>True</Visible>
<DisplayIndex>1</DisplayIndex>
<Internationaldisplayname Lang="FR">Application_FR</internationaldisplayname>
<Internationaldisplayname Lang="EN">Application_EN</internationaldisplayname>
<CultureColumnName Prop="Name">application_culture</CultureColumnName>
</Column>
<Column>
<Name>compte_type_nom</Name>
<DisplayName>Compte type</DisplayName>
<Visible>True</Visible>
<DisplayIndex>2</DisplayIndex>
<Internationaldisplayname Lang="FR">Compte type</internationaldisplayname>
<Internationaldisplayname Lang="EN">Account type</internationaldisplayname>
<CultureColumnName Prop="Name">compte_type_culture</CultureColumnName>
</Column>
<Column>
<Name>total</Name>
<DisplayName>Nombre</DisplayName>
<Visible>True</Visible>
<DisplayIndex>3</DisplayIndex>
<internationaldisplayname Lang="FR">Nombre</internationaldisplayname>
<internationaldisplayname Lang="EN">Number</internationaldisplayname>
</Column>
</Columns>
</Config>
|
Značka XML
- Internationaldisplayname:
- Definice: značka sloužící k překladu názvů sloupců vracených sestavou. Tato značka musí být uvedena tolikrát, kolik jazyků je nakonfigurováno v CyberElements Identity.
- Atribut: Lang=„<\language_code>“, kde <\language_code> představuje kód jazyka definovaný v nastavení jazyků na kartě General > Application Settings.
- Možná hodnota: řetězec znaků. Název sloupce zobrazovaný v sestavě pro daný jazyk.
- CultureColumnName:
- Definice: definice XML culture, která slouží k překladu obsahu tabulky vygenerované sestavou.
- Atribut: Prop=„<\XML_Attribute>“, kde <\XML_Attribute> představuje atribut vlastnosti XML odpovídající různým hodnotám ve sloupci.
- Možná hodnota: řetězec znaků. Sloupec culture dotazu SQL.
Zobrazení sestavy podle kontextu uživatele
Ve verzi 4000 Hpliance je možné do sestavy přidat neviditelný parametr, který bude definován podle osoby, která sestavu spouští. Hodnoty v sestavě se zobrazí podle hodnot atributu uživatele. Uživatel tak například uvidí pouze výsledky pro svou organizaci.
Příklad sestavy: vypsat všechna oprávnění přiřazená identitám v dané struktuře. Zobrazit příjmení, jména, oprávnění a aplikace všech identit, u kterých atribut struktury „Responsibility“ odpovídá atributu struktury přihlášeného uživatele.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 | <Config>
<DirectDisplay>true</DirectDisplay>
<Query>select P.personne_id,P.personne_nom, P.personne_prenom, D.droit_nom, A.application_nom
from vHABILITATIONS_ALL AS VHA
inner join LIEN_PERSONNE_STRUCTURE AS LPS ON LPS.personne_id = VHA.personne_id
inner join DROIT AS D ON D.droit_id = VHA.droit_id
inner join PERSONNE AS P ON P.personne_id = VHA.personne_id
inner join APPLICATION AS A ON A.application_id = D.application_id
where structure_id in
(select * from dbo.fctSplitString(dbo.fctGetAttributeValueByPersonneIdAndPersonneSchemaAttributCode(@personneId, 'responsabilite'), '|'))
</Query>
<Columns>
<Column>
<Name>personne_id</Name>
<DisplayName>ID</DisplayName>
<Visible>False</Visible>
<DisplayIndex>1</DisplayIndex>
</Column>
<Column>
<Name>personne_nom</Name>
<DisplayName>Nom</DisplayName>
<Visible>True</Visible>
<DisplayIndex>2</DisplayIndex>
<ObjectType>1</ObjectType>
<Column_Link_Id>personne_id</Column_Link_Id>
</Column>
<Column>
<Name>personne_prenom</Name>
<DisplayName>Prénom</DisplayName>
<Visible>True</Visible>
<DisplayIndex>2</DisplayIndex>
<ObjectType>1</ObjectType>
<Column_Link_Id>personne_id</Column_Link_Id>
</Column>
<Column>
<Name>droit_nom</Name>
<DisplayName>Droit</DisplayName>
<Visible>True</Visible>
<DisplayIndex>3</DisplayIndex>
</Column>
<Column>
<Name>application_nom</Name>
<DisplayName>Application</DisplayName>
<Visible>True</Visible>
<DisplayIndex>4</DisplayIndex>
</Column>
</Columns>
<Parameters>
<Parameter>
<Variable>personneId</Variable>
<AttributUserConnected>True</AttributUserConnected>
<AttributeCode>personne_id</AttributeCode>
</Parameter>
</Parameters>
</Config>
|
Značky XML, které popisují parametry založené na kontextu uživatele.
- Variable:
- Definice: název proměnné použité v dotazu SQL (bez @).
- Možná hodnota: řetězec znaků.
- AttributUserConnected:
- Definice: určuje, zda je parametr definován na základě kontextu aktuálního uživatele, nebo zda je nutné jej zadat ručně z rozhraní.
- Možná hodnota:
- True: kontext uživatele
- False: ruční zadání
- AttributeCode:
- Definice: kód atributu PSA.
- Možná hodnota: řetězec znaků odpovídající kódu PSA.