Updated user guide
This commit is contained in:
parent
183f9e3b74
commit
ef4b667277
@ -11,7 +11,15 @@
|
|||||||
* @license http://phptsmadmin.sf.net/license.html
|
* @license http://phptsmadmin.sf.net/license.html
|
||||||
*/
|
*/
|
||||||
class Controller_Welcome extends Controller_TemplateDefault {
|
class Controller_Welcome extends Controller_TemplateDefault {
|
||||||
|
protected $auth_required = FALSE;
|
||||||
|
|
||||||
public function action_index() {
|
public function action_index() {
|
||||||
|
if (! Kohana::config('config.client'))
|
||||||
|
Request::current()->redirect('guide/pta');
|
||||||
|
|
||||||
|
if (! Auth::instance()->logged_in())
|
||||||
|
Request::current()->redirect('login');
|
||||||
|
|
||||||
Block::add(array(
|
Block::add(array(
|
||||||
'title'=>sprintf('%s: %s (%s)',_('Server'),TSM::name(),TSM::version()),
|
'title'=>sprintf('%s: %s (%s)',_('Server'),TSM::name(),TSM::version()),
|
||||||
'body'=>'hello, world!',
|
'body'=>'hello, world!',
|
||||||
|
19
application/classes/model/actlog.php
Normal file
19
application/classes/model/actlog.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package PTA
|
||||||
|
* @subpackage Activity Log
|
||||||
|
* @category Models
|
||||||
|
* @author Deon George
|
||||||
|
* @copyright (c) 2010 phpTSMadmin Development Team
|
||||||
|
* @license http://phptsmadmin.sf.net/license.html
|
||||||
|
*/
|
||||||
|
class Model_ACTLOG extends ORMTSM {
|
||||||
|
protected $_table_name = 'ACTLOG';
|
||||||
|
protected $_primary_key = 'DATE_TIME'; // We need a primary key to detect that the object is loaded.
|
||||||
|
protected $_sorting = array(
|
||||||
|
'DATE_TIME'=>'ASC',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
?>
|
38
application/config/userguide.php
Normal file
38
application/config/userguide.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php defined('SYSPATH') or die('No direct script access.');
|
||||||
|
|
||||||
|
return array(
|
||||||
|
// Leave this alone
|
||||||
|
'modules' => array(
|
||||||
|
|
||||||
|
// This should be the path to this modules userguide pages, without the 'guide/'. Ex: '/guide/modulename/' would be 'modulename'
|
||||||
|
'pta' => array(
|
||||||
|
|
||||||
|
// Whether this modules userguide pages should be shown
|
||||||
|
'enabled' => TRUE,
|
||||||
|
|
||||||
|
// The name that should show up on the userguide index page
|
||||||
|
'name' => 'PTA',
|
||||||
|
|
||||||
|
// A short description of this module, shown on the index page
|
||||||
|
'description' => 'A TSM Operational Management Interface.',
|
||||||
|
|
||||||
|
// Copyright message, shown in the footer for this module
|
||||||
|
'copyright' => '© 2008–2011 phpTSMadmin Development Team',
|
||||||
|
),
|
||||||
|
'cache' => array(
|
||||||
|
'enabled' => FALSE,
|
||||||
|
),
|
||||||
|
'database' => array(
|
||||||
|
'enabled' => FALSE,
|
||||||
|
),
|
||||||
|
'kohana' => array(
|
||||||
|
'enabled' => FALSE,
|
||||||
|
),
|
||||||
|
'orm' => array(
|
||||||
|
'enabled' => FALSE,
|
||||||
|
),
|
||||||
|
'userguide' => array(
|
||||||
|
'enabled' => FALSE,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
16
application/guide/pta/index.md
Normal file
16
application/guide/pta/index.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# About phpTSMadmin (PTA)
|
||||||
|
|
||||||
|
phpTSMadmin is an operational admin interface to help with managing a Tivoli Storage Manager (TSM) server.
|
||||||
|
This web interface is not designed to replace that interface that you use to manage TSM, but rather to help you understand your TSM environment, so that you can better manage your server(s).
|
||||||
|
|
||||||
|
By default PTA uses TSM's command line interface (CLI) to communicate with the TSM server. While this provides a very simple way to get PTA up and running, it does have performance implications because each query to the TSM server results in a fork-exec to extra the data from TSM. As this is the only method to talk to a TSM v5.x server, it is your only option. For TSM v6.x users, it will be possible to query the DB2 database directly, which should be significantly better. Look out for an update with this feature.
|
||||||
|
|
||||||
|
## Tools used to make PTA available.
|
||||||
|
phpTSMadmin uses some great open source tools, please make sure you provide feedback/enhancements to the authors of the components you use:
|
||||||
|
|
||||||
|
* The Kohana Framework
|
||||||
|
* JpGraph
|
||||||
|
* PHP
|
||||||
|
|
||||||
|
## Information on Development
|
||||||
|
This web interface has been developed on a CentOS 5.5 server, using PHP 5.3. It has also been tested against TSM v5.x and TSM v6.x servers.
|
51
application/guide/pta/install.md
Normal file
51
application/guide/pta/install.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# Installation Instructions
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
The requirements below are those used by RedHat Enterprise Linux v5.6 system. It is quite
|
||||||
|
possible that other versions of these components, or other distributions of Linux will also
|
||||||
|
work as well.
|
||||||
|
|
||||||
|
If you encounter any problems with other versions, then drop us an email with
|
||||||
|
the error messages, what you did and what you expected, and if we need to make some code changes
|
||||||
|
to get it to work, then we'll take a look.
|
||||||
|
|
||||||
|
Minimum components and their version:
|
||||||
|
|
||||||
|
* Apache 2.2.x
|
||||||
|
* PHP 5.3.x
|
||||||
|
* TSM Client 5.x (our tests were done on TSM 5.5.x and TSM 6.2.x clients/servers).
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
These steps assume that you have installed, configured and running:
|
||||||
|
|
||||||
|
* Linux server,
|
||||||
|
* Apache installed, configured and running,
|
||||||
|
* PHP installed, configured if necessary and running with apache,
|
||||||
|
* TSM client installed, configured and working.
|
||||||
|
|
||||||
|
1. Download the latest version.
|
||||||
|
You can download phpTSMadmin from sourceforge. http://phpTSMadmin.sf.net
|
||||||
|
|
||||||
|
1. Unpack the tar files in an appropriate directory.
|
||||||
|
cd /var/www/phpTSMadmin (or any other directory that you choose)
|
||||||
|
tar xzf phpTSMadmin-XXXX.tgz
|
||||||
|
|
||||||
|
1. Configure your webserver.
|
||||||
|
Find the sample apache config file in the contrib directory. Place that in
|
||||||
|
your /etc/httpd/conf.d directory.
|
||||||
|
|
||||||
|
Edit the sample apache config file as appropriate and restart your web server.
|
||||||
|
|
||||||
|
Also make sure that in your php.ini configuration file, you have set "memory_limit" to
|
||||||
|
at leat 16M. If this is set too low, then your grantt charts will fail to be created
|
||||||
|
and your apache error log will have "Allowed memory size of X bytes exhausted" error
|
||||||
|
messages.
|
||||||
|
|
||||||
|
1. Copy config.php.example in the application/config directory to application/config/config.php and edit to
|
||||||
|
suite your environment.
|
||||||
|
|
||||||
|
1. Then, point your browser to your phpTSMadmin URL.
|
||||||
|
|
||||||
|
For help drop me an email phptsmadmin-devel@lists.sourceforge.net.
|
||||||
|
## Information on Development
|
||||||
|
This web interface has been developed on a CentOS 5.5 server, using PHP 5.3. It has also been tested against TSM v5.x and TSM v6.x servers.
|
2
application/guide/pta/menu.md
Normal file
2
application/guide/pta/menu.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
## [PTA]()
|
||||||
|
- [Installation](install)
|
142
application/media/guide/css/kodoc.css
Normal file
142
application/media/guide/css/kodoc.css
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
/* @import url('api.css'); */
|
||||||
|
|
||||||
|
html { background: #FFFFFF; font-size: 70%; }
|
||||||
|
body { margin: 0; }
|
||||||
|
ol ol, ol ul, ul ul, ul ol { margin-bottom: 0; }
|
||||||
|
a img { border: 0; }
|
||||||
|
|
||||||
|
h1 small,
|
||||||
|
h2 small,
|
||||||
|
h3 small,
|
||||||
|
h4 small { font-weight: normal; font-size: 0.7em; }
|
||||||
|
h5 small,
|
||||||
|
h6 small { font-weight: normal; font-size: 0.8em; }
|
||||||
|
|
||||||
|
dl dd { margin-left: 0; }
|
||||||
|
|
||||||
|
code {
|
||||||
|
color:#6BAA3D;
|
||||||
|
font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
background:#FFFFFF;
|
||||||
|
border-radius:10px;
|
||||||
|
padding:1.5em;
|
||||||
|
font-size:0.9em;
|
||||||
|
margin-top:1.5em;
|
||||||
|
margin-bottom:1.5em;
|
||||||
|
overflow:auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlighted div.line {
|
||||||
|
font-size:1em;
|
||||||
|
line-height:1.3 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
background:#eee;
|
||||||
|
border-left: 1px solid #CCC;
|
||||||
|
border-top: 1px solid #CCC;
|
||||||
|
margin-bottom:1.5em;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
table td, table th {
|
||||||
|
padding:0.4em 0.8em;
|
||||||
|
line-height:1.4286;
|
||||||
|
border-right: 1px solid #CCC;
|
||||||
|
border-bottom: 1px solid #CCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
table th {
|
||||||
|
background: #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
table tr:nth-child(even) {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.caps { text-transform: uppercase; font-size: 0.8em; font-weight: normal; }
|
||||||
|
.status { text-transform: lowercase; font-variant: small-caps; font-weight: bold; color: #911; }
|
||||||
|
.container .colborder { border-color: #d3d8bc; }
|
||||||
|
|
||||||
|
.note {
|
||||||
|
padding: 1.5em;
|
||||||
|
padding-left: 5em;
|
||||||
|
background: #e8efcf url('../img/lightbulb_48.png') no-repeat 1em center;
|
||||||
|
border-radius: 0.6em;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 a.permalink,
|
||||||
|
h2 a.permalink,
|
||||||
|
h3 a.permalink,
|
||||||
|
h4 a.permalink,
|
||||||
|
h5 a.permalink,
|
||||||
|
h6 a.permalink {
|
||||||
|
font-size: 0.6em;
|
||||||
|
line-height: 100%;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-left: 1em;
|
||||||
|
padding: 0;
|
||||||
|
font-weight: normal;
|
||||||
|
display: none;
|
||||||
|
position: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1:hover a.permalink,
|
||||||
|
h2:hover a.permalink,
|
||||||
|
h3:hover a.permalink,
|
||||||
|
h4:hover a.permalink,
|
||||||
|
h5:hover a.permalink,
|
||||||
|
h6:hover a.permalink {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#header,
|
||||||
|
#content,
|
||||||
|
#footer { float: left; clear: both; width: 100%; }
|
||||||
|
|
||||||
|
#header { padding: 20px 0 2em; background: #FAFAFC; }
|
||||||
|
#logo { display: block; float: left; }
|
||||||
|
#menu { float: right; margin-top: 12px; background: #050505; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
|
||||||
|
#menu ul { float: left; margin: 0; padding: 0 0.5em 0 0; }
|
||||||
|
#menu li { display: block; float: left; margin: 0; padding: 0; }
|
||||||
|
#menu li.first { padding-left: 0.5em; }
|
||||||
|
#menu li a { display: block; height: 32px; line-height: 32px; padding: 0 0.8em; border-right: solid 1px #050505; border-left: solid 1px #050505; letter-spacing: 0.05em; text-decoration: none; text-transform: uppercase; color: #FCFCFE; font-size: 90%; }
|
||||||
|
#menu li.first a { border-left: 0; }
|
||||||
|
#menu li.last a { border-right: 0; }
|
||||||
|
#menu li a:hover { background: #353535; color: #FCFCFE; text-shadow: #FFFFFF 0 0 1px; }
|
||||||
|
|
||||||
|
#content { background: #FCFCFE; }
|
||||||
|
#content .wrapper { min-height: 390px; padding: 1em 0; }
|
||||||
|
#content div.page-toc { float: right; margin: 1em; margin-top: 0; padding: 1em; background: #fff; border: solid 0.1em #e8efcf; border-radius: 0.6em; }
|
||||||
|
#content p.intro { padding: 1em 20px; padding-left: 20px; margin: 0 -20px; font-size: 1.2em; }
|
||||||
|
#content a { color: #004352; }
|
||||||
|
#content a:hover { color: #00758f; }
|
||||||
|
#content a:active { text-decoration: none; }
|
||||||
|
|
||||||
|
#breadcrumb { margin: 0 0 1em; padding: 0 0 0.5em; list-style: none; border-bottom: solid 1px #e8efcf; }
|
||||||
|
#breadcrumb li { display: inline-block; margin: 0; padding: 0 0.4em 0 0; text-transform: uppercase; font-size: 11px; }
|
||||||
|
#breadcrumb li:before { content: '»'; padding-right: 0.4em; }
|
||||||
|
#breadcrumb li a { color: #999; text-decoration: none; }
|
||||||
|
|
||||||
|
#topics { }
|
||||||
|
#topics ul,
|
||||||
|
#topics ol { list-style-type:none; margin: 0; padding: 0;}
|
||||||
|
#topics ul li,
|
||||||
|
#topics ol li { margin:0; padding: 0; margin-left: 1em; }
|
||||||
|
#topics ul li a.current,
|
||||||
|
#topics ol li a.current { font-weight: bold; }
|
||||||
|
#topics span,
|
||||||
|
#topics a { display: block; padding: 0; margin: 0; }
|
||||||
|
#topics span { cursor: pointer; }
|
||||||
|
#topics span.toggle { display: block; float: left; width: 1em; padding-right: 0.4em; margin-left: -1.4em; text-align: center; }
|
||||||
|
|
||||||
|
#topics li span { cursor:pointer; }
|
||||||
|
|
||||||
|
#footer { padding: 1em 0; background: #FAFAFC; color: #050505; text-shadow: #FFFFFF 0.1em 0.1em 1px; font-size: 0.9em; }
|
||||||
|
#footer a { color: #809397; }
|
||||||
|
#footer div.last { text-align: right; }
|
BIN
application/media/guide/img/logo-small.png
Normal file
BIN
application/media/guide/img/logo-small.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
108
application/views/userguide/template.php
Normal file
108
application/views/userguide/template.php
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $l = substr(I18n::$lang, 0, 2) ?>" lang="<?php echo $l ?>">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
|
||||||
|
<title><?php echo $title ?> | Kohana <?php echo __('User Guide'); ?></title>
|
||||||
|
|
||||||
|
<?php foreach ($styles as $style => $media) echo HTML::style($style, array('media' => $media), NULL, TRUE), "\n" ?>
|
||||||
|
|
||||||
|
<?php foreach ($scripts as $script) echo HTML::script($script, NULL, NULL, TRUE), "\n" ?>
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="header">
|
||||||
|
<div class="container">
|
||||||
|
<a href="http://phpTSMadmin.sf.net/" id="logo">
|
||||||
|
<img src="<?php echo Route::url('docs/media', array('file' => 'img/logo-small.png')) ?>" />
|
||||||
|
</a>
|
||||||
|
<div id="menu">
|
||||||
|
<ul>
|
||||||
|
<li class="guide first">
|
||||||
|
<a href="<?php echo Route::url('docs/guide') ?>"><?php echo __('User Guide') ?></a>
|
||||||
|
</li>
|
||||||
|
<li class="api">
|
||||||
|
<a href="<?php echo Route::url('docs/api') ?>"><?php echo __('API Browser') ?></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container">
|
||||||
|
<div class="span-22 prefix-1 suffix-1">
|
||||||
|
<ul id="breadcrumb">
|
||||||
|
<?php foreach ($breadcrumb as $link => $title): ?>
|
||||||
|
<?php if (is_string($link)): ?>
|
||||||
|
<li><?php echo HTML::anchor($link, $title, NULL, NULL, TRUE) ?></li>
|
||||||
|
<?php else: ?>
|
||||||
|
<li class="last"><?php echo $title ?></li>
|
||||||
|
<?php endif ?>
|
||||||
|
<?php endforeach ?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="span-6 prefix-1">
|
||||||
|
<div id="topics">
|
||||||
|
<?php echo $menu ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="body" class="span-16 suffix-1 last">
|
||||||
|
<?php echo $content ?>
|
||||||
|
|
||||||
|
<?php if (Kohana::$environment === Kohana::PRODUCTION AND empty($hide_disqus)): ?>
|
||||||
|
<div id="disqus_thread" class="clear"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var disqus_identifier = '<?php echo HTML::chars(Request::current()->uri()) ?>';
|
||||||
|
(function() {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = 'http://kohana.disqus.com/embed.js';
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript><?php echo __('Please enable JavaScript to view the :anchor_open comments powered by Disqus.:anchor_close', array(':anchor_open' => '<a href="http://disqus.com/?ref_noscript=kohana">', ':anchor_close' => '</a>')); ?></noscript>
|
||||||
|
<a href="http://disqus.com" class="dsq-brlink">Documentation comments powered by <span class="logo-disqus">Disqus</span></a>
|
||||||
|
<?php endif ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="span-12">
|
||||||
|
<?php if (isset($copyright)): ?>
|
||||||
|
<p><?php echo $copyright ?></p>
|
||||||
|
<?php else: ?>
|
||||||
|
|
||||||
|
<?php endif ?>
|
||||||
|
</div>
|
||||||
|
<div class="span-12 last right">
|
||||||
|
<p>Powered by <?php echo HTML::anchor('http://kohanaframework.org/', 'Kohana') ?> v<?php echo Kohana::VERSION ?></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php if (Kohana::$environment === Kohana::PRODUCTION): ?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
(function() {
|
||||||
|
var links = document.getElementsByTagName('a');
|
||||||
|
var query = '?';
|
||||||
|
for(var i = 0; i < links.length; i++) {
|
||||||
|
if(links[i].href.indexOf('#disqus_thread') >= 0) {
|
||||||
|
query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/kohana/get_num_replies.js' + query + '"></' + 'script>');
|
||||||
|
})();
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
<?php endif ?>
|
||||||
|
</body>
|
||||||
|
</html>
|
Reference in New Issue
Block a user