タグ: redmine Page 1 of 9

Redmineサイトの区別。(Watermarkプラグイン)

家と公開用のRedmineで同じテーマを使っているので、「どちらのサイトにいるか」が少し分からなくなります。

そこで、こういうプラグインを付けてみました。

Redmine Watermark

https://github.com/witcan/redmine_watermark

その名の通り、サイト全体にウォーターマークをつけるプラグインです。

インストール

  • Redmineのプラグインディレクトリに移動
cd /var/lib/redminep/pugins && pwd

自分の環境に合わせます。

  • git clone
sudo -u www-data git clone https://github.com/witcan/redmine_watermark
  • サービス再起動
sudo systemctl restart apache2.service

アプリを動かしているサービスを再起動させます。

導入後の設定

Redmineに管理者権限でログイン後、

管理>プラグイン>Redmine Watermarkに進みます。

  • Enable watarmark :チェック
  • ユーザ名や現在日付、テキストなどを入力して保存します。

サイトの背景にすかしが表示されれば設定完了です。

Redmineにチケットの終了日を知らせるプラグイン。

概要

そのチケットがいつ閉じられたかを詳細に表示させます。

シンプルで便利なプラグインです。

動作を確認した環境

  • Ubuntu 20.04 / Redmine 4.2
  • Ubuntu 22.04 / Redmine 5.1

両方で動きました。また、両方ともApache環境です。

手順

  • ディレクトリ移動
cd /var/lib/redmine/plugins && pwd

自分の環境に合わせます。

  • git clone
sudo -u www-data git clone https://github.com/fraoustin/redmine_closed_date
  • マイグレーション
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
  • サービス再起動
sudo systemctl restart apache2.service
  • 動作確認

クローズしたチケット詳細に「クローズしたチケット」とその日付が出てくればOKです。

自分用Redmineのステータスと評価。

自分のタスクやスケジュール管理に利用しているRedmine。

ステータスという呪文

作って間もない頃はプロジェクトやトラッカーに合わせて専用のステータスを作っていましたが、

「どれがどの状態か不明」

という状況に陥りました。

自分にとって必要なのは

  • ボールは自分にあるのか?
  • 相手にあるならいつチェックするのか?
  • フィードバックは必要か?

の3つぐらいだという結論。人に任せるわけでもない自分のタスク管理なので、ステータスはプロジェクト共通でいいと判断。

ステータス説明
Alohomora(開けよ)新たにチケットを発行するとき
Locomotor(動け)チケットを開始する
Arresto Momentum(遅く)様子見の必要があるため、一時的に中断したい場合
Depulso(除け)ボールが自分にあるとき。すなわち、自分の案件を押しつける。
Accio(来い)ボールが他人にあるとき。すなわち、状況を呼び寄せる。
Lumos(光よ)案件にスポットライトを当てる。フィードバック待ちのとき。
Obliviate(忘却せよ)準備が整って、実行するだけのチケット。なので、時期が来るまで忘れてもいいステータス。
Finito(終われ)案件が解決し、チケットを終わらせるとき
Avada Kedavra(息絶えよ)却下されたり却下したなどで、未解決状態でチケットをクローズ

『ハリー・ポッター』シリーズで出てくる呪文と擬えました。これなら、分かりやすく、必要なステータスのみに集中できます。

評価

そして、自分が発行したチケットは「期待通りか」のフィードバックが必要だと思いまして、カスタムフィールドを利用して、以下の形にしました。

  • U:不明 / Ungraded and Unglued
  • O:優 / Outstanding
  • E:良 / Exceeds Expectations
  • A:可 / Acceptable
  • P:不可 / Poor
  • D:落第 / Dreadful
  • T:トロール並 / Troll

「Ordinary Wizard's Level:OWL」試験の評価に、現段階では評価できない不明「Ungraded and Unglued」を加えました。

自分だけが使うツールは、こういう遊びの余地があるから好きです。

再評価の全文検索プラグイン。(Redmine 5.1検証)

ほぼ一年前、涙を呑んでアンインストールした全文検索プラグイン。

事情が変わったので再評価です。

理由1:プラグインでの支障が無くなった

これを諦めた最大の理由は、knowlegebaseプラグインの存在。

各種文書を記録できるこのプラグインは、導入当初:このプラグインがRedmine 4.2までしか対応していないからバージョンを落として使っていたほどです。

ところが5.0以降では(githubでは)使えないということで開き直ることができました。

knogwlegebaseという足かせがなくなれば、

  • チケットを細かく検索できる
  • 設定によって類似したチケットを表示する

このプラグインは高評価となります。

理由2:文書の保管に適したツールを見つけた

Bookstackを見つけたのが思いのほか大きいです。これによって、Wiki形式の文書のストックをこちらに出すことができます。

こちらも全文検索機能付きでバージョン管理も容易。

「使った当初は諦めたけど、事情やバージョンにより評価が変わる」話でした。

Redmine5.1検証-4.2で使っていたプラグインの稼働可否(動いたプラグイン)-

概要

Ubuntu 20.04系のEOLに備えて、Redmineも5.1で動かし筒あります。そんな中で、「今まで使っていたプラグインが動くかどうかを確かめました。

動いたプラグイン

まずは動いたプラグインです。

プラグイン名機能URL備考
Redmine Logsログの表示や削除を行うhttps://github.com/haru/redmine_logs最初に入れます(障害切り分けのため)
Additionals様々なマクロを提供https://github.com/alphanodes/additionals使い勝手が大きく変わります
Additonal Tagsチケットのタグ付けを行うhttps://github.com/alphanodes/additional_tags/上記、Addtionalsが必須です
full_text_searchチケット全文検索https://github.com/clear-code/redmine_full_text_search逆に4.2で動かしていなかったものです
RedMica UI extensionMermaid対応/バーンダウンチャート追加などhttps://github.com/redmica/redmica_ui_extensionこれも最初の方に入れるプラグインです
DMSFファイル機能拡充https://www.redmine.org/plugins/redmine_dmsfRedmineが機能不全に陥る可能性がありますのでインストール時は要注意
Redmine Issue Badge割り当てられているチケットの数を表示https://github.com/akiko-pusu/redmine_issue_badgeモチベーション維持に有用です
Redmine Issue Templateチケットやコメントのテンプレート化https://github.com/agileware-jp/redmine_issue_templates4.2対応版とメンテナが変わっています。
Redmine Local Avatarsアカウントのアイコンを任意の画像に変えるhttps://github.com/ncoders/redmine_local_avatarsこれも個人で使っているならモチベーション維持につながります
Redmine Message Cutomize各種用語を変更しますhttps://github.com/farend/redmine_message_customizeローカライズされていないもの(誤訳)などに対応
Redmine View Customize見た目や機能の拡充など、Redmineにおけるアーミーナイフのような頼れる存在ですhttps://github.com/onozaty/redmine-view-customize非常に優先度が高いプラグインです

動かなかったプラグインやワークアラウンドは後日。

Redmine View Customize Pluginでのアイコンサイズ変更。

やりたいこと

Redmineのチケット表示画面に出てくるこのアイコンを大きくします。

環境

  • Redmine 4.2 Redmine 5.1
  • 要:ViewCustomize Pluginの導入

共通手順

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズに移動します。
  3. 「新しい表示のカスタマイズ」をクリックします。

カスタマイズ1

以下の通り指定します。

  • パスのパターン:空白
  • プロジェクトのパターン:空白
  • 挿入位置:全ページのヘッダ
  • 種別:JavaScript
  • コード
$(document).ready(function() {
  // 表示環境やテーマに合わせて任意のサイズを指定
$('.gravatar').css('width', '70px').css('height', '70px');
});

コード入力後、有効にして「保存」をクリックします。

設定反映後、

と、サイズが大きくなりました。

しかし、全てに適用されるので

ガントチャートのアイコンもそれに合わせて大きくなります。それを抑制する措置を執ります。

カスタマイズ2

以下の通り指定します。

  • パスのパターン:/gantt
  • プロジェクトのパターン:空白
  • 挿入位置:全ページのヘッダ
  • 種別:JavaScript
  • コード
$(document).ready(function() {
  // 表示環境やテーマに合わせて任意のサイズを指定
   $('.gravatar').css('width', '10px').css('height', '10px');
});

適用後、

ガントチャートのアイコンサイズも設定できました。

まとめ

  • アイコンが全てに及ぶため、かなり乱暴な手を取っています。
  • そのため、カスタマイズを2つ挟む結果になりました。
  • もっとスマートな手があると思いますので、要検証です。

Redmine 5.1にIssue Template Pluginをインストール。

この記事を書いて程なくして、直々に別リポジトリにメンテナが引き継がれていたとの情報を戴きましたので、

早速、インストールします。

環境

  • Ubuntu 22.04
  • Redmine 5.1
  • Ruby 3.0
  • Apache 2.4

導入時

Gem追加:要
DBマイグレーション:要

さっくりとした手順

  1. SSHログイン後、Redmineプラグインに移動
  2. gitでレポジトリをダウンロード
  3. 新規ジェムをインストール
  4. DBマイグレーション
  5. Webサービス再起動

ディレクトリに移動します。

cd /home/www-data/redmine/plugins
# 自分の環境に合わせます。

プラグインを配置します。

sudo -u www-data git clone https://github.com/agileware-jp/redmine_issue_templates

ls -ld redmine_issue_templates

Gemをインストールします。

cd /home/www-data/redmine/plugins
# 自分の環境に合わせます。

sudo -u www-data bundle install

DBのマイグレーションを行います。

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

動作

  1. Redmineに管理者アカウントでログインします。
  2. 任意のプロジェクトを選択して設定をクリックします。
  3. モジュール「チケットテンプレート」にチェックを入れて保存します。
  4. プロジェクトにチケットテンプレートのタブが表示されていれば設定完了です。

このプラグインの有無がRedmine 5.1に移行できるかの鍵の一つだったので、大いに助かりました。

Redmine 5.1に文書管理プラグイン(dmsf)をインストール。

概要

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/39/

こちらの、Redmine5.1バージョンです。

Redmineをファイルサーバのように扱うプラグインをインストールします。

備考

  • この作業、下手すればRedmine全体が使えなくなる作業です。(実際にRedmineが使えなくなりました)
  • そのため、DBのバックアップとリストアによる切り戻し手順も込みです。

2023年11月よりMicrosoftはWebDavを「非推奨」とする方針を打ち出しているため、本手順ではWebDAV設定は省いています。

https://forest.watch.impress.co.jp/docs/news/1544482.html

プラグイン名

動作を確認した環境

  • Ubuntu 22.04
  • Ruby 3.0
  • Redmine 5.1
  • mysql Ver 8.0.35

導入時

  • 追加パッケージのインストール:要
  • Gem追加:要
  • DBマイグレーション:要

実施した手順

さっくりとならなかった手順

  1. 念のためDBバックアップ
  2. SSHログイン後、追加パッケージをインストール
  3. Redmineプラグインに移動
  4. gitでレポジトリをダウンロード
  5. 新規ジェムをインストール
  6. DBマイグレーション
  7. Webサービス再起動
  8. Redmine設定変更
  9. 切り戻し手順(それでも失敗した場合)

バックアップ取得

mysqldumpによるバックアップ

cd /hoge
# 任意のバックアップディレクトリに移動します

mysqldump -h localhost -u redmine -p --no-tablespaces --single-transaction redmine > redmine_backup.$(date +%Y%m%d).sql
# それぞれ -h ホスト名 -u redmine -p ユーザ オプション db名です。
# パスワードはredmineインストール時に設定したDBユーザのものです

環境が許すなら、AWSのようにシステム全体のバックアップを取った方が後腐れがありません。

動作に必要な追加パッケージのインストールと設定

追加パッケージをインストールします。

sudo aptitude install xapian-omega ruby-xapian libxapian-dev poppler-utils antiword  unzip catdoc libwpd-tools libwps-tools gzip unrtf catdvi djview djview3 uuid uuid-dev xz-utils libemail-outlook-message-perl

プラグインのインストール

プラグインを配置します。

  • 2023/01/20時点での最新バージョン3.1.3を利用します。
cd /home/www-data/redmine/plugins && pwd
# redmineのplugins配下ディレクトリに移動します。

sudo -u www-data git clone -b v3.1.3 https://github.com/danmunn/redmine_dmsf
# 念のため、バージョンを指定します。

ls -ld /home/www-data/redmine/plugins/redmine_dmsf
# このディレクトリがあることを確認します

Gemをインストールします。

cd /home/www-data/redmine/ && pwd
# 自分の環境に合わせます。

sudo -u www-data bundle install
# bundleはかなり時間がかかります。

DBのマイグレーションを行います。

cd /home/www-data/redmine/ && pwd
# 自分の環境に合わせます。

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

Redmine設定変更

WebDAV有効化

  1. Redmineに管理者アカウントでログインします。
  2. 管理>プラグイン>DMSFの「設定」をクリックします。
  3. 以下のように修正します。
  4. 貼り付けを許可にチェックを入れ、アップロードしたファイルをチケットなどに貼り付けられるようにします。
  5. WebDav:無効(デフォルトのままです)
  6. 任意のプロジェクトに移動します。
  7. 「設定」をクリックし、「文書管理」にチェックを入れます。
  8. また、Redmine管理画面の「ロールと権限設定」で、ユーザのアクセス権を忘れないようにしてください。(「文書管理」のセクションです)

以上で設定は完了です。

おまけ:切り戻し手順

この作業、Redmine5.1より手順は楽になったとは言え:やっぱりバージョン変更や設定ミスで軽くRedmine全体が機能不全に陥ります。そのため、切り戻し手順を記しておきます。

通常の切り戻し

ディレクトリ移動

cd /home/www-data/redmine && pwd
# 自分の環境に合わせます。

プラグインアンインストール

sudo -u www-data rake redmine:plugins:migrate NAME=redmine_dmsf VERSION=0 RAILS_ENV=production

ディレクトリ削除

sudo rm plugins/redmine_dmsf -Rf

Webサービス再起動

sudo systemctl restart apache2.service

それでもダメだった切り戻し(DBリストア)

cd /hoge
# mysqldumpを行ったディレクトリ

mysql -h localhost -u redmine -p redmine < redmine_backup.$(date +%Y%m%d).sql
# パスワードはredmineインストール時に設定したDBユーザのものです

sudo systemctl restart apache2.service

Redmine View Customizeを利用した、チケット作成時の定型文挿入。-1-(Issue Template Pluginのワークアラウンド)

概要

メインで使っているRedmineのバージョンは4.2ですが、OSのEOL等に備えて5.1での検証を始めました。

そんな中、活用しているプラグインが使えないのでその対処を行いました。

問題となったプラグイン

こちら、2024/01/19現在、Redmine5.1でインストールできませんでした。

  • チケットを発行するときの定型文を入れたい
  • プロジェクトによっては既に内容が決まっているとなおよい

をモットーにしているだけに、このプラグインが利用できないのはバージョンアップの大きな障害となります。

それを解決するため、RedmineViewCustomizeを使いました。

試した環境

  • Ubuntu 22.04
  • Redmine 5.1
  • Ruby 3.0
  • Apache / ModPassanger
  • 要:ViewCustomizeインストール

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/31

手順

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズに進みます。
  3. 新しい表示のカスタマイズをクリックします。
  4. 以下の通り、コードを挿入します。

パスのパターン

  • 空白
  • 全プロジェクト

プロジェクトのパターン

空白

挿入位置

全ページのヘッダ

種別

JavaScript

コード

$(function() {
// チケット作成画面のみ対象
if ($('#issue-form').length > 0 && $('#issue_subject').val() == '') {
// 件名の先頭に定型文を追加
$('#issue_subject').val('[起票:] 『件名』(期日:) ');
// 説明に本文を追加 (自身が使うパターンで使ってください。\nで改行を入れられます。)
$('#issue_description').val('### 概要\n\n### 依頼者\n\n### 締切概算\n\n### あるべきゴール\n\n### まずすべきこと\n\n- [ ]');
}
});

コメント

チケット作成時にタイトルを追加


設定反映確認

  1. 任意のプロジェクトで新しいチケットを発行します。
  2. 以下のように自動的にタイトルと説明が入っていればOKです。

Ubuntu 22.04系にRedmine5.1をインストール。

OSの刷新に備えて、Ubuntu 22.04に、2024年1月現在の最新版のRedmineを、Ubuntu22.04系にインストールします。

一部を除いてコピペだけで済むように完結しています。

本記事で実施すること

  1. Redmineを動かすためのパッケージがインストールできるように準備をします。
  2. Redmineを動かすためのパッケージ(Ruby/データベース/Webサービスなど)をインストールします。
  3. データベースやWebサービスの基礎設定を行います。
  4. Redmineの動作確認を行います。

想定している読者

  • 「Redmine」をUbuntuにインストールしてみたい
  • まずは動くところまで確認できればいい

前提

  • Ubuntuサーバの初期設定が終わった直後の状態を想定します。
  • DNSでドメインの名前が解決できることを前提としています
  • 環境は以下の通りです。
  • Apache系
  • MySQL
  • Ruby 3.0
  • また、パッケージ管理としてaptitudeを用いています。aptが好みの方はこちらに読み替えてください。

特記事項

  • 本手順ではRedmine 5.1をインストールします。
  • 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/redmine)と異なることを最初に注記します。

手順

Apacheのレポジトリを追加します。

sudo add-apt-repository ppa:ondrej/apache2

必要なパッケージをインストールします。

sudo aptitude update

sudo aptitude install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev mysql-server mysql-client apache2 apache2-dev libapr1-dev libaprutil1-dev imagemagick libmagick++-dev fonts-takao-pgothic subversion git ruby libruby ruby-dev libmysqlclient-dev

apacheの追加モジュールをインストールします。

sudo aptitude install libapache2-mod-passenger

rubyのパッケージ管理(gem)を用いて必要なライブラリをインストールします。

sudo gem install bundler racc mysql2
# 「3 gems installed」が表示されればインストール成功です。

必要に応じてmysqlの初期設定を行います。

mysql_secure_installationによる初期設定を行います。

うまくいかない場合は以下を参照してください。

https://atelier.reisalin.com/projects/zettel/questions/5-mysql_secure_installation

mysqlでDBとユーザーを設定します。

mysql -u root -p
# 上記で設定した「mysqlのrootパスワード」を入力し、mysqlにログインします
CREATE DATABASE redmine character set utf8mb4;
/* DB "redmine" を作成します */

CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
/* ユーザ "redmine"を作成し、パスワードを設定します*/
/* この'password'は任意のパスワードに変更してください*/

GRANT ALL ON redmine.* TO 'redmine'@'localhost';
/* DB "redmine"の権限をユーザ "redmine"に委譲します*/

flush privileges;
/* 設定を反映させます*/

exit

設定したDBでログインできることを確認します。

mysql -u redmine -p
SHOW DATABASES;
/* DB:redmineがあることを確認します。 */

exit

Redmineプログラムを配置します。

sudo mkdir -p /home/www-data/redmine

sudo chown -R www-data:www-data /home/www-data

sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.1-stable /home/www-data/redmine

Redmineのコンフィグを設定します。

sudo cp -pi /home/www-data/redmine/config/database.yml.example /home/www-data/redmine/config/database.yml
  • /home/www-data/redmine/config/database.yml

上記を教義・信仰に従ったエディタで編集してください。

database.yml 編集内容

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  # rootからredmineに変更します
  password: "redmine用のパスワード"
  encoding: utf8mb4
# 本番環境(production)のみ設定を行います

Redmineのマイグレーションを行います。

cd /home/www-data/redmine/ && pwd
# /home/www-data/redmine/ (Redmineを配置したディレクトリ)であることを確認します

sudo -u www-data bundle install --without development test --path vendor/bundle

sudo -u www-data bundle exec rake generate_secret_token

sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate

sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

Apacheの設定ファイルを作成します。

cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/redmine.conf
<VirtualHost *:80>
    ServerName hoge.example.com
    # ServerNameは自身が設定したredmineに読み替えてください。
    DocumentRoot /home/www-data/redmine/public
    <Directory /home/www-data/redmine/public>
        Options -MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
__EOF__

設定を反映させます。

ls -l /etc/apache2/sites-available/redmine.conf
# ファイルがあることを確認します。

sudo a2ensite redmine.conf
# 設定ファイルを有効化します

sudo a2dissite 000-default.conf
sudo a2dissite default-ssl.conf
# 初期サイト設定を無効化します

sudo apache2ctl configtest
# Syntax OK を確認します

sudo systemctl restart apache2.service

systemctl status apache2.service

Webページの表示を確認します。

http://設定したRedmineドメイン

でRedmineのトップページが表示されれば成功です。

直ちにadmin/adminでログインし、強固なパスワードを設定し直します。

Page 1 of 9

Powered by WordPress & Theme by Anders Norén