youckan Documentation

Similar documents
Gunnery Documentation

open-helpdesk Documentation

Trunk Player Documentation

Roman Numeral Converter Documentation

django-cron Documentation

Poetaster. Release 0.1.1

Aldryn Installer Documentation

TPS Documentation. Release Thomas Roten

django-reinhardt Documentation

chatterbot-weather Documentation

Cookiecutter Django CMS Documentation

Pulp Python Support Documentation

Python wrapper for Viscosity.app Documentation

Python Project Example Documentation

Python simple arp table reader Documentation

PyCRC Documentation. Release 1.0

Django MFA Documentation

sainsmart Documentation

I hate money. Release 1.0

Aircrack-ng python bindings Documentation

Python Schema Generator Documentation

Game Server Manager Documentation

AnyDo API Python Documentation

contribution-guide.org Release

PyCon APAC 2014 Documentation

Biostar Central Documentation. Release latest

Simple libtorrent streaming module Documentation

BanzaiDB Documentation

Django Groups Manager Documentation

I2C LCD Documentation

django simple pagination Documentation

django-konfera Documentation

django-users2 Documentation

django-idioticon Documentation

django-embed-video Documentation

google-search Documentation

pydrill Documentation

Python Project Documentation

Redis Timeseries Documentation

Release Nicholas A. Del Grosso

cwmon-mysql Release 0.5.0

Simple Binary Search Tree Documentation

MapEntity Documentation

DNS Zone Test Documentation

lazy-object-proxy Release 1.3.1

Stepic Plugins Documentation

django CMS Export Objects Documentation

Google Domain Shared Contacts Client Documentation

Archan. Release 2.0.1

withenv Documentation

Release Ralph Offinger

eventbrite-sdk-python Documentation

Python AutoTask Web Services Documentation

Django-frontend-notification Documentation

upaas Documentation Release 0.2 Łukasz Mierzwa

Frontier Documentation

dj-libcloud Documentation

Rubix Documentation. Release Qubole

Django-CSP Documentation

Kinto Documentation. Release Mozilla Services Da French Team

Poulpe Documentation. Release Edouard Klein

pyldavis Documentation

ganetimgr Documentation

Python State Machine Documentation

DJOAuth2 Documentation

School Navigator Documentation

django-embed-video Documentation

Python Finite State Machine. Release 0.1.5

TangeloHub Documentation

Garment Documentation

Django Groups Manager Documentation

Pykemon Documentation

CID Documentation. Release Francis Reyes

git-flow Documentation

Release Fulfil.IO Inc.

django-celery Documentation

syslog-ng Apache Kafka destination

OpenUpgrade Library Documentation

smartfilesorter Documentation

django-allauth-2fa Documentation

e24paymentpipe Documentation

doconv Documentation Release Jacob Mourelos

pytest-benchmark Release 2.5.0

django-embed-video Documentation

Django Wordpress API Documentation

DISQUS. Continuous Deployment Everything. David

Moodle Destroyer Tools Documentation

Bitdock. Release 0.1.0

cookiecutter-django Documentation

almir Documentation Release Domen Kožar

Confire Documentation

Easy-select2 Documentation

Release Manu Phatak

RandoPony Documentation

bootmachine Documentation

Django Localized Recurrence Documentation

Using NGiNX for release automation at The Atlantic

gunny Documentation Release David Blewett

ejpiaj Documentation Release Marek Wywiał

LECTURE 15. Web Servers

Transcription:

youckan Documentation Release 0.1.0.dev Axel Haustant May 26, 2014

Contents 1 Compatibility 3 2 Installation 5 3 Documentation 7 3.1 Configuration............................................... 7 3.2 Deployment............................................... 8 3.3 YouCKAN SSO............................................. 9 3.4 API.................................................... 9 3.5 Contributing............................................... 9 3.6 Changelog................................................ 11 4 Indices and tables 13 i

ii

A social frontend to CKAN Contents 1

2 Contents

CHAPTER 1 Compatibility YouCKAN requires Python 2.7 3

4 Chapter 1. Compatibility

CHAPTER 2 Installation You can install youckan with pip: $ pip install youckan or with easy_install: $ easy_install youckan YouCKAN use yuglify to compress assets and less to compile LESS to CSS files. You can install them with npm: $ npm install -g less yuglify 5

6 Chapter 2. Installation

CHAPTER 3 Documentation The documentation is hosted on Read the Docs Contents: 3.1 Configuration YouCKAN use a single ini file for its configuration 3.1.1 Sample You can generate a sample configuration by running: $ youckan genconf # or $ youckan-auth genconf You will be asked some questions and have as a result the following ini file: [site] debug = false secret = +hant#30d^df=1$vbolo3p+6t6xdio5312@a63-8b^96q3n-u@ allowed_hosts = admins = language = fr timezone = Europe/Paris [db] default = sqlite://youckan.sqlite ckan = postgres://ckan_default:ckan_default@localhost/ckan_default [email] webmaster = webmaster@youckan admin = admin@youckan [etalab] domain = my-domain.com ckan_url = http://ckan.{domain} home_url = http://www.{domain} wiki_url = http://wiki.{domain} wiki_api_url = http://wiki.{domain}/api.php 7

questions_url = http://questions.{domain} [path] static = staticroot static_url = /static/ media = media media_url = /media/ [social:twitter] key = secret = [social:google] key = secret = [social:linkedin] key = secret = [log] level = warning file = {name}.log [celery] broker = django:// backend = database Feel free to customize it for your needs. 3.1.2 Advanced customization YouCKAN configuration is extensible as its only standard django configuration. You can either extend an existing configuration: from youckan.settings import * MY_OVERRIDEN_SETTING = my.value or start a new one from scratch. 3.2 Deployment 3.2.1 Environment creation $ mkdir -p $YOUCKAN_HOME $ cd $YOUCKAN_HOME $ virtualenv. $ source bin/activate $ pip install youckan $ mkdir media As a postgresql administrator: 8 Chapter 3. Documentation

$ createuser youckan -P $ createdb youckan -O youckan -E UTF8 3.2.2 Configuration $ youckan genconf --ini $ vim youckan.ini 3.2.3 Initialisation $ youckan init [--noinput] If --noinput is specified, no questions will be asked and the initialization will run in unattended mode. You can create a super user at anytime with: $ youckan createsuperuser 3.2.4 Upgrade Upgrading is as easy as upgrading the youckan package and rerunning the initialization: $ pip install -U youckan $ youckan init --noinput 3.2.5 NGinx + uwsgi $ youckan genconf --nginx # or $ youckan genconf --nginx --uwsgi 3.2.6 Apache 2 + mod $ youckan genconf --apache # or $ youckan genconf --apache --uwsgi 3.3 YouCKAN SSO 3.4 API 3.5 Contributing YouCKAN is open-source and very open to contributions. 3.3. YouCKAN SSO 9

3.5.1 Submitting issues Issues are contributions in a way so don t hesitate to submit reports on the official bugtracker. Provide as much informations as possible to specify the issues: the YouCKAN version used a stacktrace installed applications list... 3.5.2 Submitting patches (bugfix, features,...) If you want to contribute some code: 1. fork the official YouCKAN repository 2. create a branch with an explicit name (like my-new-feature or issue-xx) 3. do your work in it 4. rebase it on the master branch from the official repository (cleanup your history by performing an interactive rebase) 5. submit your pull-request There are some rules to follow: your contribution should be documented (if needed) your contribution should be tested and the test suite should pass successfully your code should be mostly PEP8 compatible with a 120 characters line length your contribution should support both Python 2 and 3 (use tox to test) You need to install some dependencies to hack on YouCKAN: $ pip install -r requirements/all.pip A fabfile is provided to simplify the common tasks: $ fab -l Available commands: coverage datamig debug dist doc gdist i18n i18n_build init mig pep8 pylint serve sso syncdb Run the test suite with coverage Generate a south data migration for an application Run Development server. Build a source distribution Generate the documentation. Build a source distribution with git version Generate translation files (.mo) Compile translation files (.po) Initialize database and user. Generate a south migration for an application Run the PEP8 report Run the pylint report Run Development server. Run Development server. Synchronize database and generate changesets 10 Chapter 3. Documentation

test test_all update update_js update_py work Run only project tests (exclude those from Django and third-party applications). Run all tests (including those from Django and third-party applications). Update all dependencies and database Update javascript dependencies Update python dependencies. Run the development worker To ensure everything is fine before submission, use tox. It will run the test suite on all the supported Python version and ensure the documentation is generating. $ tox You also need to ensure your code is PEP8 compliant (following the project rules: see pep8.rc file): $ fab pep8 Don t forget client-side code and tests. You can run the javascript test suite in the browser (http://localhost:8000/tests). Note: minification use yuglify so you need to install it before: npm install -g yuglify 3.6 Changelog 3.6.1 Current Nothing yet 3.6. Changelog 11

12 Chapter 3. Documentation

CHAPTER 4 Indices and tables genindex modindex search 13