Skip to main content

bookmarking tool based on Web UI and JSON REST API

Project description

What’s “Shiori”?

This tool provides web UI and JSON REST API for bookmarking. The API depends on django REST framework, Web UI depends on it’s API and Backbone.js. The user registeration and login of this tool uses OpenID.

“Shiori” is means a bookmark in Japanese. It is written “栞” in Kanji, this caracter is 0x681E in Unicode.

Requirements

  • Python 2.7

  • Django (>= 1.6)

  • Django REST framework (>= 2.3.12)

  • django-shortuuidfield (>= 0.1.2)

  • python-openid (>= 2.2.5)

  • django_openid_auth (>= 0.5)

  • django-notification (>= 1.1.1)

  • jQuery (>= 1.7.2)

  • underscore.js (>= 1.5.2)

  • backbone.js (>= 1.1.0)

  • JSON in JavaScript

  • Twitter bootstrap (>= 2.0.2)

Recommends

  • MySQL

  • python-mysqldb

Setup

Install Debian packages that Shiori depends on

Shiori depends on as following.:

$ sudo apt-get install python-django python-djangorestframework \
python-django-shortuuidfield python-django-auth-openid \
python-django-notification \
libjs-jquery libjs-underscore libjs-json libjs-twitter-bootstrap

Update and rebuild libjs-backbone

The version of libjs-backbone in Sid is 0.9.2-4 at 2014-02-08. (1) So you must rebuild from source package currently.:

$ sudo apt-get build-dep libjs-backbone
$ apt-get source libjs-backbone
$ cd backbone-0.9.2
$ uscan
$ uupdate ../1.x.x.tar.gz 1.x.x
$ cd ../backbone-1.x.x
$ debuild -us -uc
$ sudo dpkg -i ../libjs-backbone_1.x.x-1_all.deb
  1. http://packages.qa.debian.org/b/backbone.html

Install Shiori

from source

$ git clone https://github.com/mkouhei/shiori.git
$ cd shiori
$ sudo python setup.py install

from PyPI

$ pip install shiori

Workaround django-auth-openid someproblems

django-auth-openid is not support django 1.5 over now, then you should use source debian package, and must apply some patches.:

$ apt-get source python-django-auth-openid
$ cd django-openid-auth-0.5
$ patch -p1 < /path/to/shiori/misc/django-openid-auth/django1.5compat.patch
$ patch -p1 < /path/to/shiori/misc/django-openid-auth/Change-manage-py-for-django1.6.patch
$ patch -p1 < /path/to/shiori/misc/django-openid-auth/Change-import-modules-in-urls-for-django1.6.patch
$ patch -p1 < /path/to/shiori/misc/django-openid-auth/Change-default-SESSSION_SERIALIZER.patch
$ python setup.py install

Configuration

You must change some values in shiori/core/settings.py.

  • SECRET_KEY

  • DEBUG

  • ALLOWED_HOSTS

  • DATABASES

Execute syncdb.:

$ python /path/to/shiori/manage.py syncdb

Run server.:

$ python /path/to/shiori/manage.py runserver

Development

You copy pre-commit hook scripts after git clone.:

$ cp -f utils/pre-commit.txt .git/hooks/pre-commit

Next install python 2.7 later and setuptools, pytest, pep8. Below way is for Debian GNU/Linux Sid system.:

$ sudo apt-get install python python-setuptools python-pytest pep8

Then checkout ‘devel’ branch for development, commit your changes. Before pull request, execute git rebase.

See also

History

0.2.0 (2014-02-16)

  • Added feed generator

  • Fixed some bugs related views

0.1.0 (2014-02-08)

  • First release

TODO

  • Add appending signature to bookmark and validation signature with GnuPG.

  • Add linking social web services with OAuth.

  • Add Feed parser and adding new item to bookmark automatically.

  • Add job scedular for feed parser and push message to social web services.

  • Add applying reST style description.

  • Add unit test code.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shiori-0.2.0.tar.gz (43.5 kB view details)

Uploaded Source

File details

Details for the file shiori-0.2.0.tar.gz.

File metadata

  • Download URL: shiori-0.2.0.tar.gz
  • Upload date:
  • Size: 43.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for shiori-0.2.0.tar.gz
Algorithm Hash digest
SHA256 654ba69f9535e220c60407b7e5b31fd6a2946f40f06ca88d843462d6c744c451
MD5 d97625f8e01fe9b6e9d3ec10cd153c43
BLAKE2b-256 1dde71a028fba6acccb58f5a7d658510402d31d0b902f9639f69c2ce99376f93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page