Skip to main content

Disclaimer

redturtle.sqlcontens is a dangerous package.

Read carefully the documentation before using it. Even if this package is developed to execute “SELECT” queries, it accepts any kind of query without validation. In the current development state you can even DROP stuff from your DB, and this is dangerous and evilish.

SECURITY HINT: it is better, when possible to access the external DB with a read only account. This can save the world!

Do not query large amount of data or blobs, redturtle.sqlcontents is not designed for that task!

Be aware that long queries or network problems can lock your instance threads!

Introduction

This package is developed to satisfy the demand to execute and present simple SQL queries on Plone using SQLAlchemy.

It introduces two archetypes to your Plone site:

With this contents you can display the data returned by the queries into Plone pages.

Description

SQLFolder

The SQLFolder object is globally addable and can contain SQLQuery objects. The SQLFolder has a connection_url field where you can specify how to connect to an external DB through SQLAlchemy. Please take a look to the SQLAlchemy documentation).

http://blog.redturtle.it/pypi-images/redturtle.sqlcontents/sqlfolder_edit.png/image_preview

SQLQuery

Inside a SQLFolder you can create SQLQueries, document like objects that contain a field query. Inside this field you can specify any kind of query to your database, without constraints, even if it supposed to be a SELECT.

http://blog.redturtle.it/pypi-images/redturtle.sqlcontents/sqlquery_edit.png/image_preview

The default view for the SQLQuery objects takes the results from your query and presents them in a paginated table. The header of the tables is composed, by default, by the column names, but you can define a replacement mapping filling properly the field column_names.

http://blog.redturtle.it/pypi-images/redturtle.sqlcontents/sqlquery_view.png/image_preview

Installation

Add redturtle.sqlcontents to the egg section of your instance:

[instance]
eggs=
    ...
    redturtle.sqlcontents
    ...

In order to make the connection to your database server of choice effective you may need to install (using systm tools or buildout) the proper libraries, e.g:

  • MySQL-python

  • cx_Oracle

  • psycopg2

  • python-sqlite

In older Plone (previous to version 3.3.2) you need to do the same with the zcml section.

Notes

redturtle.sqlcontents has been tested with Plone 3.3.4 and Plone 4.2. I assume the compatibility with the intermediate releases.

redturtle.sqlcontents depends on:

Those packages are automatically included by redturtle.sqlcontents inside your buildout, so you do not have to take care about them.

In Plone 3 installations you may want to pin the Products.DataGridField to a version lower than 1.7 (1.6.2 is the proper one at the time of writing).

Credits

Developed with the support of ARPA Veneto; ARPA Veneto supports the PloneGov initiative.

Authors

This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

TODO?

  • Validate the queries through registrable adapters;

  • Present the data through adapters to handle blob, dates and so on;

  • Add more connection parameters to the SQLFolder object;

  • Optimize DB connections;

  • Add some cache here and there;

  • More aggressive caching;

  • Caching;

Changelog

0.9.1 (2013-07-29)

  • Fixed setup.py to correctly declare Products.DataGridField dependency (thanks to Olav Peeters for pointing it out) [ale-rt]

0.9.0 (2012/08/31)

  • Initial release

Release files for redturtle.sqlcontents 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for redturtle.sqlcontents 0.9.1
File Size Uploaded
redturtle.sqlcontents-0.9.1.zip 52.8 kB Details

Release files / redturtle.sqlcontents-0.9.1.zip

Download URL redturtle.sqlcontents-0.9.1.zip
Size 52.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7a151ccd9f550a484a75953711ea7df3c81bf94327ddb219e1d8f5ebdefca143
BLAKE2b-256 checksum
How to use checksums
993b1785fcefeb6874ee397d008b7e5c014c57ba9578dc208e08e11d61c88dc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.9.1 This release

1 release file

0.9.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page