I have been trying to run a Angular JS application which is located in HANA. Since the Web IDE does not support Angular JS development, I have the application in Webstorm editor locally in my laptop.I am using a Resource override plug in to direct the location of my files towards local files. However when I run the index.html from the HANA server, I am getting HTTP 404 error.
Please verify that you have two files in the folder to allow web access:
.xsaccess see content guide here
.xsapp (empty file)
Related
I make a node js web app for generating report. My idea is to use .jasper file (jasper report) to generate these reports. I've tried a bunch of node js library to do this, but nothing seems to work. And finally I proceed to make a .jar file (java) to solve this. The process is as follows:
Node js get request from user
Node js run .jar file by using child_process. It run something like "java -jar MyApp.jar arg1 arg2 arg3"
.jar file generate a pdf and save it to a folder
.jar file return the path of newly generated pdf file
Node js get the path and return pdf file to user
It run perfectly in my computer. Then I upload it to Microsoft Azure. It seems like the run .jar file step is failed, because no pdf file is created. Can anyone help me or suggest a better way to do this?
If you deployed the NodeJS webapp into MS Azure WebApps, the step 2 of the process could not spawn a child process for running a jar runnable file because the Java runtime environment not included your current Azure WebApp with NodeJS.
There are three suggested way to do this:
Using Azure VM to install NodeJS and Java, and deploy your app on the VM as the same as on the local computer. It's the simple way.
I searched an open source report software called jsreport. It can be install on MS Azure VM or Cloud Service. You can refer to the download page Run jar file with node js on Microsoft Azure to install it. And there is the jsreport sdk for NodeJS http://jsreport.net/learn/nodejs. If you want to use jsreport on Azure Cloud Service, you need to know how to build NodeJS App on Azure Cloud Service https://azure.microsoft.com/en-us/documentation/articles/cloud-services-nodejs-develop-deploy-express-app/.
Changing your process. NodeJS get request from user and send it with the specified file name and path to the ServiceBus; The jar runnable file modified as a Azure WebJob read the request from the ServiceBus and generate a pdf with the given file name and save it to the given file path on the Azure Blob Storage; NodeJS directly return pdf file to user from Blob Storage.
For Azure WebJob & Service Bus, you can refer to https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/ and https://azure.microsoft.com/en-us/documentation/articles/service-bus-nodejs-how-to-use-queues/.
I suspect that your Java PDF generation calls into APIs restricted by the App Service sandbox. Most PDF rendering engines use GDI+, which has most functionality restricted by the Azure App Service sandbox. However, this policy is relaxed on dedicated servers. Scaling up to a dedicated server should resolve this problem (i.e. not the Shared or Free SKU).
We have a JS file which is accessed by different applications.
These applications able to access the JS from our staging application deployed Heroku(e.g, https://xyx.herokuapp.com/assets/businesses/affiliate/affiliate.js) but are not able access file(e.g., https://ourlivesite.com/assets/businesses/affiliate/advowire_affiliate.js from Production deployed on Digital Ocean.
It seem related to asset precompile but could not figureout the issue.
Can anybody help us to identify what could be the problem?
This JS file doesn't depend on any other JS. So We just placed that JS file into public directory.
ADDED
This is temporary solution as when asset precompiles, all the assets under public/asset would be wiped out and generated again
right now I'm running an ember-cli application on heroku by serving it with the ember server command (not sure if this is the best method) and I'd like to integrate it with New Relic, but I have no idea how to do it.
Careful, ember server starts a live-reload server for development purposes — you edit a file, save it, and the application gets rebuild in an instant — you should not use it to serve an Ember app in production, it's a potential security risk. Normally you run ember server only on your local computer where you develop the code.
For production, build your app with ember build --environment=production, that will create a set of static files in your project's dist/ directory. You can upload these as you would upload any HTML/CSS/Javascript.
Keep in mind that Ember (and other frameworks of this kind like Angular and Backbone) is a single page application (SPA) framework; there is no server-side code at all, it all runs in the browser. Usually you would provide some sort of API (like a REST-API) on the server to provide and process data from a database or to provide other server-side services. That way you can develop the front and back-end separately.
I'm not too familiar with New Relic, but as far as I can tell it is analytics software that runs on the back-end, so it has nothing to do with your browser-side framework.
At the server folder, just find the index.js file and add require('newrelic'); at the beginning of the file. Of course you should also follow the instructions when you setup New Relic at you Heroku App, setting your application as a node.js app, which means you'll have to run npm install --save newrelic, go to your node_modules folder, find newrelic, copy newrelic.js file to the root of your application and edit the file with your app_name and license_key.
I recently removed my code from <meta ... in app/index.html and started to use this addon Ember-new-relic.
Get the JavaScript snippet.
And add it below <meta http-equiv="X-UA-Compatible"... in app/index.html.
I've been working on an app which will feature a Timelinejs (open source js library) element on the client side. I copied the Timelinejs library into my public/javascripts/ directory of my app. Then I linked it in my html header. When I serve my app up locally everything works fine with the timeline. However, I noticed that when I deployed my app to Heroku it wasn't loading my timeline. Using chrome js console I discovered that it didn't find my files in the public/Javascripts/Timelinejs folder. Using the Heroku run bash command I discovered that none of my Timelinejs files were present in the file structure, although an empty Timelinejs directory was present. Is there any command or configuration I need to specify to get these files to my Heroku deployment?
Heroku has a readonly file system. The directory where you can write are ./tmp or ./log. You can't write inside the public folder.
That's because of how they manage their dynos and the way to scale them. If you want to store something, use the ./tmp or, recommended, a s3 bucket. (as I presume 'tmp' stands for 'temporary' :D)
More info here: https://devcenter.heroku.com/articles/read-only-filesystem
I have an application, which uses socket.io, and when I try to build the app, it says:
failed to open file file:/socket.io/socket.io.js JavaException:
java.io.FileNotFoundException: /socket.io/socket.io.js (No such file or directory)
I use node.js as a back-end, so I do steal('/socket.io/socket.io.js') on the client side. I am guessing steal/buildjs, which I'm using, is trying to get socket.io.js into a production.js. How can I exclude it from the build?
Thanks.
You don't put socket.io.js into your build. It has to be included from your nodejs server via it's own script tag. Put the tag in your app's HTML file.
Alternatively, you can load it dynamically like this:
$.getScript('//yoursocketio.server/socket.io/socket.io.js',function() {
io.connect('yoursocketio.server').etc();
});
But you should never steal it.