Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you haven't followed the previous sections of this Wiki, please have a read at of this section here, that introduces you to the concept of One-to-One scenario, effectively offering the option to save a video as a custom lookup field on any given Salesforce object.

...

  1. At first, some authorisation checks are ran run for you:
    1. Verify if the running user has Read & Write access to the target record
    2. If the running user's profile is Guest (Un-authenticated community user), check the provided token against the token field (there is a dedicated section for this, don't worry)
  2. Load the questionnaire data, if any:
    1. If a questionnaire ID is specified, return that specific one
    2. If a lookup field is referenced, load it from that field
    3. If none, check if there are questionnaires defined for the target object API name
  3. Generate an authentication token with the video platform, so that we can unlock the permissions required to run the recording of a new video
  4. On the client side, pick the questionnaire, if more than one are available
  5. Record the video, either as interview and answering the questions of the questionnaire, or as a freestyle video
  6. Update the target record on the configured lookup field, with a reference of the new video record. Clone the questions that have been asked, if any.

...

Again, the fundamental assumption in regard regards to record visibility and multiple video recording is that a running user must have read access to the parent record. In other words, in order to record multiple videos against a specific record, the running user must have read access to that record. Again, pretty straightforward.
Looking from all possible angles:

  • Sharing: The running user must have read access to the parent record, the one referenced by all videos
  • CRUD: Again read access to the object of the parent record, plus write access on the configured junction object. If the out of the box Video_Junction__c object is used, the NativeVideo permission set will cover the second part of this requirement
  • FLS: Edit on the video lookups defined on the configured junction object, so both on the video and parent object lookups
  • Questionnaire and questions are read without sharing, as per the previous scenario


Finally, let's take again a closer look at the high level process triggered to guarantee that the right level of security is in place:

  1. Verify if the running user has read access on the parent record. Block the user otherwise.
  2. Load the questionnaire, if any:
    1. If a questionnaire ID is specified, return that specific one
    2. If a lookup field is referenced, load it from that field
    3. If none, check if there are questionnaires for the target object API name
  3. Generate an authtication token, so that the recording of a new video is granted
  4. On the client side, pick the questionnaire, if more than one are available
  5. Record the video, as an interview and , answering the questions of the questionnaire or as a simple recording
  6. Create a new record of the configured junction object, linking the new video record with the configured parent record. Clone the questions that have been asked, if any.

...

In the next sections we will continue to look at more advanced topics, like how to embed video recordings in your pages. If you are instead looking for the similar info information on the video browsing functionality, look here.

...