script for deploying a web app - compression

I was wondering why there are no ftp clients that have the following options usefully for deploying:
minimize .js, .css and .html files
gzip .js, .css and .html
I tried with transmit for mac os x, as well as cyberduck, but non have this functionality. Even springloops don't offer this (see https://twitter.com/springloops/status/469396427660345344)
So my idea was to make a shell script to:
minimize
gzip
transfer via sftp to the server
But I can't imagine there isn't already someone that made this. My problem is: I don't know exactly how this would be called , so it's difficult to search for it.
Does anyone knows such a script? Or why is this functionality not so common?

After a lot of research and trying things out, I found Grunt.js http://gruntjs.com/getting-started
It looks very promising. There are plugins for minimizing, gzip, and sftp (https://www.npmjs.org/package/grunt-sftp-deploy)
The examples of Grunt are very clear to follow, and easy to understand and to adapt.

Related

Using Python 2.7 To Stream Video In A Web Browser.

This is my first time asking a question on SO, so I'll jump right in and hopefully I'm doing things correctly. I've searched through Google and through the boards and while there are resources on streaming, they don't seem to give me the answer to my question.
The short version: I would like to setup a python27 handler to stream video to a web browser. We currently have a way of doing this with PHP using Adobe FMS on a series of Linux servers.
Long Version: My company uses an internal web streaming page that's currently setup using PHP. We want to step away from PHP as the handler for this and we've figured that Python would be up to the task of this. My problem? I'm not a web developer. I don't know the first thing about integrating py files in html.
I've written software in Windows and in Linux before and I've played with video using PyMedia (nothing serious there). Additionally, I've found resources saying to use Flask to set up streaming but my brain cannot make heads or tails of it and it really doesn't click for me. If that makes sense.
Has anyone undertaken such a project, and if they have can they suggest a website, tutorial or article that can help in greater detail?
I can clarify or answer any questions that you may have to help answer this question in further detail.
As I understand it:
HTML would give the user the front end and media player to interact with.
The user will click on a playlist item and that will send an input through the python handler to begin processing video from our FMS cache.
The user sits backs, drinks a Capri Sun and enjoys the very boring lectures and award ceremonies that we host.
Thank you all very much for your help!
This tutorial and its correspoding github page helps noobs like us to do this very easily at least in the LAN. For how to stream on the internet, even I'm trying to find out. Supposedly, it involves port forwarding.
http://www.chioka.in/python-live-video-streaming-example/
Just download the zip and follow the steps:
Install Python dependencies:
cv2, flask. (wish that pip install works like a charm)
Run:
python main.py
Navigate the browser to the local webpage.

Idiots guide to getting a django project onto the web please

Help! I think i've gone in a bit over my head. I'm making a website for a friend who has already got a domain/hosting on the website 123reg. Keen to learn them i've been picking up python and django as i go, figured getting it online would be no problem because 123reg supports python (unspecified version).
So far i've been doing everything with the django test-server locally, i went to look into uploading it somewhere as a test and realised there's an awful lot i don't know and even with google its a bit overwhelming.
I found this link which will help me later i'm sure but right now, could someone help me understand What is Apache? I thought the server was the hardware a site was physically hosted on but i can't understand it at all now.. So i download Apache and then what? Can i just copy it into the root directory for the website on 123reg? Is their an installer? Will 123reg allow it to "run" or "serve" or whatever word's appropriate or will there be permissions issues?
And then once that's sorted there's mod_wsgi to look into, a cursory glance at the installation guide shows commands to be run, which confuses me further as i was not aware that a standard host like 123reg have any sort of inbuilt console window to be run on in which case how are you expected to execute these commands?
And another thing I didn't really think through, I'm using the built in sqlite database technology.. How will i be able to install it on my webspace? and then how will that effect my django configuration? or maybe i'll have to change to MySql v5 which 123reg says it supports?
I know these must be idiotic questions, I just wasn't sure where best to ask for help and SO has one of the most helpful and knowledgeable communities around. I did try having a google but everything was a bit overly technical for me.
You can't upload a Django site using FTP on a shared hosting provider and expect it to run. You'll need to configure it to run with their installed Apache, including configuration like mod_wsgi.
I very much doubt that 123-reg support this. You are unlikely to be able to run a Django site there. You should look for a more Django-friendly site - I recommend Webfaction.
Apache is the webserver software. It's already running on their machines. Don't try and install it lol, or they will certainly laugh at you.
To "run commands" you need to get a remote shell (console). This is typically done via Secure Shell (SSH). See this page regarding 123reg specifically: How do I connect using SSH (Putty)?
Django supports different databases, including SQLite and MySQL. SQLite is typically for small, simple databases, as the "database" is really just a local file that is manipulated by the SQLite engine. MySQL is the database of choice for many websites.

Coldfusion 9 issue

Just downloaded Coldfusion 9 developer for review purposes. I am at the administrator page 127.0.0.1:8300 and I think everything has worked fine. I want to do a simple "Hello World" example. One tutorial gave me a simple 6 line script to do this and it looks pretty simple and understandable. I went to notepad and created the following:
<html>
<head><title>Hello World</title></head>
<body>
<cfoutput>#ucase("hello world")#</cfoutput>
</body>
</html>
It told me to save it as helloworld.cfm in inetpub/wwwroot directory. I could not find such a directory on my system. So I saved it to C:\helloworld.cfm. Then it told me to go to my browser and type http://localhost/helloworld.cfm. I got something to the effect of a page not found error. Any help you can spare here.
Secondly, and more importantly, exactly where do I really need to be to be to create and run the above helloworld.cfm script above? Is there another tool I must have to create the above script to do this? I also understand that there is very little tutorial documentation on Coldfusion 9, why is that the case. Can you offer me any suggestions. I would really like to use this development tool. Adobe says it is the easiest development tool out there. You will have a tough time convincing me of that at this stage, however, I just might be missing a procedural/processing step thats real simple. I hope this is the case. Thanks for you valuable time.
When you installed ColdFusion did you hook it up to a webserver or did you install it in standalone mode?
Did you install it as standard ColdFusion or Multiserver?
The reason I ask is that depending on how you installed it will determine where you will find the web root.
For example, ColdFusion standard in stand alone mode will have the web root under something like C:\ColdFusion9\wwwroot
Multiserver standalone will be something like C:\Jrun4\servers\cfusion\cfusion-ear\cfusion-war\
Installation with a connection to a web server will have asked you where you server's web root is and so on
To create scripts; notepad, but there are two eclipse based IDEs you might like to try. CFEclipse is free and ColdFusion Builder is adode's commercial product.
First of all, Welcome to the ColdFusion community!
I believe Jerry has done a default ColdFusion install. The CFAdmin URL as mentioned is 8300, so i guess it is a multi server installation.
As pointed out by stephen, your web root would be something like \Jrun4\servers\cfusion\cfusion-ear\cfusion-war\
You need to place your helloworld.cfm in the above path.
I recommend ColdFusion builder/ CFEclipse to start with.
CF is a easy language, you will realize that soon :)
http://localhost/ will point to where your web server is configured. So obvious question is did you configure a web server such as IIS or Apache? Which OS are you using and which install of ColdFusion did you pick (standard, multiserver, other...)?
If you don't want to use an external web server you can use the built-in one, I have never really used it much but here is a link that should get you going: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=webservmgmt_3.html
To create CFM files you can use pretty much any editor, the most popular one is Eclipse (http://www.eclipse.org/) coupled with the CFEclipse plugin (http://www.cfeclipse.org/). Adobe now has a IDE based on Eclipse called CFBuilder (http://www.adobe.com/products/coldfusion/cfbuilder/features/) which is gaining speed quickly, but it is not free.

Website downloader library

I need to put a little project together for myself, and I need some functionality to download a page for offline viewing. Is there a library that will download a given page and its embedded images, and edit the img tags to reflect the local locations of the images.
I know there are a lot of website downloaders out there, but I cant find something that i can use directly in my code.
I have some basic scripts done in python, so Python is very welcome. but pretty much any language will do.
Yes, BeautifulSoup + python urllib module
You're looking for BeautifulSoup.
How about python web crawler?
http://code.google.com/p/pywebcrawler/
OR, Anemone (ruby)?
http://anemone.rubyforge.org/
simplest solution I can think of.
wget -p example.com

Is there a way to bind my flex builder to my django application

I am trying to create simple flex application, which uses django as a back-end part. Have a question:
Usually when I run my application Flex Builder creates a file in a directory on my local PC and then opens a browser and points to it. Everything was fine, but when I decided to link django server to flex applications via xml data providers I started to get security errors. (Related to absence of crossdomain.xml). When I created the file and put it on the server:
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="http://127.0.0.1:8000"/>
<allow-access-from domain="127.0.0.1"/>
</cross-domain-policy>
Then tried the application again, I got error in console of my FB Error: Request for resource at http://127.0.0.1:8000/go/active/ by requestor from file:///Users/oleg/Documents/FB3/usersList/bin-debug/usersList.swf is denied due to lack of policy file permissions.
I don't know how to fix the error. But also the question is there a way to configure FB3 to put my swf files to the server directly, so I will not need any crossdomain?
Thanks
Oleg
We struggled with this a lot. The Flex security stuff didn't strike me as well built, but perhaps we just had different approaches in mind than Adobe's developers. The solution that worked for us was to serve both the SWF and the dynamic data from the same host and port.
On our development boxes, we tell Apache to serve the SWF from a directory in the workspace, and the dynamic data from a local copy of the app. When we push to production, SWF and app get pushed simultaneously to the same virtual host.
If that's inconvenient for you, the Apache ProxyPass directive can be used to make Apache front for other servers. I've not used that in production, but it's been very handy for developer setups.
I don't know a way to get FlexBuilder to automatically deploy your changed SWF; you could certainly look into an automation approach (like Maven and Flex-Mojos) to make that happen.
That said, getting rid of that error is usually just a matter of adding a policy file to the server.
The second error is caused because you're trying to fetch http resources from a "file" location. My recommendation is that you change your Flex Builder project so it outputs to a location within the Django web site, rather than to the flex-bin directory. This setting can be changed in the properties dialog of the project. Then, you should be able to have your front-end and back-end share the same protocol and domain.