Personal tools
Skip to content. | Skip to navigation
ReCaptcha widget for Plone.
Plone release management utilities
plone.rest allows you to use HTTP verbs such as GET, POST, PUT, DELETE, etc. in Plone. REST stands for Representational State Transfer. It is a software architectural principle to create loosely coupled web APIs. plone.rest provides the basic infrastructure that allows us to build RESTful endpoints in Plone. The reason for separating this infrastructure into a separate package from the ‘main’ full Plone REST API is so you can create alternative endpoints tailored to specific usecases. A number of these specific endpoints are already in active use. Audience plone.rest is for experienced web developers who want to build their own HTTP/REST endpoints on top of Plone. If you want to use a ready-made full RESTful Plone API, you should use plone.restapi. That package uses, and depends upon, this one. Features Registering RESTful service endpoints for the following HTTP verbs: GET POST PUT DELETE PATCH OPTIONS Support for Dexterity and Archetypes-based content objects Content negotiation (‘application/json’ is currently the only format supported). Named services allows to register service endpoints for custom URLs Registering RESTful Service Endpoints plone.rest allows you to register HTTP verbs for Plone content with ZCML.
plone.session implements secure session management for Zope sites. It can be used directly, or be used as a base for custom session management strategies. In its default configuration plone.sessions uses a secure cryptographic hash based on HMAC_ SHA-1_ to authenticate sessions. The hash is generated using the users login name and a secret stored in the PAS plugin. This has several advantages over other session management systems: * passwords are not send to the server in a cookie on every request, as is done by the *Cookie Auth Helper* * it does not require any ZODB write for sessions, as is needed by the *Session Crumbler*. This allows it to scale very well. * it allows you to invalidate all existing authentication cookies for users by updating the secret. Normally a session cookie is used to track sessions; that means that as long as a user keeps his browser open (and does not explicitly log out) the session remains opens. This can be changed by setting the ``cookie_lifetime`` property of the plugin to the number of seconds the cookie should remain valid *after the moment of login*. Using plone.session ------------------- plone.session only takes care of handling sessions for already authenticated users. This means it can not be used stand-alone: you need to have another PAS plugin, such as the standard *Cookie Auth Helper* to take care of authentication. After a user has been authenticated plone.session can take over via the PAS *credentials update* mechanism. Using custom session authentication ----------------------------------- plone.session delegates the generation and verification of sessions to an ISessionSource adapter. This adapter adapts the PAS plugin and implements four methods: createIdentifier Return an identifier for a userid. An identifier is a standard python string object. verifyIdentifier Verify if an identity corresponds to a valid session. Returns a boolean indicating if the identify is valid. extractLoginName Extract the login name from an identifier. invalidateSession Mark a session for a principal as invalid. A source may not support this, in which case it should return False. plone.session ships with two example adapers: hash and userid. The userid adapter is a trivial example which uses the userid as session identifier. This is very insecure since there is no form of verification at all. DO NOT USE THIS ADAPTER IN YOUR SITE! The hash plugin creates a random secret string which is stored as an attribute on your plugin. It uses this secret to create a SHA1 signature for the user id with the secret as session identifier. This approach has several good qualities: * it allows us to verify that a session identifier was created by this site * there is no need to include passwords in the session idenfitier * it does not need to store anything in Zope itself. This means it works as-is in ZEO setups and can scale very well. There are a few downsides to this approach: * if a users password is changed or disabled session identifiers will continue to work, making it hard to lock out users
Checks pinned versions with overrides in a cascaded buildout
Universal Feed Parser is a Python module for downloading and parsing syndicated feeds. It can handle RSS 0.90, Netscape RSS 0.91, Userland RSS 0.91, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0, and CDF feeds. It also parses several popular extension modules, including Dublin Core and Apple's iTunes extensions.
This package contains two handlers for the python logging framework that enable important log entries to be sent by email. This can either be as the entries are logged or as a summary at the end of the running process. The handlers have the following features: customisable and dynamic subject lines for emails sent emails sent with configurable headers for easy filtering flood protection to ensure the number of emails sent is not excessive support for SMTP servers that require authentication configurable log entry filtering fully documented and tested In addition, extra support is provided for configuring the handlers when using ZConfig, Zope 2 or Plone.
The select_backport extension is a backport of the new API functions of Python 2.7/SVN for Python 2.3 to 2.6. It contains object oriented wrappers for epoll (Linux 2.6) and kqueue/kevent (BSD).
Babel is composed of two major parts: * tools to build and work with gettext message catalogs * a Python interface to the CLDR (Common Locale Data Repository), providing access to various locale display names, localized number and date formatting, etc.