Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Plone Control Panel for SQL Alchemy connection strings

Project Description

Introduction

This package provides a simple control panel and storage for SQLAlchemy connection strings. It presents a form where one can add and remove named connections, and a GS import and export step to manage these.

This package does not provide SQLAlchemy integration itself; use a library like zope.sqlalchemy, collective.lead or pas.plugins.sqlalchemy instead.

Example usage:

from zope.app.component.hooks import getSite
from collective.saconnect.interfaces import ISQLAlchemyConnectionStrings

saconnect = ISQLAlchemyConnectionStrings(getSite())
myconnection = saconnect['myidentifier']

ISQLAlchemyConnectionStrings acts as a simple dictionary, although it’s keys and values must be simple strings.

To import connection strings through GenericSetup, simply include a file named saconnections.xml in your profile, with a top-level ‘connections’ element and one ‘connection’ element per connection, with name and string attributes:

<?xml version="1.0"?>
<connections>
 <connection name="bar" string="sqlite:////path/to/bar.sqlite"/>
 <connection name="foo" string="oracle://username:password/tnsnamethere"/>
</connections>

To remove any of the connections, use the ‘remove’ attribute:

<?xml version="1.0"?>
<connections>
  <connection name="bar" remove=""/>
</connections>

If you cache your SQLAlchemy connections, you may want to listen for the IObjectModifiedEvent for ISQLAlchemyConnectionStrings. The event includes the key of the modified string, so you can easily refresh your database connections:

<subscriber
    handler=".mymodule.saconnectionUpdated"
    for="collective.saconnect.interfaces.ISQLAlchemyConnectionStrings
         zope.lifecycleevent.interfaces.IObjectModifiedEvent"
/>
def saconnectionUpdated(connections, event):
    if 'myconnectionstring' in event.descriptions:
        getUtility(IDatabase, u'myconnection').invalidate()

Contribute

If you are having issues, please let us know.

You can clone the source and submit pull requests or get access to the github-collective and work directly on the project repository.

Changelog

2.0.1 (2016-04-04)

  • fixed packaging

2.0 (2016-03-31)

  • Overhaul: autopep8/manual pep8, utf8-header, buildout/setup modernized [jensens]

1.4 (2011-10-06)

  • Include CMFCore’s permissions.zcml under Plone 4, so the cmf.ManagePortal permission is known. [hannosch]
  • Fix typo that prevented z3c.saconfig support from ever being enabled. [elro]

1.3 (2009-05-28)

  • Update z3cform dependency to plone.app.z3cform, and add include it’s configuration in configure.zcml. [mj]
  • Added optional support for z3c.saconfig connections; each connection string in collective.saconnect automatically is registered as a z3c.saconfig scoped session utility. [elro, mj]

1.2 (2009-03-20)

  • Fixed adding new entries after the editing fix. [mj]

1.1 (2009-03-17)

  • Fixed editing existing entries. [mj]

1.0 (2009-03-17)

  • Initial release [mj]
Release History

Release History

This version
History Node

2.0.1

History Node

2.0

History Node

1.4

History Node

1.3

History Node

1.2

History Node

1.1

History Node

1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
collective.saconnect-2.0.1.tar.gz (11.0 kB) Copy SHA256 Checksum SHA256 Source Apr 4, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting