66 lines
1.8 KiB
Plaintext
66 lines
1.8 KiB
Plaintext
Fargo
|
|
=====
|
|
|
|
To start do:
|
|
|
|
pip install -e .
|
|
./manage.py migrate
|
|
./manage.py runserver
|
|
|
|
To use your own settings make the LOCAL_SETTINGS environment variable point to
|
|
a settings file that will be executed in the context of the project settings
|
|
module, at its end.
|
|
|
|
Settings
|
|
========
|
|
|
|
Nothing for now.
|
|
|
|
Requesting a file from another application
|
|
==========================================
|
|
|
|
Downloading a file from fargo is easy:
|
|
- Open http://fargo/?pick=http://yoursite/pick-a-file/ in a popup or iframe
|
|
- When the user choose a file it is returned to
|
|
|
|
http://yoursite/pick-a-file/?url=http://fargo/remote-download/name-of-the-file?token=xxxxxx
|
|
|
|
Your view on this URL should download the file from the given URL, do
|
|
something with it then close the popup/iframe.
|
|
|
|
Download URL are only valid during 60 seconds after the request will return
|
|
status 403. If the file has been removed a 404 is returned.
|
|
|
|
Displaying the list of files of a user
|
|
======================================
|
|
|
|
There are two methods JSONP and JSON, both are totally insecure, protect
|
|
them with your web server and IP limitations for now.
|
|
|
|
JSONP
|
|
-----
|
|
|
|
* Add this to your page
|
|
|
|
<script>function callback(data) {
|
|
// display the file list by modifying the DOM
|
|
}</script>
|
|
<script src="http://fargo/jsonp/?callback=callback"></script>
|
|
|
|
* data is structured like this:
|
|
|
|
[ { 'url': 'http://fargo/download/etc..', 'filename': 'facture.pdf'}, ... ]
|
|
|
|
JSON
|
|
----
|
|
|
|
* Do a get on http://fargo/json/?username=john.doe
|
|
|
|
Showing an upload form
|
|
======================
|
|
|
|
You can open an upload form to fargo by creating a popup or an iframe with
|
|
location http://fargo/upload/. You can pass a parameter ?next=http://yoursite/
|
|
if you want the user to come back to your site after the upload, to close the
|
|
popup or the destroy the iframe.
|