Full table of contentsΒΆ
- User guide
- Sysadmin guide
- Maintainer’s guide
- Installing CKAN
- Installing CKAN from package
- Installing CKAN from source
- Deploying a source install
- 1. Create a production.ini File
- 2. Install Apache, modwsgi, modrpaf
- 3. Install Nginx
- 4. Install an email server
- 5. Create the WSGI script file
- 6. Create the Apache config file
- 7. Modify the Apache ports.conf file
- 8. Create the Nginx config file
- 9. Enable your CKAN site
- 10. Setup a worker for background jobs
- Troubleshooting
- Upgrading CKAN
- CKAN releases
- Upgrading CKAN
- Getting started
- Database Management
- Command Line Interface
- Troubleshooting Paster Commands
- Paster Commands Reference
- check-po-files: Check po files for common mistakes
- color: Create or remove a color scheme
- create-test-data: Create test data
- dataset: Manage datasets
- datastore: Perform commands to set up the datastore
- db: Manage databases
- front-end-build: Creates and minifies css and JavaScript files
- jobs: Manage background jobs
- less: Compile all root less documents into their CSS counterparts
- minify: Create minified versions of the given Javascript and CSS files
- notify: Send out modification notifications
- plugin-info: Provide info on installed plugins
- profile: Code speed profiler
- ratings: Manage dataset ratings
- rdf-export: Export datasets as RDF
- search-index: Rebuild search index
- sysadmin: Give sysadmin rights
- tracking: Update tracking statistics
- trans: Translation helper functions
- user: Create and manage users
- Organizations and authorization
- Organizations
- Configuration File Options
- ckan.auth.anon_create_dataset
- ckan.auth.create_unowned_dataset
- ckan.auth.create_dataset_if_not_in_organization
- ckan.auth.user_create_groups
- ckan.auth.user_create_organizations
- ckan.auth.user_delete_groups
- ckan.auth.user_delete_organizations
- ckan.auth.create_user_via_api
- ckan.auth.create_user_via_web
- ckan.auth.roles_that_cascade_to_sub_groups
- Extensions
- Data preview and visualization
- FileStore and file uploads
- DataStore extension
- Apps & Ideas
- Tag Vocabularies
- Form Integration
- Linked Data and RDF
- Background jobs
- Email notifications
- Page View Tracking
- Multilingual Extension
- Stats Extension
- Configuration Options
- Environment variables
- Updating configuration options during runtime
- CKAN configuration file
- General Settings
- Repoze.who Settings
- Database Settings
- Site Settings
- Authorization Settings
- ckan.auth.anon_create_dataset
- ckan.auth.create_unowned_dataset
- ckan.auth.create_dataset_if_not_in_organization
- ckan.auth.user_create_groups
- ckan.auth.user_create_organizations
- ckan.auth.user_delete_groups
- ckan.auth.user_delete_organizations
- ckan.auth.create_user_via_api
- ckan.auth.create_user_via_web
- ckan.auth.roles_that_cascade_to_sub_groups
- Search Settings
- Redis Settings
- CORS Settings
- Plugins Settings
- Front-End Settings
- ckan.site_title
- ckan.site_description
- ckan.site_intro_text
- ckan.site_logo
- ckan.site_about
- ckan.main_css
- ckan.favicon
- ckan.legacy_templates
- ckan.datasets_per_page
- package_hide_extras
- ckan.dumps_url
- ckan.dumps_format
- ckan.recaptcha.version
- ckan.recaptcha.publickey
- ckan.recaptcha.privatekey
- ckan.featured_groups
- ckan.featured_orgs
- ckan.gravatar_default
- ckan.debug_supress_header
- Resource Views Settings
- Theming Settings
- Storage Settings
- DataPusher Settings
- User Settings
- Activity Streams Settings
- Feeds Settings
- Internationalisation Settings
- Form Settings
- Email Settings
- Installing CKAN
- API guide
- Extending guide
- Writing extensions tutorial
- Using custom config settings in extensions
- Making configuration options runtime-editable
- Testing extensions
- Best practices for writing extensions
- Follow CKAN’s coding standards
- Use the plugins toolkit instead of importing CKAN
- Don’t edit CKAN’s database tables
- Implement each plugin class in a separate Python module
- Avoid name clashes
- Internationalize user-visible strings
- Add third party libraries to requirements.txt
- Do not automatically modify the database structure
- Customizing dataset and resource metadata fields using IDatasetForm
- Plugin interfaces reference
- Plugins toolkit reference
- Validator functions reference
- Internationalizing strings in extensions
- Theming guide
- Customizing CKAN’s templates
- Creating a CKAN extension
- Replacing a default template file
- Jinja2
- Extending templates with {% ckan_extends %}
- Replacing template blocks with {% block %}
- Extending parent blocks with Jinja’s {{ super() }}
- Template helper functions
- Adding your own template helper functions
- Template snippets
- Adding your own template snippets
- HTML tags and CSS classes
- Accessing custom config settings from templates
- Adding static files
- Customizing CKAN’s CSS
- Adding CSS and JavaScript files using Fanstatic
- Customizing CKAN’s JavaScript
- Best practices for writing CKAN themes
- Custom Jinja2 tags reference
- Variables and functions available to templates
- Objects and methods available to JavaScript modules
- Template helper functions reference
- Template snippets reference
- JavaScript sandbox reference
- JavaScript API client reference
- CKAN jQuery plugins reference
- Customizing CKAN’s templates
- Contributing guide
- Reporting issues
- Translating CKAN
- Testing CKAN
- Writing commit messages
- Making a pull request
- Reviewing and merging a pull request
- Writing documentation
- Projects for beginner CKAN developers
- CKAN code architecture
- CSS coding standards
- HTML coding standards
- JavaScript coding standards
- Python coding standards
- String internationalization
- Unicode handling
- Testing coding standards
- Transitioning from legacy to new tests
- Guidelines for writing new-style tests
- How should tests be organized?
- Recipe for a test method
- How detailed should tests be?
- Creating test objects: ckan.tests.factories
- Test helper functions: ckan.tests.helpers
- Mocking: the mock library
- Writing ckan.logic.action tests
- Writing ckan.logic.auth tests
- Writing converter and validator tests
- No tests for ckan.logic.schema.py
- Writing ckan.controllers tests
- Writing ckan.model tests
- Writing ckan.lib tests
- Writing ckan.plugins tests
- Writing ckan.migration tests
- Writing ckan.ckanext tests
- Frontend development guidelines
- Templating
- Resources
- Creating a new template
- Template Blocks
- Blocks in page.html
- Blocks in base.html
- Building a JavaScript Module
- Install frontend dependencies
- File structure
- Stylesheets
- JavaScript
- Database migrations
- Upgrading CKAN’s dependencies
- Doing a CKAN release
- Changelog