|
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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 | + |
| 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