Outlook add in not work with Angular routing under Mac OS(High Sierra 10.13.1) - angular-routing

After updated to latest Mac OS (High Sierra 10.13.1), our outlook web add in not function properly, the page is blank, the reason is the url specified in the add-in manifest is not matched by angular route which is further caused by a wrong manipulated url.
The url I specified in the manifest is
https://localhost:4004/#!/main/viewschedule
But the actual I got from window.location.href is:
https://localhost:4004/?_host_Info=Outlook$Mac$16.01$en-US%23!/main/viewschedule
Please note %23 in the url above, that means character '#' has been encoded to %23 which lead angular route does not match routes defined in my application.
We use Angular 1.6, outlook on Mac is 15.40.
We tried to enable html5 mode for angular routing described here. However it looks like outlook office.js could set window.history.pushState to null during its loading. And that history api is a dependence for html5 mode of angular routing.
Question is how can I fix it, can I look forward a future release of outlook to fix this problem?

Related

How to get rid of the hash symbol (`#`) in the URL in UI5-routing?

Starting the 1.83.x/1.84.x OpenUI5 versions there is a possibility to omit the hash symbol (#) from the browser routing URL.
The new URL-format vs. the old-one:
https://openui5.hana.ondemand.com/topic/1b6dcd39a6a74f528b27ddb22f15af0d
https://sapui5.hana.ondemand.com/#/topic/1b6dcd39a6a74f528b27ddb22f15af0d
I've checked the OpenUI5 documentation but could not find how to get rid of this # in the URL.
Is it somewhere in manifest.json?
The OpenUI5 Demo Kit is using a custom Router in order to improve its SEO. See commit 4614eb0.
Routing without # is not officially supported yet. There is an enhancement request though: https://github.com/SAP/openui5/issues/2993

merge large existing web app into Sailjs site

I'm trying to merge large existing web app into sails.js. so I moved the folders into assets and build a custom route , 'GET /': '/assets/client/launch.html' and get 404 when I point my browser to http://localhost:1337/ as the / is correctly redirected to http://localhost:1337/assets/client/launch.html which produces the 404.
Now the file exists in the folder assets/client (and in .tmp), so I am thinking the Sails router is getting in the way.
I would leave the client (70K lines of JS) that generates all the UI dynamically and sailjs server that provides authentication separate and enable CORS but my customer wants client packaged with server. This type of operation is simple in frameworks like ASP.NET MVC but am wondering if Sails is up to the task.
Well, If everything you tried did not work out. There might be another solution ,
First of all since you are talking about sails app I am assuming other bundle must be sails as well ,
So here is what you do-
Change the port for another app that you want to attach to this.
Second whenever you want to go to page on another app simply redirect the client to another port ie
in html or esp put a href tag with different port.
<a href="localhost:PORT/route_to_file">
</a>
I got it working by placing my app into assets where we need to launch from assets/client/index.html as there would be too many dependencies to change. As I said above could not just add a route as Sails must getting in the way. However as in Chapter 3.2.2 of Sails in Action I generated a static asset npm install sails-generate-static --save. then I redirected to assets/client/index.html. As an aside that book is great and would highly recommend it.

Kenexa LCMS 8.2 content to Moodle LMS via AICC URL

Before I begin, I'd like to appologise for any improper terminology. I am in a jack-of-all-trades position right now and LCMS/LMS systems are not my primary focus typically.
Goal:
Create content that is stored and edited in Kenexa (Formerly Outstart) LCMS and is accessed via AICC URL in the Moodle LMS. This is important to us because we'd like to have the content in a central repository (the LCMS), where changes can be made to the content and instantly applied to the LMS(s).
Problem:
Unable to connect to LCMS content using an AICC URL (generated by the LCMS) using Moodle LMS. When connecting, I receive this error:
AICC HACP Entry Point Error
AICCException : The callback to the LMS failed with http status code (404)
When creating the AICC URL, the LCMS will present an error if I supply an invalid or unreachable URL for my LMS. In this case, the LCMS can "see" the LMS, as far as I can tell.
Details:
The LCMS uses an editable XML file when publishing the AICC URL and content. That file looks like this:
<publish_configuration>
<destination>
<id>{instance_id}</id>
<label>{instance_label}</label>
<url>{protocol}://{destination_host}/{pens_context}</url>
<standard>pens</standard>
<transport_location>{protocol}://{source_host}/{repository_context}</transport_location>
<transport_userid>{transport_user}</transport_userid>
<transport_account>{transport_account}</transport_account>
<transport_password>{transport_password}</transport_password>
<system_userid>{system_user}</system_userid>
<system_password>{system_password}</system_password>
</destination>
<destination>
<id>02</id>
<label>Moodle_Test</label>
<url>http://LMS-URL/moodle</url>
<standard>pens</standard>
<transport_location>http://LCMS-URL/LCMS/evsfiles/exports</transport_location>
<transport_userid></transport_userid>
<transport_account>FIRST_USERID</transport_account>
<transport_password>FIRST_PASSWORD</transport_password>
<system_userid>SECOND_USERID</system_userid>
<system_password>SECOND_PASSWORD</system_password>
</destination>
</publish_configuration>
Fiddler shows that a request is sent to the LCMS when the AICC URL is launched and receives a "200 OK" header response.
We've been using the second "destination" option in the XML and it seems to generate the AICC URL correctly, from the LCMS's point of view. When launched, directly in the browser or from the LMS, the error from the beginning of this question pops up.
We have another type of LMS using these AICC URLs and it is working correctly, however we are trying to take this method and apply it to many different sites that are all using moodle.
System Information:
LMS:
Moodle: Version 2.3.2 (Build 201220910)
Apache2: 5.0.8
PHP: 5.3.16
MySQL: 5.5.21
Enable direct AICC url checked
Enable external AICC HACP checked
LCMS:
Kenexa LCMS: 8.2.0073
Tomcat Application Server: 6.0.32 (Bundled with LCMS)
MSSQL Server: 2008 R2
General
- Both applications are running on the same server.
- No internet connection to server.
- Local Address (192.168.1.10) doesn't work correctly in the publish.xml file
Questions:
Is it possible that PHP or Apache are blocking the AICC communication between the LCMS and the LMS?
Could this be a Moodle issue with AICC URLs?
I'm not sure if there are any other questions I should be asking in relation to this. I don't know enough about the inner workings of AICC/MOODLE/Kenexa LCMS to pinpoint the issue here. My usual solution would be to google until I find a similar issue and tailor their solution to fit my issue, but I am having a hard time finding anything like this.
If you need any more information, logs, etc, please let me know!
Thank you in advance!
UPDATE - 15/7/2013
After digging around the "fantastic" Moodle forums, I found a link to this bug report. Now, this didn't sound exactly like my problem, but I was running out of ideas so I gave it a try.
How to fix this issue:
Navigate to the SCORM Lesson Settings
Find "Display course structure in player"
Disable
Save and Display
I'm assuming that the JScript used to populate the "Table of Contents" in the content player is having issues with the AICC URL. As far as I can tell, the AICC URL does not provide any "course structure" so the Jscript fails to build the ToC and thus causes some deeper issues with the AICC content being displayed. (Most of this is assumption, would love for someone else to verify).
Quoting my update from the original question:
After digging around the "fantastic" Moodle forums, I found a link to this bug report. Now, this didn't sound exactly like my problem, but I was running out of ideas so I gave it a try.
How to fix this issue:
Navigate to the SCORM Lesson Settings
Find "Display course structure in player"
Disable
Save and Display
I'm assuming that the JScript used to populate the "Table of Contents" in the content player is having issues with the AICC URL. As far as I can tell, the AICC URL does not provide any "course structure" so the Jscript fails to build the ToC and thus causes some deeper issues with the AICC content being displayed. (Most of this is assumption, would love for someone else to verify).

FW/1 URL Encoding Subsystems

I am creating an FW/1 based plugin for Mura CMS, and after I installed it I was getting permanent redirect errors in my browser. I noticed that my URL which should be /plugins/studentms/?action=admin:main.default was being turned into /plugins/studentms/?action=admin%3Amain.default. I don't know what I might have set that is causing that. The template for the FW/1 plugin by Steve Withington works just fine, and when I was developing my app as a normal FW/1 application it worked fine.
If I try to go straight to either the root of the plugin (/plugins/studentms) or directly to the proper URL then it redirects to the URL encoded format.
Anyone have any ideas as to what would cause that?
PS I have tried in multiple browsers.

symfony/zend integration - blank screen

I need to use ZendAMF on a symfony project and I'm currently working on integrating the two.
I have a frontend app with two modules, one of which is 'gateway' - the AMF gateway. In my frontend app config, I have the following in the configure function:
// load symfony autoloading first
parent::initialize();
// Integrate Zend Framework
require_once('[MY PATH TO ZEND]\Loader.php');
spl_autoload_register(array('Zend_Loader', 'autoload'));
The executeIndex function my the gateway actions.class.php looks like this
// No Layout
$this->setLayout(false);
// Set MIME Type
$this->getResponse()->setContentType('application/x-amf; charset='.sfConfig::get('sf_charset'));
// Disable cause this is a non-html page
sfConfig::set('sf_web_debug', false);
// Create AMF Server
$server = new Zend_Amf_Server();
$server->setClass('MYCLASS');
echo $server->handle();
return sfView::NONE;
Now when I try to visit the url for the gateway module, or even the other module which was working perfectly fine until this attempt, I only see a blank screen, with not even the symfony dev bar loaded. Oddly enough, my symfony logs are not being updated as well, which suggests that Synfony is not even being 'reached'.
So presumably the error has something to do with Zend, but I have no idea how to figure out what the error could be. One thing I do know for sure is that this is not a file path error, because if I change the path in the following line (a part of frontendConfiguration as shown above), I get a Zend_Amf_Server not found error. So the path must be correct. Also if I comment out this very same line, the second module resumes to normality, and my gateway broadcasts a blank x-amf stream.
spl_autoload_register(array('Zend_Loader', 'autoload'));
Does anyone have any tips on how I could attach this problem?
Thanks
P.S. I'm currently running an older version of Zend, which is why I am using Zend_Loader instead of Zend_autoLoader (I think). But I've tried switching to the new lib, but the error still remains. So it's not a version problem as well.
got it...
I was not using
set_include_path()
while loading Zend. It's still odd that it would give such a cryptic error, but this was the missing piece indeed.