Permalink
Browse files

Merge in develop, update to 1.5

  • Loading branch information...
kyleconroy committed Nov 28, 2011
2 parents 5a66ba6 + 55b059b commit b1a0f1d36a6294bdc9f1352af7b919db9de08705
Showing 2,925 changed files with 9,944 additions and 11,439 deletions.
View
@@ -1,5 +1,30 @@
-*.pyc
-.DS_Store
-.project
-.pydevproject
-*~
+*.py[co]
+
+# Packages
+*.egg
+*.egg-info
+dist
+build
+eggs
+parts
+bin
+var
+sdist
+develop-eggs
+.installed.cfg
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.tox
+
+#Translations
+*.mo
+
+#Mr Developer
+.mr.developer.cfg
+
+#Sphnix
+docs/_build
View
@@ -1,4 +1,25 @@
+ChangeLog
+===========
+
+
+2011.11.27, Version 1.5
+-------------------------
+
+* Rewrite frontend to use memcache and templating instead of client-side javascript
+
+* Add test coverage for REST API
+
+* Add a new admin section
+
+* All destructive API calls now must go through the "/admin/api/v1" endpoint
+
+* Add a "Report Incident" button
+
+
+
2010.07.22, Version 1.1.4
+--------------------------
+
* Changed the front page to use the proper date range for events
* Fix the rfc1123() to handle -ve timezone offset (Barnaby Gray)
@@ -8,3 +29,5 @@
* Fix small spelling error in common.js
* Added a favicon
+
+
View
@@ -1,43 +1,53 @@
# Stashboard
-## About
-
-Stashboard was written by Twilio to provide status information on our phone, SMS, and Communication APIs. We open sourced the code and to provide a generic status page designed to be customized by any hosted services company to provide customers up-to-date status information. The code can be downloaded, customized with your logo, and run on any Google App Engine account.
+Stashboard was written by Twilio to provide status information on our phone, SMS, and Communication APIs. We open sourced the code to provide a generic status page designed to be customized by any hosted services company to provide customers up-to-date status information. The code can be downloaded, customized with your logo, and run on any Google App Engine account.
## Installation
-First, install the App Engine SDK for Python.
+1. Download and install the [App Engine SDK for Python][appengine]
+2. `git clone git://github.com/twilio/stashboard.git`
+3. Add your application id to `app.yaml`
+4. Open the SDK, choose `File > Add Existing Application...` and select the `stashboard` folder inside the cloned repository
+5. Update the settings in `settings.py`
+6. Visit http://your-app-id.appspot.com/admin/setup to complete the installation
-Next, download and extract Stashboard to your computer.
+From here you can either run Stashboard locally in the [App Engine development environment][local] or [deploy to Appspot][deploy].
+See the [Getting Started](http://code.google.com/appengine/docs/python/gettingstarted) guide for a basic overview of the App Engine platform.
-### Run Locally
+[local]: http://code.google.com/appengine/docs/python/gettingstarted/devenvironment.html
+[deploy]: http://code.google.com/appengine/docs/python/gettingstarted/uploading.html
+[appengine]: http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python
-Open the SDK, choose File > Add Existing Application..., select the stashboard folder you downloaded above and choose a port. Press Run and navigate to http://localhost:{port} to see your Stashboard installation.
+## Demo
-### Deploy to AppSpot
+The most recent version of Stashboard lives at http://stashboard.appspot.com
-Before you can deploy Stashboard, you will need to create an application on App Engine.
+## Documentation
-Once your application is registered, open app.yaml in the Stashboard directory and change application-id to the name of your newly created application.
+Full documentation can be found on [Read The Docs](http://readthedocs.org/docs/stashboard/en/latest)
-Hit the 'Deploy' button, wait a couple of seconds, and then naviagate to http://{app-name}.appspot.com to enjoy your new status dashboard
+## Community
-## Basic View
+All Stashboard development and discussion happens in the [Stashboard google group](https://groups.google.com/forum/#!forum/stashboard)
-By default, Stashboard exposes a rich client, utilizing AJAX and jQuery. If instead you just want a basic read only view, change the `rich_client` attribute to `False` in `config.py`.
+To keep up to date, you can follow [@stashboard](http://twitter.com/stashboard) on Twitter or join the [#stashboard](irc://irc.freenode.net/stashboard) channel on freenode
-## REST API
+## Development
-Full documentation of the REST API can be found at <http://stashboard.appspot.com/documentation/rest>
+You'll need to install a couple more packages to hack on Stashboard
+
+ pip install -r requirements.txt
-## Community
+To run the unit tests,
-All Stashboard development and discussion happens in the [Stashboard google group](https://groups.google.com/forum/#!forum/stashboard)
-
-To keep up to date, you can follow [@stashboard](http://twitter.com/stashboard) on Twitter or join the [#stashboard](irc://irc.freenode.net/stashboard) channel on freenode
+ python tests/runner.py tests
## Future
-Future plans include RSS feeds, Web Hook integration, and a richer support for different status page views.
-
+The [roadmap](https://github.com/twilio/stashboard/wiki/Roadmap) details future plans for Stashboard.
+## Acknowledgements
+* Buttons by [Necolas](https://github.com/necolas/css3-github-buttons)
+* Fugue icons by [Yusuke Kamiyamane](http://p.yusukekamiyamane.com/)
+* Iconic icons by [P.J. Onori](http://somerandomdude.com/projects/iconic/)
+* OAuth support via [simplegeo/python-oauth2](https://github.com/simplegeo/python-oauth2)
View
@@ -1,56 +0,0 @@
-application: stashboard
-version: 1
-runtime: python
-api_version: 1
-
-derived_file_type:
-- python_precompiled
-
-handlers:
-# URLS for testing
-#- url: /tests
-# static_dir: testing
-# login: required
-
-#- url: /runner
-# script: runner.py
-# login: required
-
-- url: /css
- static_dir: static/css
-
-- url: /images
- static_dir: static/images
-
-- url: /js
- static_dir: static/js
-
-- url: /widget
- static_dir: static/widget
-
-- url: /favicon\.ico
- static_files: static/favicon.ico
- upload: static/favicon.ico
-
-- url: /robots\.txt
- static_files: static/robots.txt
- upload: static/robots.txt
-
-- url: .*
- script: main.py
- secure: optional
-
-skip_files: |
- ^(.*/)?(
- (#.*#)|
- (.*~)|
- (.*\.py[co])|
- (.*/RCS/.*)|
- (\..*)|
- (dev/.*)|
- (tests/.*)|
- (docs/.*)|
- (.*\.markdown)|
- (license\.txt)|
- (setup.py)
- )$
View
@@ -1,49 +0,0 @@
-# Copyright (c) 2010 Twilio Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-import os
-import logging
-
-from google.appengine.dist import use_library
-use_library('django', '1.2')
-
-APP_ROOT_DIR = os.path.abspath(os.path.dirname(__file__))
-
-#Stashboard version
-VERSION = "1.1.6"
-
-# If we're debugging, turn the cache off, etc.
-# Set to true if we want to have our webapp print stack traces, etc
-DEBUG = os.environ['SERVER_SOFTWARE'].startswith('Dev')
-logging.info("Starting application in DEBUG mode: %s", DEBUG)
-
-SITE = {
- "html_type": "text/html",
- "charset": "utf-8",
- "title": "Stashboard",
- "author": "Kyle Conroy",
- # This must be the email address of a registered administrator for the
- # application due to mail api restrictions.
- "email": "kyle.j.conroy@gmail.com",
- "description": "A RESTful Status Tracker on top of App Engine.",
- "root_url": "http://stashboard.appspot.com",
- "template_path": os.path.join(APP_ROOT_DIR, "views/default"),
- "rich_client": True, #If false, the website will go into a simplified read-only view
-}
View
@@ -0,0 +1,130 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Stashboard.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Stashboard.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/Stashboard"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Stashboard"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ make -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
Oops, something went wrong.

0 comments on commit b1a0f1d

Please sign in to comment.