Skip to main content

This package provides different server control views for ZAM (Zope 3 Application Management).

CHANGES

0.6.1 (2011-02-04)

  • Moved zcml package include of zope.applicationcontrol from app.zcml to configure.zcml so you can include configure.zcml (as usual) when using this plug-in.

0.6.0 (2011-02-03)

  • Updated test setup, tests and demo application to run with ZTK 1.0, thus requiring zam.api >= 0.7.

  • Depending on zope.applicationcontrol instead of zope.app.applicationcontrol.

0.5.0 (2008-04-14)

  • Initial release.

README

This package provides the server control management. The zam.skin is used as basic skin for this test.

First login as manager:

>>> from zope.testbrowser.testing import Browser
>>> mgr = Browser()
>>> mgr.addHeader('Authorization', 'Basic mgr:mgrpw')

Check if we can access the management namespace without the installed plugin:

>>> rootURL = 'http://localhost/++skin++ZAM'
>>> mgr.open(rootURL + '/++etc++ApplicationController')
Traceback (most recent call last):
HTTPError: HTTP Error 404: Not Found

As you can see there is no real page available only the default one from the skin configuration which shows the following message:

>>> 'The page you are trying to access is not available' in mgr.contents
True

Go to the plugins page at the site root:

>>> mgr.open(rootURL + '/plugins.html')
>>> mgr.url
'http://localhost/++skin++ZAM/plugins.html'

and install the contents plugins:

>>> mgr.getControl(name='zamplugin.control.buttons.install').click()
>>> print mgr.contents
<!DOCTYPE ...
...
<div id="content">
      <form action="./plugins.html" method="post" enctype="multipart/form-data" class="plugin-form">
  <h1>ZAM Plugin Management</h1>
  <fieldset id="pluginManagement">
    <strong class="installedPlugin">Server control plugin</strong>
    <div class="description">ZAM Control plugin.</div>
...

Now you can see there is management namespace at the site root:

>>> mgr.open(rootURL + '/++etc++ApplicationController')
>>> print mgr.contents
<!DOCTYPE ...
 ...
 <div id="content">
   <div class="row">
     <div class="label">Uptime</div>
     ...
   </div>
   <div class="row">
     <div class="label">System platform</div>
     ...
   </div>
   <div class="row">
     <div class="label">Zope version</div>
     ...
   </div>
   <div class="row">
     <div class="label">Python version</div>
     ...
   </div>
   <div class="row">
     <div class="label">Command line</div>
     ...
   <div class="row">
     <div class="label">Preferred encoding</div>
     ...
   </div>
   <div class="row">
     <div class="label">FileSystem encoding</div>
     ...
   </div>
   <div class="row">
     <div class="label">Process id</div>
     ...
   </div>
   <div class="row">
     <div class="label">Developer mode</div>
     <div class="field">On</div>
   </div>
   <div class="row">
     <div class="label">Python path</div>
     ...
     </div>
   </div>
    </div>
  </div>
</div>
</body>
</html>

The ZODB control page allows you to pack the Database and shows the current database size:

>>> mgr.open(rootURL + '/++etc++ApplicationController/ZODBControl.html')
>>> print mgr.contents
<!DOCTYPE ...
...
<div>
  <form action="http://localhost/++skin++ZAM/++etc++ApplicationController/ZODBControl.html"
        method="post">
  <div class="row">
    <table border="1">
        <tr>
          <th>Pack</th>
          <th>Utility Name</th>
          <th>Database Name</th>
          <th>Size</th>
        </tr>
        <tr>
          <td>
            <input type="checkbox" name="dbs:list"
                   value="unnamed" />
          </td>
          <td>
            unnamed
          </td>
          <td>
            Demo storage 'unnamed'
          </td>
          <td>
            2 KB
          </td>
        </tr>
    </table>
    <div class="row">
      <span class="label">Keep up to</span>
      <span class="field">
        <input type="text" size="4" name="days" value="0" />
        days
      </span>
      <div class="controls">
        <input type="submit" name="PACK" value="Pack" />
      </div>
    </div>
  </div>
  </form>
</div>
...

The generation page shows you pending generations and will list already processed generation steps:

>>> mgr.open(rootURL + '/++etc++ApplicationController/generations.html')
>>> print mgr.contents
<!DOCTYPE ...
...
<div id="content">
  <span>Database generations</span>
<form action="http://localhost/++skin++ZAM/++etc++ApplicationController/generations.html">
<table border="1">
<tr>
    <th>Application</th>
    <th>Minimum Generation</th>
    <th>Maximum Generation</th>
    <th>Current Database Generation</th>
    <th>Evolve?</th>
</tr>
<tr>
    <td>
      <a href="generationDetails.html?id=zope.app">zope.app</a>
    </td>
    <td>1</td>
    <td>5</td>
    <td>5</td>
    <td>
       <span>No, up to date</span>
    </td>
</tr>
</table>
</form>
...

Release files for zamplugin.control 0.6.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 zamplugin.control 0.6.1
File Size Uploaded
zamplugin.control-0.6.1.tar.gz 13.5 kB Details

Release files / zamplugin.control-0.6.1.tar.gz

Download URL zamplugin.control-0.6.1.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
566fa68fa6a66b4bd3f936cb4d7838506027356d4e551afb225d03fbcbe9a592
BLAKE2b-256 checksum
How to use checksums
aac4eca65b28605d189862f50267d2c71ec13442495ebb4599220efe2b2aa953
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.6.1 This release

1 release file

0.6.0

1 release file

0.5.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