~mgedmin/zodbbrowser/time-limited-connection

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
ZODB Browser
============

The ZODB browser allows you to inspect persistent objects stored in the ZODB,
view their attributes and historical changes made to them.

.. warning::

  ZODB is based on Python pickles, which are not secure -- they allow
  **arbitrary command execution**.  Do not use zodbbrowser on databases from
  untrusted sources.


Usage as a standalone project
-----------------------------

Install all the dependencies into the source tree with zc.buildout::

  python bootstrap.py
  bin/buildout

Run bin/zodbbrowser specifying either a filename or a ZEO address ::

  bin/zodbbrowser /path/to/Data.fs
  bin/zodbbrowser --zeo localhost:9080
  bin/zodbbrowser --zeo /path/to/zeosock

If you don't have a spare Data.fs to test with, you can create a new empty
one with just the barest Zope 3 scaffolding in it::

  bin/zodbbrowser empty.fs --rw

Open http://localhost:8070 in a web browser.  Note that there are no
access controls; all other users on the local machine will be able to
access the database contents.

Or you could try to use easy_install.  It may work or it may not, depending
on the current state of all the dependencies (buildout.cfg hardcodes
dependency version to a known-working-together state, called the "Zope 3.4
Known Good Set", so buildout-based installs are safer) ::

  easy_install zodbbrowser
  zodbbrowser /path/to/Data.fs


Command-line options
--------------------

Run ``bin/zodbbrowser --help`` to see a full and up-to-date list of
command-line options::

  Usage: zodbbrowser [options] [FILENAME | --zeo ADDRESS]

  Open a ZODB database and start a web-based browser app.

  Options:
    -h, --help        show this help message and exit
    --zeo=ADDRESS     connect to ZEO server instead
    --listen=ADDRESS  specify port (or host:port) to listen on
    --rw              open the database read-write (allows creation of the
                      standard Zope local utilities if missing)


Online help
-----------

There's a little 'help' link in the bottom-right corner of every page that
describes the user interface in greater detail.


Usage as a plugin
-----------------

Add zodbbrowser to the list of eggs (e.g. in buildout.cfg of your app) and
add this to your site.zcml::

  <include package="zodbbrowser" />

Rerun bin/buildout, restart Zope and append @@zodbbrowser to the end of the
URL to start browsing, e.g. http://localhost:8080/@@zodbbrowser.  Or, if you
still use ZMI (the Zope Management Interface), look for a new menu item
titled "ZODB Browser".


Alternatives
------------

There's a package called z3c.zodbbrowser in the Zope svn repository that
implements the same idea (but without history browsing) as a GUI desktop
application written using wxPython.  It doesn't have a website and was never
released to the Python Package Index.

There's also `dm.historical`__ which provides access to object history from
an interactive Python shell.

__ http://pypi.python.org/pypi/dm.historical

If you're not interested in history or objects that cannot be reached
through URL traversal, you can use the built-in object inspector that
comes with Zope 3 / Grok.


Authors
-------

ZODB Browser was developed by Tautvilas Mečinskas (tautvilas@pov.lt) and
Marius Gedminas (marius@pov.lt) from `Programmers of Vilnius
<http://pov.lt/>`_.  It is licenced under the `Zope Public Licence
<http://www.zope.org/Resources/ZPL>`_.

Please report bugs at https://bugs.launchpad.net/zodbbrowser