INACTIVE - http://mzl.la/ghe-archive - The server component supporting Firefox's "Share" feature.
Перейти к файлу
Rob Miller 874a02b450 a few more F1 -> server-share changes 2011-05-04 13:32:39 -07:00
apache Lower logging levels 2010-12-14 15:49:35 -05:00
bin handle staging 2010-11-17 16:06:20 -05:00
docs change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
extensions/firefox-share maxversion merge 2011-04-13 16:45:35 -07:00
grinder Update grinder script to not use csrf (its going away) 2011-03-23 15:12:20 -04:00
linkdrop change logger key to 'shareserver' for parity w/ egg name, etc. 2011-05-03 18:43:49 -07:00
misc add our patched line_profiler file, it fixes use with paste/pylons and any other app that looks at call signatures 2010-09-23 12:00:53 -07:00
tools Adapt to different versions of git and branches with '-' in their names. 2011-04-19 13:02:16 -04:00
web make sure to always show the add accounts ui instead of the old configure settings status pane. 2011-04-21 11:54:47 -07:00
wsgi Fix logging problem when running in wsgi mode 2010-12-14 15:15:49 -05:00
.gitignore ignore .ropeproject stuff 2011-04-22 18:15:00 -07:00
LICENSE Adding license info. 2010-11-03 16:18:18 -07:00
MANIFEST.in dont include web content in RPM anymore 2011-04-26 12:20:53 -04:00
Makefile Merge branch 'develop' into bug/642873 2011-04-20 13:40:32 -07:00
README.md a few more F1 -> server-share changes 2011-05-04 13:32:39 -07:00
build.py a bit of clean-up after the develop merge 2011-04-14 14:26:56 -07:00
debug.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
development.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
ez_setup.py linkdrop 2010-09-01 17:41:39 +10:00
f1.spec.in make sure we have a web/ directory to keep setup.py happy at RPM time 2011-04-26 15:44:28 -04:00
grinder.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
gunicorn-gevent.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
production.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
profile.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
server-share-nginx.conf a few more F1 -> server-share changes 2011-05-04 13:32:39 -07:00
setup.cfg no more pylons dependency 2011-04-27 13:13:44 -07:00
setup.py change the name of the egg to ShareServer 2011-05-03 18:43:30 -07:00
staging.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00
test.ini change more references to the egg name from linkdrop -> ShareServer 2011-05-03 18:58:39 -07:00

README.md

ShareServer

A web service that supports Firefox's 'Share' feature.

Firefox exposes the share UI as a preference panel.

The web service handles the OAuth work and sending of messages to different share servers.

Some directory explanations:

  • grinder: a load testing tool.
  • tools: deployment tools.
  • The rest of the files support the web service.

Installation and Setup

Get the server-share repository:

git clone https://github.com/mozilla/server-share.git
cd server-share

Setup dependencies:

make build

If you are on OS X and you get errors or it does not work, see the OS X troubleshooting section below.

Start the virtualenv

source bin/activate

Running ShareServer

Run the web server. 'reload' is useful for development, the webserver restarts on file changes, otherwise you can leave it off.

paster serve --reload development.ini

Then visit: http://127.0.0.1:5000/ for an index of api examples

Troubleshooting OS X installs

If the make build command produced errors or results in not being able to start up the server, use the following steps. It is suggested you re-clone server-share before doing the following steps, so that it starts out with a clean environment.

  1. Make sure XCode 3 is installed.

  2. Build your own version of Python:

    sudo svn co http://svn.plone.org/svn/collective/buildout/python/ sudo chown -R $USER ./python cd python vi buildout.cfg: then remove any references to python 2.4 and 2.5 python bootstrap.py ./bin/buildout cd /usr/local/bin sudo ln -s /opt/python/bin/virtualenv-2.6 virtualenv

  3. Now edit your .profile to make sure that if you have MacPorts installed, its PATH and MANPATH variables are last in the list for those environment variables.

I also removed export PYTHONPATH=/Users/aaa/hg/raindrop/server/python:$PYTHONPATH and removed /Library/Frameworks/Python.framework/Versions/Current/bin from the $PATH variable.

  1. Build C libraries via Homebrew:

Homebrew installs into /usr/local by default, and it is best if you chown the files in there to you:

sudo chown -R $USER /usr/local

If installed things before in these directories, remove these directories: /usr/local/include and /usr/local/lib

ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"
brew install memcached libmemcached

Then try the make build command above and continue from there.

Setting up a valid Google domain for OpenID+OAuth

You have to have access to a valid domain that google can get to and where you can install an html file.

Visit: https://www.google.com/accounts/ManageDomains

Add your domain, follow the rest of their instructions.

To test: Once that is done, you can bypass normal access to your domain by adding to your /etc/hosts file:

127.0.0.1 your.host.com

Update development.ini and add your key/secret for the google configuration, restart paster.

Then in the web browser, hit ShareServer with http://your.host.com.