Creating channels in bulk
You may need to create channels in bulk, either at the initial setup or upon major organizational changes that trigger the creation of numerous channels. We recommend creating channels in bulk using Kaltura’s bulk services with Kaltura’s Categories CSV.
- Prepare the initial list of groups that will use the new MediaSpace Channels. You can prepare the list manually or export the list from the organizational information system. Include at least the following information from your organizational information system:
- For groups managed in your organizational information system, include the Group ID of each organizational group/unit.
- If a group manager plans to create the channel members list and permissions in MediaSpace, specify the User ID of the group manager. This sets the group manager as the channel owner and enables the group manager immediate access to the group channel settings in MediaSpace.
- If a friendly group name is available in your information system, you can export the friendly group name to use as the channel name. - Edit the basic group list in a spreadsheet editor or programmatically to comply with Kaltura’s Categories CSV format. Insert the following information to create channels in MediaSpace with relevant channel settings (see example below).
- Enter the relative category path to your MediaSpace Channels category.
- When relevant, set each Group ID as the reference ID of its respective category. This enables you to refer to the category based on the Group ID,when needed (for example, for automated channel membership creation).
- Enter the channel name. You can use the group name exported from your information system, the Group ID, or any name you select. The name will be displayed as the channel name in MediaSpace.
- For the category owner, enter the User ID of the user who will initially manage the channel (for example, the User ID of the unit/group manager).
- Enter the category entitlement settings according to the type of channel (open/restricted/private).
- You can add additional information, such as channel description, tags, and any custom channel classification or topic managed by the category’s custom data. The channel owner also can manually enter this information in MediaSpace after the channel is created.
- Insert the Categories CSV headers for fields that are populated in your CSV.
Categories CSV for creating different types of MediaSpace Channels
NOTE: While there is no limit on the number of lines in the CSV, the processing time of each CSV is affected by the number of lines in the CSV. Therefore, we recommend splitting the CSV into manageable chunks for convenient editing, processing, and tracking. - On the KMC Upload tab, upload the Categories CSV.
Bulk processing in Kaltura is handled in an asynchronous batch process. Track the completion status of the bulk job in the KMC on the Bulk Upload Log page or using email notifications set by Kaltura for your account.
Assign channel members permissions
Channel managers can manually add members to their channels, assign and update member permission levels, and remove members. To learn how to manually add channel members for specific channels, see Edit a channel.
Channel permissions can be initially assigned by the video portal administrator in the KMC for channels related to organizational units. The organizational IT department usually needs to assist in setting up group channel permissions by exporting the organizational group membership data from the organization’s information systems.
Channel permissions should be assigned in bulk for a large number of new channels, either at the initial setup or upon major organizational changes that trigger the creation of numerous channels. We recommend assigning channel permissions in bulk using Kaltura’s bulk services with Kaltura’s End-User Entitlements CSV.
You must assign channel permissions in bulk after creating the channels. Assigning channel permissions in bulk requires first setting the Group ID value as the channel Category’s Reference ID. See the procedure To create MediaSpace Channels in bulk.
To create memberships and permissions in bulk for new channels
- For all new channels for which you are assigning permissions, prepare an initial list of organizational user/group membership pairs with the required channel permission levels.
Initial list of group memberships
- When you export group memberships from your organizational information system for the list, you may need to separately query all group managers, all group members, and so on. This is to ensure that different channel permission levels are assigned according to the user’s organizational role within a specific group.
- If you want the channel to be self-managed in MediaSpace and did not assign a channel owner when creating the channel, assign a Manager permission level to at least one user. - Edit the basic group membership list in a spreadsheet editor or programmatically to comply with Kaltura’s End-User Entitlements CSV format. Specifically, insert the CSV field headers, specify the CSV add action (action =1), and specify the numeric value of each permission level according to Kaltura’s specifications.
You may assign permissions for multiple channels within one CSV file.
Channel memberships formatted in Kaltura's End-User Entitlements CSV
NOTE: While there is no limit on the number of lines in the CSV, the processing time of each CSV is affected by the number of lines in the CSV. Therefore, we recommend splitting the CSV into manageable chunks for convenient editing, processing, and tracking. - On the KMC Upload tab, upload the End-User Entitlements CSV.
Bulk processing in Kaltura is handled in an asynchronous batch process. Track the completion status of the bulk job in the KMC on the Bulk Upload Log page or using email notifications set by Kaltura for your account.
Automatically update channel permissions
Following the initial setup of channels and channel permissions, you can automate the updating of channel permissions to reflect relevant changes in your organization (user joined/left an organizational group; User joined/left the organization, and so on).
Automated updating of MediaSpace channel permissions based on changes made in your organizational information system is very useful for big organizations. Automatic channel permission updates help when organizational group memberships are updated frequently and when you want to eliminate the need for each channel manager to manually manage permissions in MediaSpace.
Automating ongoing updates of channel permissions requires the expertise and full involvement of the organizational IT department and requires your organizational information system to support one of the following modes:
- Automated periodic export of changes
Audit, query, report, or export changes in your information systems for a specific period (for example, day or week) to prepare and submit a scheduled bulk update using Kaltura’s End-User Entitlements CSV or Kaltura's API. - Real-time triggers
Trigger real-time update calls from your information system or related applications to Kaltura using Kaltura’s API when every relevant change occurs in your system.
The following procedures provide general guidelines and rely on your IT experts and/or developers to tailor the automation process based on the capabilities of your organizational information system and related applications. Kaltura’s professional services team may assist in designing and developing the automated updating process and will provide all information required for utilizing Kaltura’s bulk services and API for automation.
- Define how frequently to schedule the update.
Decide how often you need to update the channel membership permissions and schedule the frequency of the update process accordingly. - Develop an automated process that includes the following steps and logic:
- List the required channel permissions modifications.
Based on your information system audit, querying, and export capabilities, retrieve the list of users who — within a specific time range — joined or left groups within your organization, or changed their organizational role in specific groups.
You may rely on direct audit information available in your information system or develop a query and sync process that implements the following logic: - List every user whose record was created/modified/deleted within a specific time range (for example, from the last update until now).
For each user in this list:- Query your information system to get the list of groups that the user currently belongs to (possibly with the specific role in each group)
- Query Kaltura for the list of channels that the user currently is a member of.
- Compare the two lists (based on the Group ID and Category reference ID) and implement the logic for determining the channels for which the specific user’s permission should be created, updated, or deleted. Format this as an initial list of channel permission actions (add, update, delete).
This logic assumes that changes in user group memberships affect the modification date of the user’s record. When changes in user group memberships affect the modification date of the group’s record, implement an equivalent logic that is oriented toward synchronizing the list of channel members instead of synchronizing the list of channels that the user is a member of.
NOTES:
An attempt to create/update/delete user permission in a channel’s category that does not exist yet in Kaltura will fail. You may extend the logic for automatic creation of new channels when the first relevant group membership is set in Kaltura. Note that such an addition may cause uncontrolled channel creation and may result in a large number of empty channels, which is not recommended when channel browsing is enabled in your site.
- An attempt to create a user permission in a channel’s category when the user record is not yet in Kaltura will cause the automatic creation of the user’s record in Kaltura with the specified User ID.
- The category’s reference ID is a standard way to map a single organizational group to a single channel. To automatically assign permissions for a single channel to users of multiple organizational groups, you may tailor a synchronization logic that relies on a category custom data schema that enables multiple Group IDs to be assigned specific permission levels to a single category. Contact Kaltura professional services for assistance if necessary.
- Prepare the End-User Entitlements CSV.
Transform the initial list of channel permission actions (add, update, delete) to comply with Kaltura’s End-User Entitlements CSV format. Insert the CSV field headers and specify the permission levels and actions.
To add a user permission, use the CSV add action (action = 1).
To update a user permission or create a new one as a fallback in case the permission you attempt to update was not yet set, use the CSV add or update action (action = 6).
To delete a user permission, use the CSV delete action (action = 3).
Channel permission actions formatted in Kaltura's End-User Entitlements CSV - Submit the End-User Entitlements CSV.
When the End-User Entitlements CSV is available, submit it to Kaltura using the Kaltura API: Call the categoryUser.addfrombulkupload API action.
Bulk processing in Kaltura is handled in an asynchronous batch process. Track the completion status of the bulk job in the KMC on the Bulk Upload Log page or using email notifications set by Kaltura for your account.
- List the required channel permissions modifications.
For changes in your information system to trigger real-time updates to channel membership permissions, your information system or related applications must support real-time triggering of notifications to other systems.
Develop the following:
- Trigger an Add Channel Permission call
Create a script that implements the following Kaltura API requests when a new group membership is created for a user in your information system (a user joins an organizational group).- Call the category.list API action to retrieve the channel’s category object. In the list filter, include the Group ID set as the Category’s Reference ID attribute.
- When the category is found, call the categoryUser.add API action to create a new permission for the user in the specific channel with the proper permission level.
- Trigger a Delete Channel Membership call
Create a script that implements the following Kaltura API requests when an existing group membership is removed from a user in your information system (a user leaves an organizational group).- Call the category.list API action to retrieve the channel’s category object. In the list filter, include the Group ID set as the Category’s Reference ID attribute.
- When the category is found, call the categoryUser.delete API action to delete the user's existing channel membership.
- Trigger an Update Channel Membership call
Create a script that implements the following Kaltura API requests when an existing group membership type in your information system is changed in a way that impacts the relevant channel permission level (for example, a user's role within a group changes and the user should be set as a channel manager).- Call the category.list API action to retrieve the channel’s category object. In the list filter, include the Group ID set as the Category’s Reference ID attribute.
- When the category is found, call the categoryUser.update API action to adjust the user’s permission level in the group’s channel.
In the previous steps, you may skip step A, which lists the category with the specified Reference ID, if you store the Kaltura Category ID in your information system’s group record.
Enable manual overrides of automatically updated channel permissions
When channel permissions are assigned and automatically updated based on organizational group memberships, you may want to allow channel managers and video portal administrators the flexibility to assign different channel permissions in specific cases.
Examples:
- In a company departmental channel, you want one of the employees to be the channel moderator, while all employees in the department are assigned only the channel member permission level.
- In a course channel, you want to assign contribution privileges to one of the students, while all other students are assigned only the channel member permission.
- In a company business unit channel, you want the unit’s administrative assistant to be the channel manager but there is no attribute within your organizational information system that you can use to assign this permission level automatically.
The Update Method attribute of channel permissions enables manual overrides to a channel’s user permission levels that will not be updated by the automatic update process. You can set the Update Method as automatic or manual.
Call the categoryUser.update Kaltura API action to enable a controlled override of permission levels that were set or updated manually in MediaSpace or the KMC. Use the override parameter to indicate whether to override a permission level that is set manually.
Using this API action enables you to implement a logic that prevents manually created or updated channel permission levels from being updated by automated processes or that allows the channel permission levels to be updated only in specific cases.
By default, end-user permissions created in bulk using a CSV use the automatic update method and will not override manual updates to channel permission levels.
Any channel member added in MediaSpace is set to the manual update method. In addition, any permission level change to existing members by a MediaSpace channel manager sets the channel permission to manual update.
You can view and fully control the permission level update method in the KMC Category Edit window.
Deleting channels
Channels can be deleted:
- By the channel owner/manager in MediaSpace
- By the video portal administrators in the KMC
- With a bulk service, using Kaltura’s Categories CSV
- With a script that calls the category.delete Kaltura API action
When a category is deleted, the media entries in the category (including sub-category entries) are not deleted. The media entries lose the association with the deleted category, including any privacy setting defined in the deleted category.
To plan channel deletions and to ensure that access to content in deleted channels is controlled according to your organizational needs, note that:
- When a channel is deleted in MediaSpace, a media entry in the channel that is not associated with any other channel or gallery becomes private (associated with the MediaSpace private category).
- When categories are deleted manually in the KMC or using the Categories CSV, the media entries in the category automatically are associated with the deleted category's parent category. Before deleting a category, you may want to associate the category's entries with new categories using the entry bulk actions available in the KMC (Edit Categories, Add to New Category).
- When a category is deleted using the category.delete Kaltura API action, you can control whether the deleted category's media entries automatically are assigned to the parent category. In addition, you can programmatically associate the entries with other categories before the category is deleted, according to the logic you want to implement.
Deactivating channel memberships
Deactivating MediaSpace channel memberships may be useful when you want to block channel members from accessing a channel’s content while retaining the option to reactivate their memberships later.
To deactivate and reactivate channel memberships
You can do either of the following:
- In the KMC Edit Category window, apply the deactivate/activate action to selected channel members.
- Prepare a Kaltura End-User Entitlements CSV:
- To deactivate a user's channel membership, use the CSV update action (action = 2) with status = 3.
- To activate a user's channel membership, use the CSV update action (action = 2) with status = 1.
Deactivating channel's members (status = 3)
Reactivating channel's members (status=1)
Auto-complete list
A channel manager can add end-users as members of a channel in MediaSpace on the Members tab of the Channel Settings page. The channel manager can conveniently select members using an auto-complete feature. In the Add Member window under Enter user name, the channel manager starts typing a user name or user ID. Suggested user names are displayed after three characters are entered, and the channel manager can select a member to add. To learn more about editing channel members, refer to Editing Channel Users in the Kaltura MediaSpace User Manual.
By default, the auto-complete list includes only users who already are listed in Kaltura.
When authorizing access to MediaSpace through integration with SSO/LDAP, a user's record in Kaltura is not necessarily created before the user’s first login to MediaSpace.
To populate the auto-complete list with all users who potentially can use MediaSpace (and not only those who already are logged-in), you may pre-provision the user records in Kaltura.
The Workflow for Creating and Updating the Add Members Auto-Complete List:
When you use Kaltura to authorize access to MediaSpace, it is assumed that all user accounts are pre-provisioned in Kaltura. Therefore, the auto-complete list includes all potential MediaSpace users.
Setting up add members auto-complete list
To populate the Add Members auto-complete user list in bulk
- Prepare the initial list of users in your organization who will be eligible to access MediaSpace. You can prepare the list manually or export the list from your organizational information system. Include at least the following information:
- User ID
- User’s first name
- User's last name - Edit the initial users list in a spreadsheet editor or programmatically to comply with Kaltura’s end-users CSV format.
- Use the CSV add or update action (action = 6) to update any existing user record that includes only the user ID with the user’s first and last names, or to create new records.
- (Optional) Combine the first and last names into an additional field called screenName, which also is used in the KMC and applications.
Adding/Updating User Records Using the End-Users CSV
NOTE: While there is no limit on the number of lines in the CSV, the processing time of each CSV is affected by the number of lines in the CSV. Therefore, we recommend splitting the CSV into manageable chunks for convenient editing, processing, and tracking.
- On the KMC Upload tab upload the End-Users CSV.
Bulk processing in Kaltura is handled in an asynchronous batch process. Track the completion status of the bulk job in the KMC on the Bulk Upload Log page or using email notifications set by Kaltura for your account.
Updating the add members auto-complete list
You may need to update the Add Members auto-complete list when users join or leave your organization.
To add or delete users, you can:
- Manually update the users list and submit the End-Users CSV.
- Develop an automated process for periodically updating the Add Members auto-complete users list.
- Develop a trigger-based process for updating the Add Members auto-complete user list.
Deleted users are also removed from all channels in which they are members. Content ownership and analytics information of the deleted user are not deleted.
Since user records are shared by all Kaltura applications running on the same account, we recommend that you delete records only of users who left the organization.
Integrating the Add Members auto-complete feature directly with your information system to enable a real-time search of users may be possible as custom work. The integration requires real-time access and search capabilities based on user ID and user name. To learn more, contact Kaltura.
- Define how frequently to schedule the update.
Decide how often you need to update the Add Members auto-complete users list, and schedule the frequency of the update process accordingly. - Develop an automated process that includes:
- List the users to add or delete in the Add Members auto-complete users list.
Create the list of users to be added or deleted, based on your information system audit, querying, and export capabilities. - Prepare the End-User CSV.
Transform your update data to comply with the Kaltura’s end-users CSV format for adding/deleting users from the user list. Insert the CSV field headers and specify the actions.
To add a user, use the CSV add or update action (action = 6). To delete a user, use the CSV delete action (action = 3).
User records are added/updated/deleted using Kaltura's End-Users CSV - Submit the End-User CSV.
When the End-Users CSV is available, submit it to Kaltura using the Kaltura API: Call the user.addfrombulkupload API action.
Bulk processing in Kaltura is handled in an asynchronous batch process. Track the completion status of the bulk job in the KMC on the Bulk Upload Log page or using email notifications set by Kaltura for your account.
- List the users to add or delete in the Add Members auto-complete users list.
For the updating process, you can use direct Kaltura API calls (user.add, user.delete) instead of the CSV.
For changes in your information system to trigger real-time updates to the Add Members auto-complete users list, your information system or related applications must support real-time triggering of notifications to other systems.
Develop the following:
- Trigger an Add User notification.
Create a script that implements the following Kaltura API requests when a new user who is eligible to access MediaSpace is added to your information system.
- Call the user.add API action to create a new user record. Specify at least the following:
* User ID
* User’s first name
* User’s last name
* screenName (Combine the first and last names.) - Trigger a Delete User notification.
Create a script that implements the following Kaltura API requests when a MediaSpace user leaves your organization.
- Call the user.delete API action to delete the user’s record from Kaltura.
Specify the User ID. - Trigger an Update User notification.
Create a script that implements the following Kaltura API request when an existing MediaSpace user's name changes in your information system.
- Call the user.update API action to update the user record. Specify the following:
* User ID
* Updated values for: User’s first name, User’s last name, screenName (Combine the first and last names.)