Skip to main content

General tools for Plone sites

Project description

https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336:target:https://pycqa.github.io/isort/

visaplan.plone.tools

General tools modules for Plone.

We don’t claim ultimate Plone wisdom (yet); this package is one of the parts a big monolithic classic Zope product was split into.

It is part of the footing of the “Unitracc family” of Plone sites which are maintained by visaplan GmbH, Bochum, Germany.

Some modules of this package might still contain some resources (e.g. type names) which are specific to our “Unitracc family” of sites; this is likely to change in future releases.

Features

This add-on can be seen in action at the following sites:

Modules in version 1.1.4+:

  • attools module

    several tools for Archetypes-based content

  • brains module

    currently one make_collector function, e.g. for address fields

  • cfg module

    Read “product” configuration, and detect development mode

  • context module

    Several tools for processing the request. Some need some modernization …

  • forms module

    Several tools for forms

  • functions module

    Some functions, e.g. is_uid_shaped

  • indexes module (new in v1.1.4)

    • Function getSortableTitle for title conversion.

      This converts umlauts etc. to sort them as equal to their corresponding base vocals, according to German lexical usage.

  • log module

    Automatically named loggers

  • mock module

    • a few small classes for use in doctests

    • the same module as visaplan.tools.mock

  • mock_cfg module

    A rudimentary mock module for cfg

  • search module

    A few functions to support creation of ZODB catalog search queries (quite proprietary, I’m afraid; might go away in future versions)

  • setup module (since v1.1)

    Functions for use in migration scripts

  • zcmlgen module (since v1.1.1)

    • Generates configure.zcml files, if

      • changes are detected, and

      • development mode is active, and

      • the source is in an development package.

  • decorators module (since v1.1.6)

    • @returns_json:

      Wraps the function call and returns the JSON-encoded result, including HTTP headers.

      Uses simplejson if available.

Documentation

Sorry, we don’t have real user documentation yet.

Most functions are documented by doctests, anyway; it helps to understand some German.

Installation

Since visaplan.plone.tools is a package for Plone instances, it is not normally installed using pip; instead, install it by adding it to your buildout:

[buildout]

...

eggs =
    visaplan.plone.tools

and then running bin/buildout

Contribute

Support

If you are having issues, please let us know; please use the issue tracker mentioned above.

License

The project is licensed under the GPLv2.

Contributors

Changelog

2.0.0 (unreleased)

  • Breaking changes:

    • forms.tryagain_url:

      • all options (which are all arguments except the request) will need to be given by name (which is possible and recommended already).

1.3.0 (unreleased)

New Features:

  • New module groups

  • New .context functions

    • getMessenger (factory):

      creates a message function which doesn’t require (nor accept) a context argument

    • getPath

    • get_parent

    • parents

    • parent_brains

    • make_brainGetter

    • make_pathByUIDGetter

    • make_translator

    • get_published_templateid

    • getSupportedLanguageTuples

  • New function setup.safe_context_id

  • New function search.normalizeQueryString (unicode, asterisks)

Improvements:

  • setup module:

    • If the reindex function, which was created by the make_reindexer factory, was given an object both by brain and by itself, it compared those two by identity, which wouldn’t ever match. Now checking for equality.

    • New function clone_tree (from release 1.2.0) now works recursively

    • When clone_tree moves objects from one folder to another, it tries to preserve a useful order; both functions _clone_tree_inner and _move_objects use the new helper apply_move_order_options to inject a sort_on key into the query.

  • context module:

    • message function (non-generated; with context argument):

      The default mapping is None now.

    • make_permissionChecker doesn’t require the checkperm adapter any more to be useful

    • make_userdetector doesn’t require the auth adapter any more to be useful

  • Working doctests for search module

  • zcmlgen module:

    • “Constructors” of the generator classes support an optional skip argument (keyword-only)

Hard dependencies removed:

[tobiasherp]

1.2.0 (2020-05-13)

New utilities:

  • setup module:

    • New function clone_tree, using

    • function factory make_object_getter and

    • function factory make_subfolder_creator

    Both factories have overlapping functionality and might become unified in a future version; their initial purposes were:

    make_object_getter creates a function (usually called get_object) which tries to find a (possibly moved and/or renamed) object, and then is able to apply a few changes;

    make_subfolder_creator creates a function (usually called new_folder) which creates a new folder (unless already present), and then is able to apply a few changes.

[tobiasherp]

1.1.6 (2019-11-27)

New modules:

  • decorators module:

New utilities:

  • context module:

    • function factory make_timeformatter

Bugfixes:

  • Typo in README corrected.

[tobiasherp]

1.1.5 (2019-07-18)

Bugfixes:

  • getConfiguration might fail; in such cases, log a warning and use the default

  • Missing requirements:

[tobiasherp]

1.1.4 (2019-05-09)

  • indexes module added:

    • Function getSortableTitle for title conversion.

      This converts umlauts etc. to sort them as equal to their corresponding base vocals, according to German lexical usage.

  • attools module:

    • New function notifyedit(context)

  • forms module:

    • tryagain_url function supports var_items argument

    • bugfix for make_input function (suppression of type attribute)

  • zcmlgen module:

    • changes detection improved to explicitly ignore added/removed blank lines

  • context module:

    • new functions message and getbrain, as replacement for some adapters named alike

[tobiasherp]

1.1.3 (2019-01-29)

  • setup.make_renamer(): generated rename function improved: existing positional options default to None; instead of uid, o (object) or brain can be specified (by name).

  • setup.make_query_extractor(), generated extract_query function improved: don’t convert a Language string to a list if it’s value is all

  • zcmlgen module:

    • Bugfix for changes detection

    • If changes are found but disallowed (non-development setup), and if sys.stdout is connected to a terminal, start the debugger

    [tobiasherp]

1.1.2 (2018-11-21)

  • Corrections for the documentation

  • (currently) unused dependencies removed [tobiasherp]

1.1.1 (2018-09-27)

  • zcmlgen module added:

    • Generates configure.zcml files, if

      • changes are detected (buggy; see v1.1.3), and

      • development mode is active, and

      • the source is in a development package.

1.1 (2018-09-17)

  • attools module added:

    • a brown bag of tools for Archetypes

  • brains module added:

    • make_collector, e.g. for address fields

  • forms module added:

    • a brown bag of modules to support forms in a Zope/Plone system

  • mock module added:

    • a few small classes for use in doctests

    • the same module as visaplan.tools .mock

  • mock_cfg module added:

    • accompanies cfg, for testing only

  • search module added:

    • tools for creation of catalog queries

  • setup module added: functions for use in migration scripts

  • Module changes:

    • context module:

      • new function decorated_tool

    • functions module:

      • new function looksLikeAUID (for historical reasons)

1.0 (2018-07-11)

  • Initial release. [tobiasherp]

Project details


Download files

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

Source Distribution

visaplan.plone.tools-1.3.0.dev10.tar.gz (99.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page