Interface Scene7Service


@ProviderType @NotNullApi public interface Scene7Service
The Scene7Service provides methods for interacting with the official Scene7 API.

  • Field Details

    • CONTAINER

      static final int CONTAINER
      Scene7 specification used in getAssociatedAssets - Array of set and template assets containing the specified asset.
      See Also:
    • MEMBER

      static final int MEMBER
      Scene7 specification used in getAssociatedAssets - Array of assets contained by the specified set or template asset.
      See Also:
    • OWNER

      static final int OWNER
      Scene7 specification used in getAssociatedAssets - Array of assets that own the specified asset.
      See Also:
    • DERIVED

      static final int DERIVED
      Scene7 specification used in getAssociatedAssets - Array of assets that are derivatives of the specified asset.
      See Also:
    • GENERATOR

      static final int GENERATOR
      Scene7 specification used in getAssociatedAssets - Array of assets that were used to generate the specified asset.
      See Also:
    • GENERATED

      static final int GENERATED
      Scene7 specification used in getAssociatedAssets - Array of assets that were generated from the specified asset.
      See Also:
  • Method Details

    • getPublishServer

      @Nullable @Nullable String getPublishServer(S7Config s7Config)
      Returns the domain name of the S7 publish server
      Parameters:
      s7Config -
      Returns:
      A string, null if not present
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getApplicationPropertyHandle

      @Nullable @Nullable String getApplicationPropertyHandle(S7Config s7Config)
      Returns the application property handle.
      Parameters:
      s7Config - the Scene7 configuration
      Returns:
      the application property handle, null if not present
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getVideoEncoderPresetTypeHandle

      @Nullable @Nullable String getVideoEncoderPresetTypeHandle(S7Config s7Config)
      Returns the video encoder preset type handle.
      Parameters:
      s7Config - the Scene7 configuration
      Returns:
      the video encoder preset type handle, null if not present
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getPropertySetTypeHandle

      @Nullable @Nullable String getPropertySetTypeHandle(S7Config s7Config, String typeName)
      Returns the handle for IPS PropertySet type by its name.
      Parameters:
      s7Config - the Scene7 configuration
      Returns:
      the PropertySet type's handle, or null if not present
      Throws:
      AssertionError - in case of IPS or other failure
    • getPropertySets

      List<Scene7PropertySet> getPropertySets(String typeHandle, S7Config s7Config)
      Returns the video encoder preset type handle.
      Parameters:
      typeHandle - - the type handle
      s7Config - the Scene7 configuration
      Returns:
      the list of property sets
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • createPropertySet

      String createPropertySet(S7Config s7Config, String typeHandle, Map<String,Object> props)
      Create PropertySet of given type, and store given Properties to it.
      Parameters:
      s7Config - the Scene7 configuration
      typeHandle - PropertySet type handle
      props - array of Properties (Key-Value pairs) to put into new PropertySet
      Returns:
      the handle of newly created PropertySet
      Throws:
      AssertionError - in case of IPS or other failure
    • updatePropertySet

      void updatePropertySet(S7Config s7Config, String setHandle, Map<String,Object> props)
      Update the PropertySet with the new set of Properties, replacing existing ones.
      Parameters:
      s7Config - the Scene7 configuration
      setHandle - PropertySet handle
      props - array of Properties (Key-Value pairs) to put into PropertySet
      Throws:
      AssertionError - in case of IPS or other failure
    • updatePropertySet

      void updatePropertySet(String setHandle, String propKey, String propValue, S7Config s7Config)
      Update single property in the PropertySet.
      Parameters:
      setHandle - the set handle for the company settings
      propKey - property key name
      propValue - property key value
      s7Config - the Scene7 configuration
      Throws:
      AssertionError - in case of IPS or other failure
    • getUserHandle

      String getUserHandle(ResourceResolver resourceResolver, String email, String password, String region)
      Returns a unique user handle from Scene7.
      Parameters:
      resourceResolver - resource resolver used to access Scene7 configuration
      email - E-Mail address
      password - Password
      region - Region of the Scene7 service
      Returns:
      A unique user handle
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getCompanyMembership

      String getCompanyMembership(ResourceResolver resourceResolver, String userHandle, String email, String password, String region)
      Returns a JSON representation of the company membership information provided by Scene7. The information includes a company handle, a company name and an asset root path.

      For example:
      {
      handle: 'jlkj98',
      name: 'Acme Ltd.',
      rootPath: '/MyAssets'
      }

      Parameters:
      resourceResolver - resource resolver used to access Scene7 configuration
      userHandle - Unique user handle
      email - E-Mail address
      password - Password
      region - Region of the Scene7 service
      Returns:
      A JSON string
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getFolderTree

      Scene7Folder getFolderTree(String folderPath, int depth, String[] responseFields, String[] excludeFields, S7Config s7Config)
      Returns a Scene7Folder holding a tree structure
      Parameters:
      folderPath - - the top folder of the request - does not need to be the root.
      depth - - depth of the returned folder tree.
      responseFields - - fields to be filled in for each node in the tree
      excludeFields - - fields to be excluded in each node of the tree
      s7Config -
      Returns:
      A Scene7Folder object containing the requested folder structure
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getFolderHandle

      String getFolderHandle(String cqFolderPath, S7Config s7Config)
      Returns s7 folder handle for the associated cq folder
      Parameters:
      cqFolderPath - - the path the target cq folder targeted in the s7 folder organization
      s7Config -
      Returns:
      folder handle or null if the folder does not exist in s7.
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • deleteFolder

      String deleteFolder(String folderHandle, S7Config s7Config)
      Returns a String success, note that the underlying S7 API call does not provide a data response.
      Parameters:
      folderHandle - - folder to be deleted
      s7Config - - s7 config based on cloud service config info.
      Returns:
      String success
      Throws:
      AssertionError - in case of IPS failures
    • deleteAsset

      String deleteAsset(String assetHandle, S7Config s7Config)
      Returns a String success, note that the underlying S7 API call does not provide a data response.
      Parameters:
      assetHandle - - asset to be deleted
      s7Config - - s7 config based on cloud service config info.
      Returns:
      String success
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • deleteAssets

      String deleteAssets(String[] assetHandleArr, S7Config s7Config)
      Delete multiple assets Returns a String success, note that the underlying S7 API call does not provide a data response.
      Parameters:
      assetHandleArr - - asset to be deleted
      s7Config - - s7 config based on cloud service config info.
      Returns:
      String success
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • searchAssetsByMetadata

      List<Scene7Asset> searchAssetsByMetadata(String folder, Boolean includeSubfolders, String[] assetTypes, String[] assetSubTypes, Boolean published, MetadataCondition[] conditions, S7Config s7Config)
      Returns a DOM list with search results (from metadata)
      Parameters:
      folder - - all matched assets will be in this folder
      includeSubfolders - - whether to recursively search for assets
      assetTypes - - all matched assets will be one of these types
      assetSubTypes - array of sub Asset Types to include in search
      published - - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
      conditions - - metadata conditions for search
      s7Config -
      Returns:
      A list of assets; the list can be empty if no assets have been found.
      Throws:
      AssertionError - in case of IPS failures
    • submitReprocessAssetsThumbnailJob

      String submitReprocessAssetsThumbnailJob(S7Config s7Config, String jobName, String assetHandle, long thumbnailTime)
      Submit a job to S7 for reprocessing video thumbnail to a specified video frame time
      Parameters:
      s7Config - the Scene7 configuration
      jobName - the name of the job
      assetHandle - the asset handle
      thumbnailTime - the frame time
      Returns:
      the scene7 jobHandle, return empty string if failed to get it
    • searchAssetsByMetadata

      List<Scene7Asset> searchAssetsByMetadata(String folder, Boolean includeSubfolders, String[] assetTypes, String[] assetSubTypes, Boolean published, MetadataCondition[] conditions, int recordsPerPage, int resultsPage, S7Config s7Config)
      Returns a DOM list with search results (from metadata), support specify
      Parameters:
      folder - - all matched assets will be in this folder
      includeSubfolders - - whether to recursively search for assets
      assetTypes - - all matched assets will be one of these types
      assetSubTypes - array of sub Asset Types to include in search
      published - - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
      conditions - - metadata conditions for search
      recordsPerPage - maximum number of results to return
      resultsPage - specifies the page of results to return, based on recordsPerPage page size
      s7Config -
      Returns:
      A list of assets; the list can be empty if no assets have been found.
      Throws:
      AssertionError - in case of IPS failures
    • getAssets

      List<Scene7Asset> getAssets(String[] assetHandles, String[] responseFields, String[] excludeFields, S7Config s7Config)
      Returns a Scene7Asset list, based on a list of asset handles
      Parameters:
      assetHandles - - the assets to retrieve
      responseFields - - fields to be filled in for each node in the tree
      excludeFields - - fields to be excluded in each node of the tree
      s7Config -
      Returns:
      A Scene7Asset list
      Throws:
      AssertionError - in case of IPS failures
    • getAsset

      @Nullable @Nullable Scene7Asset getAsset(String assetHandle, String[] responseFields, String[] excludeFields, S7Config s7Config)
      Returns a single Scene7Asset object. If there are multiple matching assets found, return the first asset.
      Parameters:
      assetHandle - - the asset to retrieve
      responseFields - - fields to be filled in for each node in the tree
      excludeFields - - fields to be excluded in each node of the tree
      s7Config - - Scene7 cloud configuration object
      Returns:
      A Scene7Asset object, or null if not found or failed
      Throws:
      AssertionError - in case of IPS failures
    • getMultiFileJobLogDetails

      ArrayList<UploadJobDetail> getMultiFileJobLogDetails(String jobHandle, S7Config s7Config)
      Returns an Arraylist of job details objects
      Parameters:
      jobHandle - - the handle for the job to get details.
      s7Config -
      Returns:
      An AssetList of UploadJobDetail
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • isJobActiveByJobHandle

      boolean isJobActiveByJobHandle(String jobHandle, S7Config s7Config)
      Parameters:
      jobHandle - of the job
      s7Config -
      Returns:
      true if active job with this jobHandle or orginalName is active, false otherwise
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • isJobActiveByOriginalName

      boolean isJobActiveByOriginalName(String originalName, S7Config s7Config)
      Parameters:
      originalName - of the job
      s7Config -
      Returns:
      true if active job with this jobHandle or orginalName is active, false otherwise
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getJobLogDetails

      List<String> getJobLogDetails(String jobHandle, S7Config s7Config)
      Returns a list of Scene7 asset handles(Strings) for the given job handle
      Parameters:
      jobHandle - - the handle for the job to get details.
      s7Config -
      Returns:
      A list containing asset handles strings
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getJobLogDetailsByJobName

      List<UploadJobDetail> getJobLogDetailsByJobName(String jobName, S7Config s7Config)
      Returns a list of UploadJobDetail objects for the given job name
      Parameters:
      jobName - - the handle for the job to get details.
      s7Config -
      Returns:
      A list containing UploadJobDetail
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getJobStatus

      String getJobStatus(S7Config s7Config, String jobName)
      Get scene7 job status with given jobName, the jobName should be uniq, if there are many job have same name, it only get the first one
      Parameters:
      s7Config - the Scene7 configuration
      jobName - the name of the job
      Returns:
      a string indicate the result, can be "NotFound", "Done" or a string returned by the S7 API, like "Running"
    • getImagePresets

      List<String> getImagePresets(S7Config s7Config)
      Returns a list of Scene7 image preset names for the given S7Config
      Parameters:
      s7Config -
      Returns:
      a list containing the names of the image presets defined in SPS
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getFlashTemplatesServer

      @Deprecated String getFlashTemplatesServer(S7Config s7Config)
      Deprecated.
      Retrieves the server used for serving and manipulating flash templates, depending on the Scene7 configuration.
      Parameters:
      s7Config - the Scene7 configuration
      Returns:
      a String containing the server's URL
    • searchAssets

      List<Scene7Asset> searchAssets(String folder, Boolean includeSubfolders, Boolean published, String[] assetTypes, String[] assetSubTypes, String[] responseFields, String[] excludeFields, S7Config s7Config)
      Retrieves a list of Scene7Assets from the Scene7 server.
      Parameters:
      folder - the folder from which the assets are retrieved
      includeSubfolders - whether to recursively search for assets in sub-folders of the folder where the search is performed
      published - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
      assetTypes - all matched assets will be one of these types
      assetSubTypes - array of sub Asset Types to include in search
      responseFields - the response fields that should be used to populate the Scene7Asset's attributes
      excludeFields - fields to be excluded from the response
      s7Config - the Scene7 configuration
      Returns:
      a List of assets; can be empty if no assets have been found
      Throws:
      AssertionError - in case of IPS failures
    • searchAssets

      List<Scene7Asset> searchAssets(String folder, Boolean includeSubfolders, Boolean published, String[] assetTypes, String[] assetSubTypes, String[] responseFields, String[] excludeFields, int recordsPerPage, int resultsPage, S7Config s7Config)
      Retrieves a list of Scene7Assets from the Scene7 server.
      Parameters:
      folder - the folder from which the assets are retrieved
      includeSubfolders - whether to recursively search for assets in sub-folders of the folder where the search is performed
      published - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
      assetTypes - all matched assets will be one of these types
      assetSubTypes - array of sub Asset Types to include in search
      responseFields - the response fields that should be used to populate the Scene7Asset's attributes
      excludeFields - fields to be excluded from the response
      recordsPerPage - maximum number of results to return
      resultsPage - specifies the page of results to return, based on recordsPerPage page size
      s7Config - the Scene7 configuration
      Returns:
      a List of assets; can be empty if no assets have been found
      Throws:
      AssertionError - in case of IPS failures
    • searchAssetsByFilename

      List<Scene7Asset> searchAssetsByFilename(String folder, Boolean includeSubfolders, Boolean published, String filename, S7Config s7Config)
      Retrieve a list of Scene7Assets from the Scene7 server by filename.
      Parameters:
      folder -
      includeSubfolders -
      published -
      filename -
      s7Config -
      Returns:
      Throws:
      AssertionError - in case of IPS failures
    • searchAssetsByName

      List<Scene7Asset> searchAssetsByName(String folder, Boolean includeSubfolders, Boolean published, String name, S7Config s7Config)
      Retrieve a list of Scene7Assets from the Scene7 server by Scene7 asset name.
      Parameters:
      folder - remote search folder path
      includeSubfolders - to include children folders
      published - to include published or non-published assets
      name - Scene7 name of target asset
      s7Config - Scene7 cloud configuration
      Throws:
      AssertionError - in case of IPS failures
    • searchAssetsByPartialName

      List<Scene7Asset> searchAssetsByPartialName(String folder, Boolean includeSubfolders, Boolean published, String name, String conditionMode, S7Config s7Config)
      Retrieve a list of Scene7Assets from the Scene7 server by Scene7 asset name with partial name search option
      Parameters:
      folder - remote search folder path
      includeSubfolders - to include children folders
      published - to include published or non-published assets
      name - Scene7 name of target asset
      conditionMode - partial name search condition mode. Currently supported modes are "Equals" and "StartsWith"
      s7Config - Scene7 cloud configuration
      Returns:
      a list of Scene7Assets
    • getGeneratedAssets

      @Nullable @Nullable Scene7Asset getGeneratedAssets(Scene7Asset asset, S7Config s7Config)
      Retrieves the generated assets associated with the given input asset
      Parameters:
      asset - - the asset to get the sub-assets and generator from
      s7Config - - the Scene7 configuration
      Returns:
      the original Scene7Asset object updated with the sub-assets and the originator asset
      Throws:
      AssertionError - in case of IPS failures
    • getAssociatedAssets

      @Nullable @Nullable Scene7Asset getAssociatedAssets(Scene7Asset asset, S7Config s7Config)
      Retrieves the sub-assets and the origiator asset associated with the given asset
      Parameters:
      asset - - the asset to get the sub-assets and generator from
      s7Config - - the Scene7 configuration
      Returns:
      the original Scene7Asset object updated with the sub-assets and the originator asset
      Throws:
      AssertionError - in case of IPS failures
    • getMasterAsset

      @Nullable @Nullable Scene7Asset getMasterAsset(Scene7Asset asset, S7Config s7Config)
      Retrieves the originator asset associated with the given asset
      Parameters:
      asset - - the asset to get the originator asset
      s7Config - - the Scene7 configuration
      Returns:
      the original Scene7Asset object updated with the originator asset
      Throws:
      AssertionError - in case of IPS failures
    • getFxgServer

      @Deprecated String getFxgServer(S7Config s7Config)
      Deprecated.
      Retrieves the server handling FXG rendering. Deprecated and only return null now.
      Parameters:
      s7Config - the Scene7 configuration
      Returns:
      a String containing the FXG server URL
    • setAssetPublishState

      String setAssetPublishState(Resource resource, boolean markForPublish, S7Config s7Config)
      Set the publish state of a given Scene7 asset
      Parameters:
      resource - activated resource
      markForPublish - value of markForPublish flag
      s7Config - the Scene7 configuration
      Returns:
      String success / failure
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • setAssetPublishState

      String setAssetPublishState(String assetHandle, boolean markForPublish, S7Config s7Config)
      Set the publish state of a given Scene7 asset
      Parameters:
      assetHandle - unique asset identifier
      markForPublish - value of markForPublish flag
      s7Config - the Scene7 configuration
      Returns:
      String success / failure
      Throws:
      AssertionError - in case of IPS failures
    • setAssetsPublishState

      String setAssetsPublishState(Set<String> assetHandles, boolean markForPublish, S7Config s7Config)
      Set the publish state of a given Scene7 assets
      Parameters:
      assetHandles - asset identifiers to set publish state
      markForPublish - value of markForPublish flag
      s7Config - the Scene7 configuration
      Returns:
      String success / failure
      Throws:
      AssertionError - in case of IPS failures
    • createFolder

      String createFolder(S7Config s7Config, String cqFolderPath)
      Create a folder on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      cqFolderPath - the path the target cq folder targeted in the s7 folder organization
      Returns:
      folder handle
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • createImageSet

      @Nullable @Nullable String createImageSet(S7Config s7Config, String folder, String name, String type, @Nullable @Nullable Resource resource, @Nullable @Nullable String thumbAssetHandle)
      Create an ImageSet asset on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      folder - relative target folder based on S7 Config root folder. If not exists, will attempt to create it
      name - name for new ImageSet
      type - type of new ImageSet (ImageSet, SwatchSet, RenderSet)
      resource - (optional) if exists, jcr resource to receive metadata from new object
      thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set
      Returns:
      asset handle of newly created ImageSet, or null on error
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • createImageSet

      @Deprecated String createImageSet(S7Config s7Config, @Nullable @Nullable String imageSetFolder, String imageSetName, @Nullable @Nullable String thumbAssetHandle)
      Create an ImageSet asset on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      imageSetFolder - the path the target imageset cq folder targeted in the s7 folder organization
      imageSetName - name of the image set
      thumbAssetHandle - (optional) user defined thumbnail asset handle
      Returns:
      asset handle of new image set
    • updateImageSet

      void updateImageSet(S7Config s7Config, String assetHandle, @Nullable @Nullable ImageSetMemberUpdateArray members, @Nullable @Nullable String thumbAssetHandle)
      Update an ImageSet on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - asset handle of the ImageSet to update
      members - (optional) list of ImageSet members (Null = not updated)
      thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set (Null = not updated)
      Throws:
      AssertionError - in case of IPS failures
    • updateImageSet

      @Deprecated void updateImageSet(S7Config s7Config, String imageSetAssetHandle, List<String> setMemberHandles, @Nullable @Nullable String thumbAssetHandle)
      Update an ImageSet asset on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      imageSetAssetHandle - image set Scene7 asset handle
      setMemberHandles - asset handles of image set members
      thumbAssetHandle - (optional) user defined thumbnail asset handle
    • getImageSetMembers

      ImageSetMemberArray getImageSetMembers(S7Config s7Config, String assetHandle)
      Get members of legacy ImageSet
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - asset handle of the ImageSet
      Returns:
      not-null ordered list of members embedded into ImageSetMemberArray instance
    • createAssetSet

      @Nullable @Nullable String createAssetSet(S7Config s7Config, String folder, String name, String type, @Nullable @Nullable Resource resource, @Nullable @Nullable Scene7AssetSet setDefinition, @Nullable @Nullable String thumbAssetHandle)
      Create an AssetSet asset on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      folder - relative target folder based on S7 Config root folder. If not exists, will attempt to create it
      name - name for new AssetSet
      type - type of new AssetSet
      resource - (optional) if exists, jcr resource to receive metadata from new object
      setDefinition - (optional) set's definition string
      thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set
      Returns:
      asset handle of newly created AssetSet, or null on error
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • updateAssetSet

      void updateAssetSet(S7Config s7Config, String assetHandle, @Nullable @Nullable Scene7AssetSet setDefinition, @Nullable @Nullable String thumbAssetHandle)
      Update an AssetSet on Scene7 server
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - asset handle of the AssetSet to update
      setDefinition - (optional) set's definition string (Null = not updated)
      thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set (Null = not updated)
      Throws:
      AssertionError - in case of IPS failures
    • createViewerPreset

      String createViewerPreset(S7Config s7Config, String folderHandle, String name, String type, @Nullable @Nullable Resource resource, @Nullable @Nullable List<Scene7ConfigSetting> configSettings)
      Create a preset view to determine what users can see. The preset view is applied when assets are published.
      Parameters:
      s7Config - the Scene7 configuration
      folderHandle - folder handle of the folder that contains the assets
      name - name for the viewer
      type - type of any available viewer in IPS
      resource - (optional) if exists, jcr resource to receive metadata from new object
      configSettings - (optional) list containing Scene7ConfigSetting values to apply
      Returns:
      viewer preset handle or null if unsuccessful
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • createViewerPreset

      @Deprecated String createViewerPreset(S7Config s7Config, String folderHandle, String name, String type, @Nullable @Nullable List<Scene7ConfigSetting> configSettings)
      Create a preset view to determine what users can see. The preset view is applied when assets are published.
      Parameters:
      s7Config - the Scene7 configuration
      folderHandle - folder handle of the folder that contains the assets
      name - name for the viewer
      type - type of any available viewer in IPS
      configSettings - list containing Scene7ConfigSetting values to apply
      Returns:
      viewer preset handle or null if unsuccessful
    • getViewerConfigSettings

      Scene7ViewerConfig getViewerConfigSettings(S7Config s7Config, String assetHandle)
      Get the viewer configuration for the referenced asset
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - asset handle for the asset of interest
      Returns:
      Scene7ViewerConfig with the information or null if unsuccessful
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • setViewerConfigSettings

      void setViewerConfigSettings(S7Config s7Config, String assetHandle, String name, String type, List<Scene7ConfigSetting> configSettings)
      Attach viewer configuration settings to an asset Can be viewer preset or the source asset for the viewer
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - asset handle for the asset to modify
      name - name of the asset
      type - type of any available viewer in IPS
      configSettings - list containing Scene7ConfigSetting values to apply
      Throws:
      AssertionError - in case of IPS failures
    • updateViewerConfigSettings

      void updateViewerConfigSettings(S7Config s7Config, String assetHandle, List<Scene7ConfigSetting> configSettings)
      Updates SWF viewer configuration settings.
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - asset handle for the asset to modify
      configSettings - list containing Scene7ConfigSetting values to apply
      Throws:
      AssertionError - in case of IPS failures
    • addUser

      String addUser(S7Config s7Config, String firstName, String lastName, String email, String defaultRole, String password, @Nullable @Nullable Instant passwordExpires, boolean isValid, List<Scene7CompanyMembership> membershipArray)
      Creates a user account and adds the account to one of more companies
      Parameters:
      s7Config - The Scene7 configuration
      firstName - The user's first name
      lastName - The user's last name
      email - The user's email address
      defaultRole - The role for the user in the companies they belong, the IpsAdmin role overrides other per-company settings
      password - The user's password
      passwordExpires - The instant of expiration of the password
      isValid - Determine the user's validity
      membershipArray - List of Scene7CompanyMembership entries enumerating the membership of the user.
      Returns:
      The handle of the newly created user
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getAllUsers

      List<Scene7User> getAllUsers(S7Config s7Config, boolean includeInvalid)
      Return all users
      Parameters:
      s7Config - The Scene7 configuration
      includeInvalid - Indicate if invalid users should be included
      Returns:
      List containing Scene7User requested
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getUsers

      List<Scene7User> getUsers(S7Config s7Config, @Nullable @Nullable Boolean includeInactive, @Nullable @Nullable Boolean includeInvalid, @Nullable @Nullable List<String> companyHandleArray, @Nullable @Nullable List<String> groupHandleArray, @Nullable @Nullable List<String> userRoleArray, @Nullable @Nullable String charFilterField, @Nullable @Nullable String charFilter, @Nullable @Nullable String sortBy, @Nullable @Nullable Integer recordsPerPage, @Nullable @Nullable Integer resultsPage)
      Return a optionally sorted, filtered and paged list user results
      Parameters:
      s7Config - The Scene7 config
      includeInactive - Include or exclude inactive members
      includeInvalid - Include or exclude invalid members
      companyHandleArray - Filter results be company
      groupHandleArray - Filter results by group
      userRoleArray - Filter results by user role
      charFilterField - Filter results by field's string prefix
      charFilter - Filter results by a specific character
      sortBy - Choice of user sort field
      recordsPerPage - Number of records per page to return
      resultsPage - The desired result page
      Returns:
      List containing Scene7User requested
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • setUserInfo

      void setUserInfo(S7Config s7Config, @Nullable @Nullable String userHandle, String firstName, String lastName, String email, String defaultRole, @Nullable @Nullable Instant passwordExpires, boolean isValid, List<Scene7CompanyMembership> membershipArray)
      Set user attributes
      Parameters:
      s7Config - The Scene7 config
      userHandle - User handle
      firstName - First name
      lastName - Last name
      email - Email address
      defaultRole - The role for the user in the companies they belong, the IpsAdmin role overrides other per-company settings
      passwordExpires - The password's expiration
      isValid - Determine if valid IPS user
      membershipArray - List of Scene7CompanyMembership entries enumerating the membership of the user
      Throws:
      AssertionError - in case of IPS failures
    • deleteImageFormat

      String deleteImageFormat(S7Config s7Config, String imageFormatHandle, @Nullable @Nullable String path)
      Deletes an image format.
      Parameters:
      s7Config - The Scene7 config
      imageFormatHandle - Handle to the image format. (This is returned from saveImageFormat(S7Config, String, String, String, Resource)
      path - If available, path to JCR resource backing the image format
      Returns:
      String success
      Throws:
      AssertionError - in case of IPS failures
    • deleteImageFormat

      @Deprecated String deleteImageFormat(S7Config s7Config, String imageFormatHandle)
      Deletes an image format.
      Parameters:
      s7Config - The Scene7 config
      imageFormatHandle - Handle to the image format. (This is returned from saveImageFormat(S7Config, String, String, String, Resource)
      Returns:
      String success
      Throws:
      AssertionError - in case of IPS failures
    • getImageFormats

      List<Scene7ImageFormat> getImageFormats(S7Config s7Config)
      Returns image formats, such as PDF, EPS, SWF, and others.
      Parameters:
      s7Config - The Scene7 config
      Returns:
      A list of Scene7ImageFormat objects
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • saveImageFormat

      String saveImageFormat(S7Config s7Config, @Nullable @Nullable String imageFormatHandle, String name, String urlModifier, @Nullable @Nullable Resource resource)
      Create an image format.
      Parameters:
      s7Config - The Scene7 config
      imageFormatHandle - Image format handle you want to save
      name - Image format name
      urlModifier - IPS protocol query string
      resource - (optional) if exists, jcr resource to receive metadata from new object
      Returns:
      The imageFormatHandle
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • saveImageFormat

      @Deprecated String saveImageFormat(S7Config s7Config, @Nullable @Nullable String imageFormatHandle, String name, String urlModifier)
      Create an image format.
      Parameters:
      s7Config - The Scene7 config
      imageFormatHandle - Image format handle you want to save
      name - Image format name
      urlModifier - IPS protocol query string
      Returns:
      The imageFormatHandle
    • deleteImageMap

      void deleteImageMap(S7Config s7Config, String imageMapHandle)
      Deletes an image map
      Parameters:
      s7Config - The Scene7 config
      imageMapHandle - Handle for the image map to delete
      Throws:
      AssertionError - in case of IPS failures
    • saveImageMap

      String saveImageMap(S7Config s7Config, String assetHandle, @Nullable @Nullable String imageMapHandle, String name, String shapeType, String region, String action, int position, boolean enabled)
      Create a new image map or edit an existing map
      Parameters:
      s7Config - The Scene7 config
      assetHandle - Handle to the asset the map belongs to
      imageMapHandle - Handle to the image map.
      name - Name of the image map
      shapeType - Choice of region shape
      region - A comma delimited list of points that define the region
      action - The href value associated with the image map
      position - The order in the list of image maps
      enabled - Whether this map is enabled
      Returns:
      The handle to the new or edited image map
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • setImageMaps

      List<String> setImageMaps(S7Config s7Config, String assetHandle, List<Scene7ImageMapDefinition> imageMap)
      Sets the image map for an asset. You must have already created the image maps. Image maps are applied in order of retrieval from the array. This means the second image map overlays the first, the third overlays the second, and so on.
      Parameters:
      s7Config - The Scene7 config
      assetHandle - Handle to the asset
      imageMap - list of predefined Scene7ImageMapDefinition objects
      Returns:
      list of image map handles applied to the asset
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • batchSetAssetMetadata

      Scene7BatchMetadataResult batchSetAssetMetadata(S7Config s7Config, List<Scene7MetadataUpdate> updates)
      Sets asset metadata using batch mode.
      Parameters:
      s7Config - The Scene7 config
      updates - List of Scene7ImageFieldUpdate to be applied
      Returns:
      Scene7BatchMetadataResult containing details on any warnings or errors
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • batchSetImageFields

      Scene7BatchMetadataResult batchSetImageFields(S7Config s7Config, List<Scene7ImageFieldUpdate> updateArray)
      Sets asset metadata using batch mode.
      Parameters:
      s7Config - The Scene7 config
      updateArray - List of Scene7ImageFieldUpdate to be applied
      Returns:
      Scene7BatchMetadataResult containing details on any warnings or errors
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getPreviewServerUrl

      @Nullable @Nullable String getPreviewServerUrl(Resource resource, ResourceResolver configResolver)
      Retrieves Scene7 remote asset preview /is/image/ URL (context path with image server uri). If resource is null, then returns DMS7 default S7Config preview URL
      Parameters:
      resource - Scene7 sync-ed asset in DAM
      configResolver - resource resolver with access to S7Config object
      Returns:
      String Scene7 asset preview URL
    • getPublishServerUrl

      @Nullable @Nullable String getPublishServerUrl(Resource resource, ResourceResolver configResolver)
      Retrieves Scene7 remote asset publish /is/image/ URL (server domain and image server uri). If resource is null, then returns DMS7 default S7Config publish URL
      Parameters:
      resource - Scene7 sync-ed asset in DAM
      configResolver - resource resolver with access to S7Config object
      Returns:
      String Scene7 asset publish URL
    • getPreviewVideoServerUrl

      @Nullable @Nullable String getPreviewVideoServerUrl(Resource resource, ResourceResolver configResolver)
      Retrieves Scene7 remote video preview /is/content/ URL (context path with image server uri). If resource is null, then returns DMS7 default S7Config preview URL
      Parameters:
      resource - Scene7 sync-ed asset in DAM
      configResolver - resource resolver with access to S7Config object
      Returns:
      String Scene7 asset preview URL
    • getPublishVideoServerUrl

      @Nullable @Nullable String getPublishVideoServerUrl(Resource resource, ResourceResolver configResolver)
      Retrieves Scene7 remote video publish /is/content/ URL (server domain and image server uri). If resource is null, then returns DMS7 default S7Config preview URL
      Parameters:
      resource - Scene7 sync-ed asset in DAM
      configResolver - resource resolver with access to S7Config object
      Returns:
      String Scene7 asset publish URL
    • getS7AssetMetadata

      @Nullable @Nullable Map<String,String> getS7AssetMetadata(S7Config s7Config, String assetHandle)
      Retrieves a metadata map (key-value pair) associated with a Scene7 asset
      Parameters:
      s7Config - The Scene7 cloud configuration object
      assetHandle - Scene7 unique asset identifier
      Returns:
      Map key-value pairs metadata of Scene7 asset
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getS7VideoRenditions

      @Nullable @Nullable List<Scene7Asset> getS7VideoRenditions(S7Config s7Config, String assetHandle)
      Retrieves a list of Scene7 video renditions with their names and asset handles
      Parameters:
      s7Config - The Scene7 cloud configuration object
      assetHandle - Scene7 unique asset identifier
      Returns:
      List a list of Scene7Assets containing video rendition names and asset handles
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getScene7ID

      @Nullable @Nullable String getScene7ID(Resource resource)
      Returns property dam:scene7ID of a given Resource object
      Parameters:
      resource - Resource object on which to get Scene7 metadata
      Returns:
      String value of dam:scene7ID associated to Resource or null if property is unavailable
    • isResourceLinkedToScene7

      boolean isResourceLinkedToScene7(Resource resource)
      Returns true if Resource object is linked to Scene7 based on its metadata
      Parameters:
      resource - Resource object on which to get Scene7 metadata
      Returns:
      true if Resource object has dam:scene7ID metadata
    • getLinkedScene7ConfigPath

      @Nullable @Nullable String getLinkedScene7ConfigPath(Resource resource)
      Returns property dam:scene7CloudConfigPath of a given Resource object
      Parameters:
      resource - Resource object on which to get Scene7 metadata
      Returns:
      String value of dam:scene7CloudConfigPath associated to Resource or null if property is unavailable
    • getContainerAssets

      @Nullable @Nullable List<Scene7Asset> getContainerAssets(Scene7Asset scene7Asset, S7Config s7Config)
    • moveAsset

      boolean moveAsset(S7Config s7Config, Resource resource, String folder)
      Moves an asset to a specific folder
      Parameters:
      s7Config - Scene7 S7Config object
      resource - Resource object to be relocated
      folder - Destination folder path
      Returns:
      true/false of the moveAsset() operation succeeded
    • moveAssets

      boolean moveAssets(S7Config s7Config, Map<Resource,String> resourcesToFolders)
      Moves multiple assets independently of each other
      Parameters:
      s7Config - Scene7 S7Config object
      resourcesToFolders - Mapping of AEM resource to destination folder
      Returns:
      true/false of the moveAssets() operation succeeded
    • moveFolder

      boolean moveFolder(S7Config s7Config, String sourceFolder, String destinationFolder)
      Move a folder to a new location
      Parameters:
      s7Config - Scene7 S7Config object
      sourceFolder - Path to source folder
      destinationFolder - Path to destination folder
      Returns:
      true/false of the moveFolder() operation succeeded
    • moveAssociatedAsset

      boolean moveAssociatedAsset(S7Config s7Config, Resource resource, String folder)
      Finds and moves generated assets to a specific folder
      Parameters:
      s7Config - Scene7 S7Config object
      resource - Resource object to be relocated
      folder - Destination folder path
      Returns:
      true/false of the moveAssociatedAsset() operation succeeded
    • renameAsset

      boolean renameAsset(S7Config s7Config, Resource resource, String name)
      Rename an asset
      Parameters:
      s7Config - Scene7 S7Config object
      resource - Resource object to be renamed
      name - Asset's new name
      Returns:
      true/false of the renameAsset() operation succeeded
    • renameFolder

      boolean renameFolder(S7Config s7Config, String folder, String name)
      Rename a folder
      Parameters:
      s7Config - Scene7 S7Config object
      folder - Folder to be renamed
      name - Folder's new name
      Returns:
      true/false of the renameFolder() operation succeeded
    • updateSmartCrops

      @Deprecated boolean updateSmartCrops(S7Config s7Config, Map<String,Map<String,Scene7NormalizedCropRect>> updateSmartCropMap)
      Deprecated.
      Update one or more Smart Crop sub asset(s)
      Parameters:
      s7Config - Scene7 S7Config object
      updateSmartCropMap - Map of owner handle, sub-asset asset handles and Scene7NormalizedCropRect objects
      Returns:
      true/false of the updateSmartCrops() operation succeeded
    • updateSmartCrops

      boolean updateSmartCrops(S7Config s7Config, Asset asset, List<SmartCrop> smartCrops)
      Parameters:
      s7Config - Scene7 S7Config object
      asset - asset for updating associated smart crops
      smartCrops - list of smart crops to be updated
      Returns:
      true/false if the update is successful
    • setVideoThumbnail

      Map<String,Integer> setVideoThumbnail(S7Config s7Config, String assetHandle, String thumbAssetHandle)
      Set the video thumbnail with a specifed thumbnail asset, not only for master video, all generated encoded videos and AVS files are also been set together
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - the S7 assetHandle of the master video that you want to set thumbnail
      thumbAssetHandle - the S7 assetHandle of the thumbnail asset
      Returns:
    • getXMPPacket

      String getXMPPacket(S7Config s7Config, String assetHandle)
      Retrieves an XMP Metadata packet for the specified asset.
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - Handle to the asset you want to get XMP metadata
      Returns:
      XMP metadata for the given assetHandle in XML format
    • updateXMPPacket

      void updateXMPPacket(S7Config s7Config, String assetHandle, String xmpPacketAsXml)
      Sets or updates an XMP metadata packet for an asset.
      Parameters:
      s7Config - the Scene7 configuration
      assetHandle - Handle to the asset you want to get XMP metadata
      xmpPacketAsXml - updated XMP packet to update asset metadata in XML format
    • getLoginStatus

      String getLoginStatus(ResourceResolver resourceResolver, String email, String password, String region)
      Checks the login in Scene7 with the given credentials
      Parameters:
      resourceResolver - resource resolver used to access Scene7 configuration
      email - Email id of the user
      password - Password of the user
      region - the user's region
      Returns:
      the login status for the user.
    • setPassword

      void setPassword(S7Config s7Config, String userHandle, String password, @Nullable @Nullable Integer validityInDays)
      Sets the password for a given user with an expiry of 100 years ahead from the current date.
      Parameters:
      s7Config - Scene7 configuration object
      userHandle - combination of IPS user handle and email id
      password - Password to be set
      validityInDays - Password validity in number of days. Set it to null/zero for default expiry of 100 years.
    • cdnCacheInvalidation

      CdnCacheInvalidationReturn cdnCacheInvalidation(S7Config s7Config, UrlArray urlArray)
      Forwards the supplied list of URLs to the Scene7 CDN (Content Distribution Network) provider to invalidate their existing cache of HTTP responses
      Parameters:
      s7Config - Scene7 configuration object
      urlArray - List of up to 1000 URLs to invalidate from the CDN cache
      Returns:
      CdnCacheInvalidationReturn IPS api response
    • flushCdnCacheByAlias

      CdnCacheInvalidationReturn flushCdnCacheByAlias(S7Config s7Config, UrlArray companyAliasUrlArray)
      Forwards the supplied list of companyAliasURLs to the Scene7 CDN (Content Distribution Network) provider to invalidate their existing cache of HTTP responses.
      Parameters:
      s7Config - Scene7 configuration object
      companyAliasUrlArray - List of up to 1000 URLs to invalidate from the CDN cache
      Returns:
      CdnCacheInvalidationReturn IPS api response
    • getAndStoreSecureISAuthToken

      String getAndStoreSecureISAuthToken(S7Config s7Config)
      Gets the token for a given company to access secure preview IS and stores in repository to cache token.
      Parameters:
      s7Config - Scene7 configuration object
    • deleteSubAssets

      boolean deleteSubAssets(Asset asset, List<String> subAssetHandles, S7Config s7Config)
      Deletes the sub assets for an asset
      Parameters:
      asset - Asset whose smart crops need to be removed
      subAssetHandles - list of scene7 handles to the sub assets
      s7Config - the scene7 configuration
      Returns:
      true if successfully deleted all subassets.
    • getIpsImageUrl

      @Nullable @Nullable String getIpsImageUrl(Asset asset, S7Config s7Config)
      Gets the value of the ipsImageUrl property for an asset
      Parameters:
      asset - Asset whose ipsImageUrl need to be fetched
      s7Config - Scene7 configuration object
      Returns:
      ipsImageUrl for the asset. It may return null if ipsImageUrl is not present.
    • getCompanyInfoForCompanyName

      Company getCompanyInfoForCompanyName(String companyName, S7Config s7Config)
      Returns the Company object
      Parameters:
      companyName - company name
      s7Config - Scene7 configuration object
      Returns:
      the Company object corresponding to the companyName
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • getVideoManifestURI

      @Nullable @Nullable String getVideoManifestURI(Resource resource, ManifestType manifestType, boolean onlyIfPublished) throws Exception
      Returns the manifest url for videos
      Parameters:
      resource - video resource
      manifestType - type of video streaming manifest being requested
      onlyIfPublished - return a manifest only if the video is published
      Returns:
      the manifest url for videos
      Throws:
      Exception
    • setAvsHandleAndOriginalAudioMetadata

      void setAvsHandleAndOriginalAudioMetadata(Resource resource)
      Update audio metadata and avs id for video asset node which were processed before multi audio / caption changes
      Parameters:
      resource - video resource
    • parseAvsHandleAndOriginalAudioMetadata

      Map<String,Object> parseAvsHandleAndOriginalAudioMetadata(Asset asset, Map<String,Object> metadata, Scene7Asset scene7Asset)
      Parse AVS asset handle and original audio metadata from received AVS data
      Parameters:
      asset - Scene7 asset parsed from AVS response
      metadata - map where default metadata will be updated
      Returns:
      metadata map
    • createTemplate

      String createTemplate(Map<String,String> templateProperties, S7Config s7Config)
      Create a template on Scene7 server
      Parameters:
      templateProperties - the Scene7 template properties
      s7Config - the Scene7 configuration
      Returns:
      template asset handle
      Throws:
      AssertionError - in case of IPS failures or undefined data format
    • setUrlModifier

      boolean setUrlModifier(String assetHandle, String modifier, S7Config s7Config)
      Update the URL Modifier for a template on Scene7 server
      Parameters:
      assetHandle - the Scene7 template asset handle
      modifier - the URL modifier to set
      s7Config - the Scene7 configuration
      Throws:
      AssertionError - in case of IPS failures
    • getVideoManifestAssociatedFiles

      List<String> getVideoManifestAssociatedFiles(String avsFileName, S7Config s7Config) throws IllegalArgumentException, URISyntaxException, IOException
      Parse AVS content and returns list of file paths contained in video manifest
      Parameters:
      avsFileName - avs name
      s7Config - Scene7 config
      Returns:
      List of file paths present in video manifest i.e. m3u8, mpd
      Throws:
      IllegalArgumentException
      URISyntaxException
      IOException