mineko のプロフィール写真

投稿者:

[RackTables]ラック配置図をExcelで出力するプラグイン

2016 年 3 月 23 日 (RackTables, プラグイン, 配布)

ラック配置図を管理できる RackTables。とても便利なのですが、ラック内の機器を更新するときの変更計画書や施工指示書をでラック配置図を書く場合には、最新の配置図とは別に配置図を書き起こさなければいけません。
最新のラック配置の状態は RackTablesの画面ですぐ表示できるので、監査には問題ないのですが、施工図、完成図としてその時々や何パターンもの構成図見積を残さなけばいけないようなケースで、もっと簡単に書く方法はないかなと思っていました。

Visioって選択もありますが、みんながみんなVisioを持っているわけではないので、やっぱりExcelで作るっていうのが一番確実ってことになります。

そこで、このプラグインです。

racktables-plugins-draw-racks

インストールする際にはプラグインディレクトリの中にPHPExcelを入れる必要がありますが、ただファイルを置くだけなので簡単です。

Reportsメニューの中にDrawRacksというタブが増えて、そこからラックを選ぶとExcelのラック配置図ファイルをダウンロードすることができます。
デフォルトは英語メニューですが、標準で日本語のコンフィグファイルがついているので、簡単に日本語対応します。
エクスポートしたファイルをお見せすることはできませんが(;^ω^)、ちゃんとセルも連結されていて手作業による写し間違いもなく、大量のラック配置図も瞬時に出力されます。

いままでラック配置図をExcelで管理されている方がいらしたら、RackTablesに切り替えてみてはどうでしょうか。

[RackTables]ラック配置図をExcelで出力するプラグイン への返信17件

  1. 記事拝見させていただきました、プラグインツールの導入を検討している者です。
    PHPExcelをComposerコマンドでインストールし、プラグインツールを配置してみましたが、動作しませんでした。
    投稿者様のOS・PHPExcel・RackTables・Apache等のバージョンを教えていただけないでしょうか。
    もしよろしければPHPExcelのインストール方法もご教授いただけたら幸いです。

  2. いやーマジですか(;^_^A
    こちらはレンタルサーバー屋さんのもので開発したのでFreeBSDとかいうOSですよ。
    お友達はCentOS6/PHPExcel1.8.0(多分最新)/RackTables0.20.13/PHP5.4/Apache2.2で動いているといっております。

    GitHubの方に書かれている通り、このプラグインはPHPExcelをまるっとClassesというフォルダにコピーする必要がありますが、Composerでダウンロードしたモジュール一式がこの通り置かれてますでしょうか?

    モジュール一式プラグインディレクトリに入れるなんてそんなこっぱずかしい真似はできねぇってことであれば、DrawRacksLib.phpのコンストラクタに書かれているパスをComposerでインストールしたPHPExcelのパスに合わせてください(要はここのrequireがキモ)。

    ご検討お祷りします。

  3. こんにちは、ご回答ありがとうございます><
    私は、CentOS6、PHPExcel1.8、RackTables0.20.13、PHP5.4.45、Apache2.2.15ですので、環境に違いはないと思うのですが。
    ClassesにダウンロードしたPHPExcelをまるごとコピーですか?

    どうもうまくいきません・・・。もう一度、全部消してやってみます。
    composerでインストールすると、/root/vendor/phpoffice/phpexcel/Classesに格納されたのですが、これをpluginディレクトリにコピーして。プラグインツールをダウンロードし、これもpluginディレクトリに格納していけば動作するはずですもんね?><
    PHPExcelのインストールがうまくいっていないのかもしれません(Composerコマンドでインストールだけして、設定は触れていないので)
    PHPExcelの動作確認や、インストールはどのように行ったかご教授いただけないでしょうか。それとも特に設定はないのでしょうか。

    お手数をおかけして申し訳ありません。お願い致します。

  4. 追伸
    [root@hostname ~]# cd /var/www/html/racktables/plugins/
    [root@hostname plugins]# ls
    drawracks drawracks.php
    [root@hostname plugins]# cd drawracks
    [root@hostname drawracks]# ls
    Classes drawRacksConfig.php drawRacksLib.php xlsx
    [root@hostname drawracks]# cd Classes/
    [root@hostname Classes]# ls
    PHPExcel PHPExcel.php vendor
    このようなディレクトリ状態になっています。vendorはPHPExcelのまるごとファイルです。

  5. 23~26行にある4つのパスを変更すればよいのでしょうか?
    15 * Constructor
    16 */
    17 function DrawRacks()
    18 {
    19 global $drawracks_conf;
    20 $this->load_config();
    21 $this->templatefile = $drawracks_conf[‘templatefile’];
    22 $this->check_file( $this->templatefile );
    23 if( $this->check_file( dirname(__FILE__) . ‘/Classes/PHPExcel.php’ ) )
    24 require_once dirname(__FILE__) . ‘/Classes/PHPExcel.php’;
    25 if( $this->check_file( dirname(__FILE__) . ‘/Classes/PHPExcel/IOFactory.php’ ) )
    26 require_once dirname(__FILE__) . ‘/Classes/PHPExcel/IOFactory.p hp’;

    知識が乏しく基本的な質問ばかりですみません><
    どうしてもプラグインツールを導入したく試行しております。
    どうか、ご協力をお願い致します><

  6. お待たせしてすみません。
    あたりをつけて修正してみました!!
    GitHubからdrawracks.phpをダウンロード、上書き保存してください!!!
    これで動作しないようなら、どんなふうになるか教えてくださいね。
    ex.Reportsメニューでラック配置図タブがでない、ラック配置図画面がでない、ファイルが出力されない、ラックが出力されてない、など
    よろしくお願いします。

  7. 遅くなり申し訳ありません。返信ありがとうございます。
    新しくdrawrackes.phpをダウンロードし、指定ディレクトリに配置しました。そのあと、httpdのリスタートを行いました。
    RackTablesのコンソールを確認しましたが、ReportsでDrawRacksが表示されていません。
    よろしくお願い致します><

  8. あはは(;^_^A
    全然見当違いのところを見てました。
    デフォのコンフィグファイル「drawRacksConfig.php」を使うと「DrawRacks」というメニュー名ではなく「ラック配置図」という名前になっています。
    ↓ こっちも直しました。
    https://github.com/hipontire/racktables-plugins-draw-racks/blob/master/README.md

    ユーザ23さんがメニュー名で勘違いされていましたらすみません (m´・ω・`)m

    もし「ラック配置図」も表示されていないのでしたらプラグインの動作そのものの問題ですね。
    日本語ナビゲーションメニュープラグイン
    https://github.com/hipontire/racktables-plugins-japanese-navigation
    とか、他のプラグインは動作しますでしょうか?

  9. 「ラック配置図」も出てこないので、メニュー名の間違いではなさそうです@@

    日本語化するプラグインをダウンロードして配置し、httpdの再起動を行いましたが、変化がありません・・・。
    pluginsディレクトリの場所が間違っているのでしょうか・・・。

    [root@hostname plugins]# ls
    drawracks navigation.php
    drawracks.php racktables-plugins-japanese-navigation-jpnavi-navigation.php
    [root@hostname plugins]# pwd
    /var/www/html/racktables/plugins

  10. ユーザ23さん:
    wwwroot/inc/pre-init.php のファイルをみると
    $racktables_rootdir = realpath (dirname (__FILE__) . ‘/..’);
    $racktables_plugins_dir = realpath ($racktables_rootdir . ‘/../plugins’);
    となっているので、wwwrootとplugins ディレクトリはおんなじ階層である必要があります。
    インストールしたときフォルダ構成を変えていなければ
    ↓こうなってるはずです。
    [root@hostname racktables]# ls -F /var/www/html/racktables
    COPYING ChangeLog LICENSE Makefile README@ README.Fedora README.md gateways/ plugins/ scripts/ wwwroot/

    ちなみにプラグインをおくときはhttpdの再起動は必要ありませんよ~。

  11. wwwrootディレクトリが、/root/RackTables/RackTables-0.20.13/wwwroot/にあったので、/pluginsと同じ階層へ移動させました。
    [root@centos6 racktables]# ls
    COPYING LICENSE README.Fedora css inc js plugins wwwroot
    ChangeLog Makefile README.md gateways index.php pix scripts
    これでもプラグインが反映されていません・・・。日本語化のプラグインも反映されていない状態です。

    httpd再起動について、ありがとうございます。

  12. ユーザー23さん
    前出のコメントで書かれていますが、racktablesの本体って /var/www/html/racktables におかれてませんか?
    # ls -F /var/www/html/racktables
    の出力が同じようになっていますか?
    ディレクトリ構造を変えてしまっていたら一度再インストールしてみたほうがいいかもしれませんね。
    がんばってください。

  13. 置いてなかったようです@@
    本体ごと持ってきてみましたが、ダメみたいですね・・・

    もう一度トライしてみます、余裕を持ってメンテできるタイミングがないので、少し時間がかかりそうですが・・・
    また終わりましたらご連絡させていただきます!!

  14. 取り急ぎ、検証環境にてインストールしてみました。
    メニューにラック配置図が追加され、「配置図ファイルの出力」を押してみますと。
    下記のメッセージが出てしまいます・・・。
    プラグインの設定ファイルのパス入力がおかしいのでしょうか。

    このサイトにアクセスできません
    http://xxx.xxx.xxx.xxx/racktables/wwwroot/index.php?page=reports&tab=rack&xlsx のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。
    ERR_INVALID_RESPONSE

  15. ユーザ23さん
    今度のエラーはPHPExcelのエラーのようです。
    ネットで調べるとPHP7になっている
    https://stackoverflow.com/questions/49007548/phpexcel-err-invalid-response-with-php7-0
    か、ZIPモジュールがインストールされていない
    https://stackoverflow.com/questions/31384472/generating-and-downloading-an-excel-file-generates-a-err-invalid-response
    可能性がありますね。

    いまのracktablesはPHP5.5以上が必須みたいですので、PHPExcelはもう限界かもしれません。

  16. 光圀さん

    PHP5.4.5です。ZIPモジュールも入っています。
    前回は数日放置していたらエラーが解消されていました。
    謎です、よくわかりません・・・。

    0.20.14は、PHP5.3でも問題無く動作しています。
    PHPExcelの互換製品PHPSpreadsheetですが、どうなんでしょうね。

  17. 同様にうまく動きませんでしたが、私の環境ではapacheのログで以下のサイトにあるような、
    「 Fatal error: Class ‘XMLWriter’ not found in /var/www/html/Classes/PHPExcel/Shared/XMLWriter.php on line xx」
    のエラーが出ていたので、php-xmlをインストールしたらうまく動きました。

    https://www.deep-blog.jp/engineer/archives/1808/

    OSとPHPのバージョンは
    centOS7.4
    php 5.4
    です。

    参考になれば幸いです。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です