Skip to content

Commit e5ef777

Browse files
authored
Merge pull request #337 from iushdoescode/Tip
[Docs] Add tips and trick: How to animate edges in Meshery Designs
2 parents 36e9c45 + e10099f commit e5ef777

File tree

3 files changed

+162
-121
lines changed

3 files changed

+162
-121
lines changed

content/en/cloud/security/roles/_index.md

Lines changed: 48 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Roles map permissions to users. Roles contain any number of keychains, which con
1414
## Provider Admin Role
1515

1616
{{< cardpane >}}
17-
{{% card header="### Provider Admin Role" %}}
17+
{{% card header="<a href='https://docs.layer5.io/cloud/reference/default-permissions/#Provider+Admin' target='_blank'>Provider Admin Role</a>" %}}
1818
![role-provider](/cloud/security/images/role-provider-admin.svg)
1919
{{% /card %}}
2020
{{% card %}}
@@ -52,12 +52,12 @@ Roles map permissions to users. Roles contain any number of keychains, which con
5252

5353
{{< cardpane >}}
5454
{{% card %}}
55-
![organization-administrator](/cloud/security/images/organization-roles.svg)
55+
![organization-administrator and manager](/cloud/identity/images/organization-administrator-and-organization-billing-manager.svg)
5656
{{% /card %}}
5757
{{< /cardpane >}}
5858

5959
{{< cardpane >}}
60-
{{% card header="### Organization Administrator" %}}
60+
{{% card header="### <a href='https://docs.layer5.io/cloud/reference/default-permissions/#Org+Admin' target='_blank'>Organization Administrator</a>" %}}
6161

6262
**What is the purpose of this role?**
6363

@@ -81,7 +81,7 @@ Roles map permissions to users. Roles contain any number of keychains, which con
8181
- Organization Owner
8282

8383
{{% /card %}}
84-
{{% card header="### Organization Billing Manager" %}}
84+
{{% card header="### <a href='https://docs.layer5.io/cloud/reference/default-permissions/#Org+Billing+Manager' target='_blank'>Organization Billing Manager</a>" %}}
8585

8686
**What is the purpose of this role?**
8787

@@ -120,12 +120,12 @@ For more information, see [Organization](/cloud/identity/organizations).
120120

121121
{{< cardpane >}}
122122
{{% card %}}
123-
![workspace-administrator](/cloud/security/images/workspace-roles.svg)
123+
![workspacea-administrator-and-workspace-manager](/cloud/identity/images/workspace-administrator-and-workspace-manager.svg)
124124
{{% /card %}}
125125
{{< /cardpane >}}
126126

127127
{{< cardpane >}}
128-
{{% card header="### Workspace Administrator" %}}
128+
{{% card header="### <a href='https://docs.layer5.io/cloud/reference/default-permissions/#Workspace+Admin' target='_blank'>Workspace Administrator</a>" %}}
129129

130130
**What is the purpose of this role?**
131131

@@ -148,6 +148,29 @@ For more information, see [Organization](/cloud/identity/organizations).
148148

149149
- Organization Administrators or Workspace Owner
150150

151+
{{% /card %}}
152+
{{% card header="### Workspace Manager" %}}
153+
154+
**What is the purpose of this role?**
155+
156+
- Management and administration of the various workspace resources
157+
158+
**Who can assign this role?**
159+
160+
- Organization Administrators or Workspace Administrators
161+
162+
**When this role is first assigned?**
163+
164+
- Manually by Organization Administrators or Workspace Administrators
165+
166+
**How many instances of these roles?**
167+
168+
- Min: 0, Max: many
169+
170+
**Who can remove assignment of this role?**
171+
172+
- Organization Administrators or Workspace Administrators
173+
151174
{{% /card %}}
152175
{{< /cardpane >}}
153176

@@ -163,12 +186,12 @@ The entitlement of "workspace owner" is automatically bestowed to the creator of
163186

164187
{{< cardpane >}}
165188
{{% card %}}
166-
![team-administrators](/cloud/security/images/team-roles.svg)
189+
![team-admins-and-manager](/cloud/identity/images/team-admins-and-team-managers.svg)
167190
{{% /card %}}
168191
{{< /cardpane >}}
169192

170193
{{< cardpane >}}
171-
{{% card header="### Team Administrator" %}}
194+
{{% card header="<a href='https://docs.layer5.io/cloud/reference/default-permissions/#Team+Admin' target='_blank'>Team Administrator</a>" %}}
172195
**What is the purpose of this role?**
173196

174197
- Administration of teams
@@ -183,52 +206,34 @@ The entitlement of "workspace owner" is automatically bestowed to the creator of
183206
- By default, the first Team Admin is owner (the team creator)
184207

185208
**How many instances of these roles?**
209+
Min: 1, Max: many
186210

187-
- Min: 1, Max: many
188-
189-
{{% /card %}}
190-
{{< /cardpane >}}
191-
192-
{{< alert title="Owners as entitlements, not roles" >}}
193-
It's essential to understand that owners are not roles, but entitlements.
194-
195-
Team owners carry the team administrator role, and may be joined in their team administration duties by any number of other users carrying the team administrator role. However, the team owner also has the administrative privilege to delete the team.
196-
197-
The entitlement of "team owner" is automatically bestowed to the creator of a team. The individual user who created a given team initially is therefore granted certain administrative privileges beyond that of other team administrators. Specifically, team owners retain the sole permission to delete the team.
198-
199-
For more information, see [Teams](/cloud/identity/teams).
200-
{{< /alert >}}
201-
202-
## User Role
203-
204-
{{< cardpane >}}
205-
{{% card %}}
206-
![user](/cloud/security/images/user-role.svg)
207211
{{% /card %}}
208-
{{< /cardpane >}}
209-
210-
{{< cardpane >}}
211-
{{% card header="## User" %}}
212-
212+
{{% card header="### Team Manager" %}}
213213
**What is the purpose of this role?**
214214

215-
- To grant Organization members access to basic features and resources within the context of that Organization.
215+
- Administration of teams (without delete access)
216216

217-
**Who can assign this role?**
217+
**Who can assign and unassign this role?**
218218

219-
- Organization Administrators, Workspace Administrators and Team Administrators
219+
- Organization Administrators or Team Owner
220220

221-
**When this role first assigned?**
221+
**When is this role first assigned?**
222222

223-
- Automatically assigned to members on joining an Organization.
223+
- Manually by Organization Administrator or Team Owner
224224

225225
**How many instances of these roles?**
226226

227-
- Min: 1, Max: many
227+
- Min: 0, Max: many
228+
{{% /card %}}
229+
{{< /cardpane >}}
228230

229-
**Who can remove assignment of this role?**
231+
{{< alert title="Owners as entitlements, not roles" >}}
232+
It's essential to understand that owners are not roles, but entitlements.
230233

231-
- Organization Administrators, Workspace Administrators and Team Administrators
234+
Team owners carry the team administrator role, and may be joined in their team administration duties by any number of other users carrying the team administrator role. However, the team owner also has the administrative privilege to delete the team.
232235

233-
{{% /card %}}
234-
{{< /cardpane >}}
236+
The entitlement of "team owner" is automatically bestowed to the creator of a team. The individual user who created a given team initially is therefore granted certain administrative privileges beyond that of other team administrators. Specifically, team owners retain the sole permission to delete the team.
237+
238+
For more information, see [Teams](/cloud/identity/teams).
239+
{{< /alert >}}

content/en/meshmap/designer/whiteboarding/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ Manage layers, group elements, for better organization. These advanced tools ens
101101

102102
Lines and edges are easily manipulated. Adjust thickness, style, and endpoints effortlessly. Drag line segments to create bends or curves, adding detail to visual representations.
103103

104+
Tip:To enable this animation for an edge, set the animation property of relationship metadata to "marching-ants".
104105
#### Consistent Functionality
105106

106107
The customization tools apply uniformly to all annotation types. Changes made within the tooltip reflect instantly on the canvas, facilitating real-time collaboration.
Lines changed: 113 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,116 @@
1-
{{ $data := "" }} {{ $p := "static/data/csv/keys.csv" }} {{ $excludedColumns :=
2-
slice 0 10 11 12 13 14 15 16 17 18 }} {{ if os.FileExists $p }} {{ $opts := dict
3-
"delimiter" "," }} {{ $data = (os.ReadFile $p | transform.Unmarshal $opts) }} {{
4-
else }} {{ errorf "Unable to get resource %q" $p }} {{ end }} {{ if $data }} {{
5-
$uniqueCategories := slice }} {{ $stopAddingCategories := false }} {{ range $i,
6-
$header := index $data 1 }} {{ if gt $i 3 }} {{if eq $header "Keychain ID"}} {{
7-
$stopAddingCategories = true }} {{end}} {{ if not $stopAddingCategories }} {{ if
8-
and (ne (trim $header "") "") (not (in $uniqueCategories $header)) }} {{
9-
$uniqueCategories = $uniqueCategories | append $header }} {{ end }} {{ end }} {{
10-
end }} {{end}} {{ range $index, $category := $uniqueCategories }}
11-
<div class="csvtable-div">
12-
{{ $sectionName := $category | lower }}
13-
{{ $urlPath := "roles" }}
14-
{{ if hasPrefix $sectionName "workspace" }}
15-
{{ $urlPath = "roles/workspace-roles" }}
16-
{{ else if hasPrefix $sectionName "team" }}
17-
{{ $urlPath = "roles/team-roles" }}
18-
{{ else if hasPrefix $sectionName "org" }}
19-
{{ $urlPath = "roles/organization-roles" }}
20-
{{ else if hasPrefix $sectionName "provider" }}
21-
{{ $urlPath = "roles/#provider-admin-role" }}
22-
{{ else }}
23-
{{ $urlPath = print "roles/" $sectionName | urlize }}
24-
{{ end }}
25-
<h2><a href="/cloud/security/{{ $urlPath }}">{{ $category }} Role</a></h2>
26-
<table class="csvtable td-initial">
27-
<thead>
28-
<tr>
29-
{{ range $i, $col := index $data 1 }} {{ if and (not (in
30-
$excludedColumns $i)) (or (eq $i 0) (ne $i 1) (ne $i 2)) }} {{ if and
31-
(eq $i 1) }}
32-
<th>Permission</th>
33-
{{ else }} {{ if and (eq $i 2) }}
34-
<th>Description</th>
35-
{{ end }}{{ end }} {{ end }} {{ end }}
36-
</tr>
37-
</thead>
38-
<tbody>
39-
{{ range $i, $row := $data }} {{ if gt $i 0 }} {{/* Skip the header row */}}
40-
{{ $hasAccess := false }} {{/* Flag to track if the row has access for the category */}}
41-
{{ $functionValue := "" }} {{/* Variable to hold the Function value */}}
42-
{{ $featureValue := "" }} {{/* Variable to hold the Feature value */}}
1+
{{ $data := "" }}
2+
{{ $p := "static/data/csv/keys.csv" }}
3+
{{ $excludedColumns := slice 0 10 11 12 13 14 15 16 17 18 }}
434

44-
{{/* Find the column indices for Category, Function, and Feature */}}
45-
{{ $categoryIndex := -1 }}
46-
{{ $functionIndex := -1 }}
47-
{{ $featureIndex := -1 }}
48-
{{ range $j, $header := index $data 1 }} {{/* Assuming the first row contains headers */}}
49-
{{ if eq $header $category }} {{/* Check if the header matches the current category */}}
50-
{{ $categoryIndex = $j }}
51-
{{ end }}
52-
{{ if eq $header "Function" }}
53-
{{ $functionIndex = $j }}
54-
{{ end }}
55-
{{ if eq $header "Feature" }}
56-
{{ $featureIndex = $j }}
5+
{{ if os.FileExists $p }}
6+
{{ $opts := dict "delimiter" "," }}
7+
{{ $data = (os.ReadFile $p | transform.Unmarshal $opts) }}
8+
{{ else }}
9+
{{ errorf "Unable to get resource %q" $p }}
10+
{{ end }}
11+
12+
{{ if $data }}
13+
{{ $uniqueCategories := slice }}
14+
{{ $stopAddingCategories := false }}
15+
16+
{{ range $i, $header := index $data 1 }}
17+
{{ if gt $i 3 }}
18+
{{ if eq $header "Keychain ID" }}
19+
{{ $stopAddingCategories = true }}
20+
{{ end }}
21+
22+
{{ if not $stopAddingCategories }}
23+
{{ if and (ne (trim $header "") "") (not (in $uniqueCategories $header)) }}
24+
{{ $uniqueCategories = $uniqueCategories | append $header }}
25+
{{ end }}
26+
{{ end }}
27+
{{ end }}
28+
{{ end }}
29+
30+
{{ range $index, $category := $uniqueCategories }}
31+
<div class="csvtable-div">
32+
{{ $sectionName := $category | lower }}
33+
{{ $urlPath := "roles" }}
34+
{{ if hasPrefix $sectionName "workspace" }}
35+
{{ $urlPath = "roles/workspace-roles" }}
36+
{{ else if hasPrefix $sectionName "team" }}
37+
{{ $urlPath = "roles/team-roles" }}
38+
{{ else if hasPrefix $sectionName "org" }}
39+
{{ $urlPath = "roles/organization-roles" }}
40+
{{ else if hasPrefix $sectionName "provider" }}
41+
{{ $urlPath = "roles/#provider-admin-role" }}
42+
{{ else }}
43+
{{ $urlPath = print "roles/" $sectionName | urlize }}
44+
{{ end }}
45+
<h2><a href="/cloud/security/{{ $urlPath }}">{{ $category }} Role</a></h2>
46+
<table class="csvtable td-initial">
47+
<thead>
48+
<tr>
49+
{{ range $i, $col := index $data 1 }}
50+
{{ if and (not (in $excludedColumns $i)) (or (eq $i 0) (ne $i 1) (ne $i 2)) }}
51+
{{ if and (eq $i 1) }}
52+
<th>Permission</th>
53+
{{ else }}
54+
{{ if and (eq $i 2) }}
55+
<th>Description</th>
56+
{{ end }}
57+
{{ end }}
58+
{{ end }}
59+
{{ end }}
60+
</tr>
61+
</thead>
62+
<tbody>
63+
{{ range $i, $row := $data }}
64+
{{ if gt $i 0 }}
65+
{{/* Skip the header row */}}
66+
{{ $hasAccess := false }}
67+
{{/* Flag to track if the row has access for the category */}}
68+
{{ $functionValue := "" }}
69+
{{/* Variable to hold the Function value */}}
70+
{{ $featureValue := "" }}
71+
{{/* Variable to hold the Feature value */}}
72+
73+
{{/* Find the column indices for Category, Function, and Feature */}}
74+
{{ $categoryIndex := -1 }}
75+
{{ $functionIndex := -1 }}
76+
{{ $featureIndex := -1 }}
77+
{{ range $j, $header := index $data 1 }}
78+
{{/* Assuming the first row contains headers */}}
79+
{{ if eq $header $category }}
80+
{{/* Check if the header matches the current category */}}
81+
{{ $categoryIndex = $j }}
82+
{{ end }}
83+
{{ if eq $header "Function" }}
84+
{{ $functionIndex = $j }}
85+
{{ end }}
86+
{{ if eq $header "Feature" }}
87+
{{ $featureIndex = $j }}
88+
{{ end }}
89+
{{ end }}
90+
91+
{{/* Check if the row has access for the category */}}
92+
{{ if and (ge $categoryIndex 0) (or (eq (index $row $categoryIndex) "X") (eq (index $row $categoryIndex) "X*")) }}
93+
{{ $hasAccess = true }}
94+
{{ end }}
95+
{{/* Get the Function and Feature values if the row has access */}}
96+
{{ if $hasAccess }}
97+
{{ $functionValue = index $row $functionIndex }}
98+
{{ $featureValue = index $row $featureIndex }}
99+
{{ end }}
100+
101+
{{/* Print the row if it has access */}}
102+
{{ if $hasAccess }}
103+
<tr>
104+
<td>{{ $functionValue }} </td>
105+
<td>{{ $featureValue }}</td>
106+
</tr>
107+
{{ end }}
108+
{{ end }}
57109
{{ end }}
58-
{{ end }}
59-
{{/* Check if the row has access for the category */}}
60-
{{ if and (ge $categoryIndex 0) (or (eq (index $row $categoryIndex) "X") (eq (index $row $categoryIndex) "X*")) }}
61-
{{ $hasAccess = true }}
62-
{{ end }}
63-
{{/* Get the Function and Feature values if the row has access */}}
64-
{{ if $hasAccess }}
65-
{{ $functionValue = index $row $functionIndex }}
66-
{{ $featureValue = index $row $featureIndex }}
67-
{{ end }}
68-
{{/* Print the row if it has access */}}
69-
{{ if $hasAccess }}
70-
<tr>
71-
<td>{{ $functionValue }} </td>
72-
<td>{{ $featureValue }}</td>
73-
</tr>
74-
{{end}}
75-
{{ end }} {{ end }}
76-
</tbody>
77-
</table>
78-
</div>
79-
{{ end }} {{ else }}
80-
<p>No data available.</p>
110+
</tbody>
111+
</table>
112+
</div>
113+
{{ end }}
114+
{{ else }}
115+
<p>No data available.</p>
81116
{{ end }}

0 commit comments

Comments
 (0)