Cross-company calls
We have multiple Scene7 companies; how can we share images between these accounts on the URL?
Scenario
- A company is a S7 customer and has images in a S7 account.
- A department, subsidiary, or related company wants to serve these images as well at their own discretion.
- The parent company wants to limit access to their S7 account for security, contractual, or responsibility reasons.
Potential solution
Website integration of subsidiary uses the existing assets with a URL integration, but serves them through their own account. Usually, having access to the SPS account of the mother company is not required. But, it can be given using read-only rights (MediaPortal).
- Parent/Main company: "TechSupportEU"
- Child/Subsidiary company: "TechSupport1"
Normal URLs:
- http://kbpublic.scene7.com/is/image/TechSupportEU/BackpackT610
- http://kbpublic.scene7.com/is/image/TechSupport1/Backpack_B
The simplest solution is to specify the src command in your URL.
Subsidiary calls Main company:
http://kbpublic.scene7.com/is/image/TechSupport1/?src=TechSupportEU/BackpackT610&$Main$
This call goes through the company TechSupport1 and uses the product container TechSupportEU.
TechSupport1 can be a separate S7 contract.
- Traffic measures
- Own image preset and template definitions
- Requires less storage as product images are already stored under another contract
- Own images and videos can be uploaded to this account
*Note: Also the reverse is possible, the Main company calls the Subsidiary:
http://kbpublic.scene7.com/is/image/TechSupportEU/?src=TechSupport1/Backpack_B&$Main$
Rulesets
With the use of rulesets the URL can be simplified and also hide the usage of the product container’s account name, for example:
http://kbpublic.scene7.com/is/image/TechSupport1/cross/preset/product-name--product_id.jpg
Which is then translated into a S7 standard URL with a request from the Main company:
http://kbpublic.scene7.com/is/image/TechSupport1/?src=TechSupportEU/product_id&$preset$
Ruleset snippet
<rule Name="request from Main account">
<expression>^cross/([^/]*)/([^/]*)\.jpg$</expression>
<substitution>?src=TechSupportEU/$2&\$$1\$</substitution>
</rule>
Limitations
- Does not apply to Video
- Does not apply to Viewers
- Does not apply to static content calls (/is/content/)
The preset in this scenario must live in the calling account. You can use nested calls to apply image presets from the main account (and not the calling account):
http://s7g3.scene7.com/is/image/TechSupport1/?src=is{TechSupportEU/Backpack_B?$Enlarge$}&scl=1
scl=1 is necessary if the preset called is larger than the default image size specified in the calling company. In this case, default size is 400x400 whereas "Enlarge" is 500x500.
This option requires a ruleset modification.
Best practices
Use a custom domain. If you need a new domain, configure it by contacting Scene7 Tech Support. Ensure that the domain you use has access to call content from each SPS company.
If you are using a ruleset, test it first on a staging environment:
For further reading on rulesets, see:
http://helpx.adobe.com/experience-manager/scene7/kb/base/scene7-rulesets.html
Learn more about Request locking and obfuscation:
http://helpx.adobe.com/experience-manager/scene7/kb/base/content-security/altering-urls-request.html