Skip to content

Commit a34493d

Browse files
Merge pull request #820 from Vincamine/w-invi-2
Created Academy Content Template Creator Guide with the creation of a Meshery Contributors certification as an example
2 parents 7ae0280 + ab08239 commit a34493d

File tree

9 files changed

+255
-0
lines changed

9 files changed

+255
-0
lines changed
115 KB
Loading
134 KB
Loading
39.8 KB
Loading
47.6 KB
Loading
39.9 KB
Loading
26.7 KB
Loading
253 KB
Loading
738 KB
Loading
Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
---
2+
title: Using Academy Content Template Creator
3+
weight: 6
4+
description: >
5+
6+
categories: [Academy]
7+
tags: [Academy]
8+
aliases:
9+
- /cloud/academy/using-academy-content-template-creator
10+
- /cloud/academy/using-content-template-creator
11+
- /cloud/academy/academy-content-template-creator-guide
12+
---
13+
14+
The Academy Content Template Creator is a step-by-step wizard that helps you create structured templates for your Academy content. This generator streamlines the process of
15+
creating learning paths, challenges, and certifications by collecting all necessary metadata and generating a ready-to-use template.
16+
17+
18+
## Getting Started
19+
![Academy Content Template Creator](images/template-creator.png)
20+
1. Access the Creator: Click on the "Create New Content" card in your Academy dashboard
21+
2. Create Your Content: The wizard will guide you through **5 essential steps** to create your content template
22+
23+
Since it's straightforward, let's walk through a practical example to demonstrate the process.
24+
25+
## Example: Creating "Meshery Contributors Certification"
26+
27+
This example demonstrates how to use the **Academy Content Template Creator** to build a **certification** program for **Meshery contributors**. Each step shows what information to enter, followed by specific example values.
28+
29+
### Step 1: Basic Information
30+
![Step 1: Basic Information](images/template-creator-step1.png)
31+
- Type: Choose "Certification" from Learning Path, Challenge, or Certification
32+
- Title: "Meshery Contributors Certification"
33+
- Description: "A comprehensive certification program for developers looking to become active contributors to Meshery"
34+
35+
### Step 2: Content Details
36+
![Step 2: Content Details](images/template-creator-step2.png)
37+
<!-- - Level: Intermediate (assumes basic cloud-native knowledge) -->
38+
- Categories: "open-source, cloud-native"
39+
- Add Tags: "meshery", "kubernetes", "golang", "contribution", "open-source"
40+
- Banner Image: "images/meshery-contributors-banner.svg"
41+
42+
### Step 3: Content Access
43+
![Step 3: Content Access](images/template-creator-step3.png)
44+
- Workspace: "Meshery Academy"
45+
- Team: "Contributors Program"
46+
- Access Status: Enabled
47+
- Content Access End Date: Leave blank for permanent access (Meshery always welcomes contributors)
48+
49+
**Understanding Access Status: Enabled vs Disabled**
50+
51+
The Access Status setting in Step 3 controls the visibility and accessibility of your Academy content to users.
52+
53+
**Enabled Status Behavior:**
54+
- **Visible**: Content appears in Academy catalogs and search results
55+
- **Accessible**: Users with proper permissions can view and interact with the content
56+
- **Active**: All features work normally (enrollment, progress tracking, badge awarding)
57+
- **Discoverable**: Content shows up in filtered searches and category browsing
58+
59+
**Disabled Status Behavior:**
60+
- **Hidden**: Content does not appear in public Academy catalogs
61+
- **Inaccessible**: Users cannot access the content even with direct links
62+
- **Inactive**: No progress tracking or badge awarding occurs
63+
- **Non-discoverable**: Content is excluded from search results and browsing
64+
65+
**For the Meshery Contributors Certification example:**
66+
67+
*If Enabled:*
68+
- Contributors can immediately find and enroll in the certification
69+
- Progress tracking begins upon enrollment
70+
- Badge is awarded upon successful completion
71+
- Content appears in the Contributors Program workspace
72+
73+
*If Disabled:*
74+
- Certification is hidden from the Contributors Program
75+
- No new enrollments possible
76+
- Existing progress is paused
77+
- Content remains invisible until re-enabled
78+
79+
### Step 4: Recognition
80+
![Step 4: Recognition](images/template-creator-step4.png)
81+
82+
The Recognition step defines the badge or certificate awarded upon completion. You have two options:
83+
- **Use Existing Recognition**: Choose from the Layer5 collection
84+
- **Create New Recognition**: Design a custom badge with an image URL
85+
86+
**For our example:**
87+
- Create a "Meshery Contributor" badge with the Meshery logo
88+
89+
90+
### Step 5: Generate Template
91+
![Step 5: Generate Template](images/template-creator-step5.png)
92+
93+
After clicking "Continue" in Step 4, a success notification appears in the bottom-right corner confirming your template has been created successfully.
94+
95+
{{< alert type="info" title="Navigation Between Steps" >}}
96+
You can navigate back to any previous step to make modifications. When you return to earlier steps and make changes, your entries in the subsequent steps will remain intact.
97+
{{< /alert >}}
98+
99+
100+
**Generated Template Output for Meshery Contributors Certification:**
101+
102+
This template provides the YAML front matter metadata for static site generators (like Hugo/Jekyll). After copying it, we can directly create new content files in our Academy repository.
103+
104+
```yaml
105+
---
106+
type: "certification"
107+
title: "Meshery Contributors Certification"
108+
description: "A comprehensive certification program for developers looking to become active contributors to Meshery"
109+
weight: 1
110+
banner: "images/meshery-contributors-banner.svg"
111+
id: "unique-content-id"
112+
level: "beginner"
113+
---
114+
115+
Provide a brief summary of what learners will gain.
116+
<!-- Add your Academy content here -->
117+
```
118+
119+
{{< alert type="info" title="Important Reference IDs" >}}
120+
Make note of two key identifiers for your content files:
121+
- **Content ID**: Unique identifier for this specific content
122+
- **Organization ID**: Your organization's identifier (remains constant)
123+
{{< /alert >}}
124+
125+
{{< alert type="info" title="Content ID Updates" >}}
126+
If you click "Back" and return to Step 5, a new Content ID will be generated. Simply use the new ID and discard the previous one.
127+
{{< /alert >}}
128+
129+
### Next Steps
130+
131+
After generating our template:
132+
133+
1. **Copy the Template**: Use the provided copy button to get your front matter
134+
2. **Create Your Content File**: Paste the template into a new .md file in your academy repository
135+
3. **Add Your Content**: Replace the placeholder comment with your actual learning material
136+
137+
138+
## Manage Invitation
139+
140+
### Auto-Generated Invitations
141+
Navigate to **Identity → Invitations** to find your automatically created invitation.
142+
![](images/auto-invitation.png)
143+
144+
The first column labeled "INVITATION" contains a shareable link that you can copy.
145+
146+
## What Can the Invitation Link Do for You?
147+
148+
The auto-generated invitation link is a powerful tool that helps instructors efficiently manage learner access and streamline the enrollment process.
149+
150+
### 1. Precise Team Access Control
151+
152+
Your invitation link provides targeted access management:
153+
154+
- **Specific Team Access**: Only members of your selected teams can access the content through this link
155+
- **Automatic Role Assignment**: Users who accept the invitation automatically receive the "Academy Learner" role
156+
- **Organization Boundary Protection**: Only users within your [organization](https://docs.layer5.io/cloud/identity/organizations/) can use this invitation
157+
158+
### 2. Flexible Sharing and Distribution
159+
160+
**Automated Email Distribution:**
161+
- The system automatically sends invitation emails to specified team members
162+
- Emails include course descriptions and one-click access links
163+
- Reduces your manual notification workload and ensures consistent messaging
164+
165+
**Direct Sharing Options:**
166+
- Copy and send the invitation link directly to team members
167+
- Share through collaboration tools like Slack, Microsoft Teams, or Discord
168+
- Embed the link in internal documentation, wikis, or learning portals
169+
170+
171+
### Customize Invitation Properties
172+
173+
Click the pencil icon to access the invitation customization form.
174+
![](images/auto-invitation-details.png)
175+
176+
The invitation form contains eight properties. Three are automatically generated by the system for convenience, which you can modify according to your needs:
177+
178+
**Auto-Generated Properties:**
179+
1. **Name**: Automatically formatted as "Academy Invitation for [your-content-name]"
180+
*Example: "Academy Invitation for meshery-contributors-certification" (lowercase with dash)*
181+
2. **Description**: "Invitation to join organization [organization-name] for academy curricula [course-name]"
182+
3. **Roles**: Defaults to "Academy Learner" - [Learn more about Academy roles](https://docs.layer5.io/cloud/security/roles/academy-roles/)
183+
184+
{{< alert type="info" title="Admin Role Invitations" >}}
185+
Academy admins can invite other instructors to become co-admins by changing the **Roles** property from "Academy Learner" to "Academy Admin" during invitation customization.
186+
{{< /alert >}}
187+
188+
**Customizable Properties:**
189+
190+
### 1. Emails - Invitation Email List
191+
192+
Configure who receives the invitation:
193+
194+
- **Supported Formats:**
195+
- Individual emails: `[email protected]`
196+
- Domain-wide invitations: `@domain.com` (invites all users from that domain)
197+
- **Duplicate Handling**: The system automatically merges duplicate entries
198+
- **Quantity Recommendations:**
199+
- Small team invitations: 10-50 email addresses
200+
- Department-level invitations: 100-200 email addresses
201+
- Large organizations: Use domain wildcards like `@company.com` instead of listing individual emails
202+
203+
### 2. Expires At - Expiration Settings
204+
205+
Control when the invitation expires:
206+
207+
- **Flexibility**: Supports any time setting, extension, and recovery. Leave blank for permanent access
208+
- **What happens at expiration?**
209+
- Expiration is only checked when users attempt to accept the invitation
210+
- If the expiration time has passed, users cannot proceed with the invitation
211+
- Expiration check compares server current time vs. set expiration time
212+
- **Can I modify expired invitations?**
213+
- Yes, you can recover and extend expiration times by entering edit mode
214+
215+
### 3. Quota - Usage Limits
216+
217+
Set limits on how many users can accept the invitation:
218+
219+
- **When quota is exceeded:**
220+
- Operates on a first-accept, first-in basis
221+
- Users beyond the quota cannot join, even with a valid invitation link
222+
- **Recovery options:**
223+
- If quota is reached, you can increase the quota to restore access
224+
- Admin console provides real-time usage monitoring
225+
226+
### 4. Teams - Team Assignment List
227+
228+
Specify which teams invited users will join:
229+
230+
- **Team Selection**: Choose from available teams via dropdown menu
231+
- **Multiple Teams**: You can assign users to multiple teams
232+
- **No Teams Available**: If your organization has no teams, [create them](https://docs.layer5.io/cloud/identity/teams/) first. Users will be added to all successfully configured teams
233+
234+
{{< alert type="info" title="Team Structure Changes" >}}
235+
**During Organization Restructuring:**
236+
- If team structure changes after invitations are sent
237+
- Some teams may be merged or deleted
238+
- New users can still join remaining valid teams
239+
240+
**Permission Management Updates:**
241+
- Team permission policies may change
242+
- Some teams might close to new users
243+
- Other teams continue accepting new members normally
244+
{{< /alert >}}
245+
246+
### 5. Status - Enabled/Disabled
247+
248+
Control invitation accessibility:
249+
250+
- **Enabled**: Invitation functions normally
251+
- **Disabled**: If users open a disabled invitation link, they can choose to "Retry" or "Go to Dashboard"
252+
253+
{{< alert type="info" title="Invitation Idempotency" >}}
254+
Users only need to accept one invitation, regardless of how many invitation emails they receive. Once accepted, additional invitations to the same user are automatically ignored.
255+
{{< /alert >}}

0 commit comments

Comments
 (0)