Sure, you know that learning content developed with SAP Enable Now can be published in SCORM or AICC format to large number of Learning Management Systems (LMS). Specifically SAP SuccessFactors, SAP Enable Now provides a very nice and convenient connector that instead of uploading whole content package in SCORM format that consumes your iContent or SAP SuccessFactors content storage just publishes a small file that points to your SAP Enable Now Manager. Why do we have this?
Less storage consumption
Because content itself is located in Manager, you can still do minor changes without uploading new version of your course to SAP SuccessFactors.
Until now everything sounds really amazing, huh? You are probably already flying in the sky of diamonds and willing to use this scenario. BUT there is one small thing that might not be mentioned in SAP Enable Now documentation....and this is about tracking a completion of courses hosted in your SAP Enable Now Manager. From the technical perspective your SAP SuccessFactors system is located on the Domain A, and your SAP Enable Now Manager is on the Domain B. This means when opening the course you want data to flow between these domains.. and this won't work out-of-the-box.
Symptoms: your course will stay as non-completed even if you completed it millions of times or you learning asset will be completed once you open the first element there like simulation in the Demo mode.
Hopefully, there is a solution to fix this small limitation, I can't classify it as an issue, sorry, because all this Cross Domain restrictions keep your cloud solutions safe.
This works if you are using SAP Enable Now Manager On-Premise (HANA or SQL - doesn't matter).
If using SAP Enable Now Cloud, you need to publish your learning content on your own web server running Apache Tomcat (preferred)
Download SFSF Proxlet from the SAP Note
Put the proxlet.war file into the webapps folder of your Apache Tomcat server where SAP Enable Now Manager runs
Also extract content.zip archive from SAP Note to the webapps folder of your Apache Tomcat
Open Apache Tomcat Monitor and move to the Java tab here. In the Java Options (in my case Java 9 Options) add parameter -DLMSServerWhitelist=your SAP SuccessFactors LMS URL i.e. https://demolms0074.scdemo.successfactors.eu
Then in your SAP SuccessFactors system please open the Learning Administration app, and move to System Administration -> Configuration -> System Configuration and open LMS_ADMIN configuration
Set parameters: communicationCrossDomainSupportEnabled = true, defaultContentServerPath= path to the "content" folder you put on your Apache Tomcat i.e. https://sapenablenow/content, defaultProxletPath= path to the proxlet folder that appeared after Apache Tomcat unpacked proxlet.war file
If your Apache Tomcat is using Java Runtime versionmore than 1.8, please download the jaxb-api-2.3.0.jar library from the same SAP Note 2750497 - Cross Domain Solution Upgrade Process and put it in your Tomcat lib folder, I also put it in the proxlet's WEB-INF/lib folder just to be sure that it will work 😉
Major part of work is done!
Once you upload your SAP Enable Now course using direct publishing API, open it's content objects in SuccessFactors and open the Cross Security Domaintab.
Enable Communication Cross Security through Proxy.You'll notice, that Content Server Wrapper Page Pathand Communication Proxy Pathwill use values that you provided earlier
Apply Changes and enjoy how learning completion tracking works 😉
For troubleshooting please use Google Chrome development console or Postman app.