Giter Site home page Giter Site logo

kotti_es's Introduction

Kotti

pypi license

build_status_stable_postgresql build_status_stable_mysql build_status_stable_sqlite

Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System called the Kotti CMS (see below).

Kotti is most useful when you are developing applications that

  • have complex security requirements,
  • use workflows, and/or
  • work with hierarchical data.

Built on top of a number of best-of-breed software components, most notably Pyramid and SQLAlchemy, Kotti introduces only a few concepts of its own, thus hopefully keeping the learning curve flat for the developer.

Kotti CMS

Kotti CMS is a content management system that's heavily inspired by Plone. Its main features are:

  • User-friendliness: editors can edit content where it appears; thus the edit interface is contextual and intuitive
  • WYSIWYG editor: includes a rich text editor
  • Responsive design: Kotti builds on Bootstrap, which looks good both on desktop and mobile
  • Templating: you can extend the CMS with your own look & feel with almost no programming required
  • Add-ons: install a variety of add-ons and customize them as well as many aspects of the built-in CMS by use of an INI configuration file
  • Security: the advanced user and permissions management is intuitive and scales to fit the requirements of large organizations
  • Internationalized: the user interface is fully translatable, Unicode is used everywhere to store data

License

Kotti is offered under the BSD-derived Repoze Public License.

Install

See installation instructions.

Support and Documentation

Read Kotti's extensive documentation on Read the Docs.

If you have questions or need help, you can post on our mailing list / forum or join us on IRC: #kotti on irc.freenode.net.

If you think you found a bug, open an issue on our Github bugtracker.

Development

build_status_master_postgresql build_status_master_mysql build_status_master_sqlite

coveralls codacy codeclimate scrutinizer requires.io

gh_forks gh_stars

Kotti is actively developed and maintained. We adhere to high quality coding standards, have an extensive test suite with high coverage and use continuous integration.

Contributions are always welcome, read our contribution guidelines and visit our Github repository.

kotti_es's People

Contributors

davidemoro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tiberiuichim

kotti_es's Issues

blacklist types

Add a resource types blacklist as ini setting. Useful if you want to omit from elastic search indexing certain resource types

Add support for asynchronous indexing

The very first implementation comes with synchronous indexing after a successfull commit related to a insert, update or delete for IContent types.

This is acceptable for simple sites but it may introduce performance problems in a site with a high write ratio.
The first connection to ES requires quite long time.
Probably we should add optional support for asynchronous indexing, executed by a worker that reads from a queue service fed by our event handlers

Improve README file

Explain better what kotti_es does, how to configure hooks, distinguish among optional and mandatory configuration (thank you @Tibi)

pyramid_es status

This package depends on a pyramid_es fork: https://github.com/truelab/pyramid_es
It should be considered almost stable since it is already used on a heavy production site without any problem but it cannot be published until the changes will be merged with the original pyramid_es and releasedon PyPI.

Why? The original pyramid_es does not support models not pyramid_es aware: your models have to inherit from a pyramid_es mixin class so you cannot use pyramid_es as it is when your models already exist because they are part of an existing framework or third party released.

There are two possible ways:
1- [preferred] merge our fork into the original pyramid_es. We need the @storborg opinion! Link: storborg/pyramid_es#8
2- fork pyramid_es and publish a custom renamed version

Option 1 is the preferred way obviously.

Fix our custom kotti.search_content

The kotti.search_contentprovided by kotti_es is broken. It returns a list of dicts but the search results template expects another kind of data structure

Fix folder rename

The folder rename (with name changed) should reindex all nested objects paths.

Exception during resource rename

This exception is raised:

InvalidRequestError: This session is in 'committed' state; no further SQL can be emitted within this transaction.

only if you try to rename the object id (@@rename view). If you change the title only, no exception occurs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.