Skip to main content

System Administration and Site Management for BlueBream

Project description

ice.control - System Administration and Site Management for BlueBream

ice.control is package for:

  • BlueBream application developers: developer kit and starter kit.

  • System administrators: site management.

  • Site managers: just define views for these tasks.

FAQ: https://answers.launchpad.net/ice.control/+faqs

Package overview

This package does provide:

  • treeview ZODB browser

  • views for simple manipulate objects (remove, rename)

  • introspector

  • ajax based python shell with REPL to interact the application in selected ZODB context

  • configurator plugin forms to manage ZODB, edit metadata, other ajax based views and ability to add new views

  • other controls like generations and ZODB pack

  • optional simple skin (as part of starter kit)

  • optional module with all needed zcml registrations

Each facility is optional. Include needed components using zcml, or include root configuration file to use entire functionality of the package.

IMPORTANT NOTE: use Mozilla Firefox (Google Chrome also supported now, but still possible bugs in UI. Please report.)

Getting started

(I assume you have empty BlueBream project from Paster template, i.e. paster create -t bluebream.)

Add ice.control into dependencies of your project.

Add these directives into configure.zcml file, before of include file=”securitypolicy.zcml”:

`include package="ice.control.zcml"`
`include package="ice.control"`
`include package="ice.control.repl"`
`browser:defaultSkin name="control"`

Run the server:

$ bin/paster serve debug.ini

Open http://localhost:8080 and log in admin account and learn UI.

Ajax based REPL

You might open, close, minimize number of ‘Details’ pseudo-windows in the same time, and each plseudo-window will contain its own REPL session. Session is defined for user and context. So, each context has its own session.

Predefined variables and methods:

  • context variable is current context in ZODB tree

  • getObject method from zope.security.proxy

  • transaction module import

Key bindings:

  • up - up to history

  • down - down to history

  • Tab - tab indent

  • Ctrl+E - go to line’s end (in Firefox)

More options

  • If you like to install the package from Git repository, see HACKME, section Install from Git repository.

  • There are number of options to use ice.control. You have define this including certain modules in zcml, instead of entire. I.e. instead of include package=”ice.control” - include neede nested modules.

Permissions

This package does define two permissions:

  • ice.control.View

  • ice.control.REPL

Different views have different permissions like zope.ManageService, zope.ManageApplication and etc. You need to know about this only if you going to use controls not only by bootstrap user zope.Manager.

ice.control development

Fork author’s branch on GitHub repository. Install it (see below) but use your own repository’s private URL.

Install from Git repository

Download sources from GitHub repository using mr.developer buildout extension. You have much more control on the source code using this way.

It requires number of steps first time, but simple to maintain in futher. First, add follow lines into buildout.cfg, section [buildout]:

[buildout]
...

extensions = mr.developer
sources-dir = dev
sources = sources

then run buildout to create develop script:

$ bin/buildout

then add section [sources] into buildout.cfg:

[sources]
ice.control = git git://github.com/astoon/ice.control.git

and run the script to download the branch:

$ bin/develop checkout ice.*

You’ll see now the package branch in /dev directory. Allow to run tests from ice.control package. For this, edit buildout.cfg again:

[test]
...
eggs = sample
       ice.control

and add dependency for your project in setup.py:

install_requires=[...
                 'ice.control'
                 ],

Finally, run buildout:

$ bin/buildout

Issues, Blueprints

Collaboration

1. Open page of mainstream repository (http://github.com/astoon/ice.control) (or other, not mainstream), and click button “Fork”.

2. Use mr.developer extension (see above) to clone repository within your project. But use your own URL in [sources] section of buildout.cfg

  1. Add mainstream repository into into the list of remotes:

    $ cd dev/ice.control
    $ git remote add main git://github.com/astoon/ice.control.git
    $ git fetch main
  2. To synchronize the code from mainstream, merge:

    $ git fetch main
    $ git merge main/master
  3. Publish your changes:

    $ git push origin master
  4. Press button “Pull Request” to make merge proposal into the next release.

BUGS

Bug reports: http://bugs.launchpad.net/ice.control.

  1. clone Git repository, fix bug and send patch to <astoon.net@gmail.com> or

  2. clone bzr mirror - bzr branch lp:ice.control if you prefer bzr VCS, fix bug and send patch to <astoon.net@gmail.com> or

  3. see HACKME.rst, section Collaboration.

List of known bugs in current release see at http://bugs.launchpad.net/ice.control

Changelog

0.3.2 (2010-05-05)

  • better support for Google Chrome

  • minor changes in skin, added BB favicon

  • added method clean into REPL dispatcher

  • LP #570887: REPL, help(): Error “ValueError: I/O operation on closed file”

  • LP #570006: problems with monospace font for REPL in Google Chrome

  • LP #571805: undented REPL input field, and prompt appear in the previous line.

  • LP #575544: incorrect auto scrolling in REPL.

0.3.1 (2010-04-21)

  • fixed docs

0.3.0 (2010-04-21)

  • Namespace ++control++ instead of ++etc++control.

  • Transitive security for IControl (10x location proxy).

  • Transitive access to content context from IControl (method get_content()).

  • Use controls not only on root folder, but on any content, i.e. ‘foo/bar/++control++/’

  • Allow nested (recursive) namespaces, i.e. ‘++control++/++control++/’ and etc.

  • Auto scrolling in REPL.

  • Used accurate permissions in all views.

  • DEfine explicit layer in skin’s views.

  • Added ZODB Pack control.

  • Added Ctrl+E keybinding in REPL (“go to line end”)

  • Front page for any context now (skin).

  • More convenient authentication.

Two special permissions in the package:

  • ice.control.View (display Tree)

  • ice.control.REPL (use REPL)

In summary, it can now be used as pluggable CMS UI for users with different permissions and roles, not only zope.Manager, from any nested content object, not only root folder, and UI should correctly display menu items and views accordingly to context and permissions.

0.2.0 (2010-04-15)

  • Added details views for IErrorReportingUtility, display error logs and edit settings.

  • Fixed XML TreeView for ISite.

0.1.3 (2010-04-14)

  • Fixed a bug that appeared in 0.1.2: details view not send ajax form data.

0.1.2 (2010-04-12)

  • 100% tests or something like.

  • Added zcml condition for details: metadata.

  • Apidoc window features: fixed.

  • Fixed bug: anchor’s behavior in introspector.

  • Increased supported version of bluebream: 1.0a5

0.1.1 (2010-04-07)

Fixed MANIFEST.in to include docs into distribution.

0.1.0 (2010-04-07)

First release tag.

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

ice.control-0.3.2.tar.gz (105.9 kB view hashes)

Uploaded Source

Built Distribution

ice.control-0.3.2-py2.6.egg (168.7 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