Tracマクロによる仕事に使える厳選マクロと使い方

サイクロンは Trac Wiki による文書作成機能があります。Trac や TracLightning で利用可能な Trac マクロもそのまま利用する事が可能です。
プロジェクトチームの情報共有のために Wiki を活用されているチームもそうでないチームも、Trac マクロを利用する事でプロジェクト運営がぐっと楽になります。
ここでは、仕事に使える厳選マクロとしてご紹介したいと思います。

  1. 目次の作成・・・PageOutline マクロ。見出しから目次を自動生成するマクロ
  2. 最近の変更一覧・・・RecentChanges マクロ。最近更新された Wiki ページを一覧表示するマクロ
  3. チケット一覧・・・TicketQuery マクロ。チケット一覧を様々な条件で一覧表示するマクロ
  4. Wikiページ一覧・・・TitleIndex マクロ。Wikiページを様々な条件で一覧表示するマクロ
  5. プロジェクト内リンク・・・マイルストーンやリポジトリ、チケット、チェンジセットへの簡単リンク

1. 見出しから目次を生成するマクロ(PageOutline)

TracWikiは文書を作成する上で必要最小限の機能を備えています。ワープロソフトをつかって文書を作成するよりもずっと早く文書を作成することができます。「PageOutline」マクロは作成した文書構造から自動で目次を作成するマクロです。

実際の文書をみたほうが理解しやすいと思います。

[[PageOutline()]]
= ciklone スタートアップガイド =
== 1. はじめに ==
=== 1.1 導入 ===
ciklone(サイクロン) ソフトウェアエンジニアのための、Webベースバグ管理システムです。 本資料では、チーム開発、バグ管理、バージョン管理をキーワードとして、ciklone(サイクロン)をあなたのプロジェクトでうまく導入するための説明をしています。

これまでの経験で、バグ管理、バージョン管理を使ったことがある方もそうでない方も、これからのソフトウェア開発に役立つと考えられる内容にまとめております。
…
=== 1.2 バグ管理の必要性 ===
組込みシステムエンジニアやWebアプリケーションエンジニア、多くのソフトウェア開発に携わる開発者達。 製品開発やシステム開発の現場で「バグ管理」はどのように行っているでしょうか。

ページの目次が自動生成されます。目次はページ内リンクになっているのでクリックすると目的の見出しまでジャンプできます。
Wikiの目次を生成するためには文書に以下のマクロを記述するだけです。

 [[PageOutline()]]

さらに詳しい使い方は、「Wikiマクロを活用する」をご覧ください。

2. 最近更新された Wiki ページを一覧表示するマクロ(RecentChanges)

プロジェクトチームで情報共有する場合やチームのポータルサイトとして Wiki を活用している場合、最近更新された Wiki ページの一覧を表示しておくとよいでしょう。タイムラインと異なり、Wiki だけのページを条件付きで表示することができます。

使い方

 [RecentChanges(tc,5)]]

RecentChanges に引数があります。最初の引数は、「tc」という Wiki の階層ページの下にあるWikiを表示することを意味しています。すべての Wiki ページを指定する場合、最初の引数は何も書きません。

 [RecentChanges(,5)]]

2つめの引数は、最近更新されたページの数です。「5」は過去更新されたページを5個リンクにする、ということを指定しています。タイムラインのように過去の時間に関係なく、最近更新されたページ数を一覧表します。

3. 様々な条件でチケットをレポートするマクロ(TicketQuery)

Trac にはチケットを表示する強力なレポート機能があります。そのレポート機能を Wiki マクロで実現することができます。
使い方によっては、

  • 毎日の作業日報や週報をマクロで簡単に生成
  • 議事録の課題リストやタスクリストを自動生成
  • 自分の作業メモや「やることリスト」パーソナルページ
  • チームの作業一覧ページ

など、使い方によって毎日の開発作業を効率的にしてくれます。

基本的な使い方「新規開発プロジェクトの自分の担当チケットを一覧表示する」

基本形式:[[TicketQuery(条件式,表示形式,ソート条件)]]

[[TicketQuery(status!=closed&owner=$USER,table,order=serverity)]]

サンプル条件の説明

  • 条件式(第1引数)…チケット属性の英字名を指定します。「=」(同じ)、「!=」(同じではない)が指定可能です。複数の条件は「&」で連結可能です。
  • 表示形式…チケット一覧の表示形式を指定します。表示形式は4種類(list,compact,count,table)があります。
  • ソート条件…一覧表示されたチケットのソート条件を指定します。「order=」のあとにチケット属性の英字名を指定します。(id,version,status,serverity) サンプルでは優先度でソートしています。

TicketQuery の条件式はクエリ言語といわれる高機能なマクロが利用可能です。上で示した例はよく使う簡単な例ですが
さらに詳しい解説はサイクロンのマニュアルをご確認ください。(https://[あなたのサブドメイン].ciklone.com/-/wiki/TracQuery)

4. 様々な条件で Wiki ページを表示するマクロ(TitleIndex)

単純に Wiki ページの一覧表を作成することができます。特定のカテゴリの Wiki や関連する文書の Wiki ページを埋め込むことができます。
使い方は

 - コンパクトに表示
  [[TitleIndex(tc/Meeting/,format=compact)]]
 - 標準
  [[TitleIndex(tc/Meeting/)]]

5. マイルストーンやチケットにアクセスするためのリンク機能

サイクロンのプロジェクト管理機能で利用している各機能は簡単にリンクを作成することができます。TracLinksと呼ばれるリンク機能は、

  • ソースコードのコミットメッセージ
  • Wikiページ
  • チケット、レポート、マイルストーンでの説明記述箇所

で利用することが可能です。また、プロジェクト内のテキストフィールド内でも利用できます。

Wiki ページ
CamelCase, wiki:CamelCase
親ページ
[..]
チケット
#1, ticket:1
チケットのコメント
comment:1:ticket:2
レポート
{1}, report:1
チェンジセット
r1, [1], changeset:1, (特定パス配下) [1/trunk], changeset:1/trunk
リビジョンログ
r1:3, [1:3], log:@1:3, log:trunk@1:3, [2:5/trunk]
diff
diff:@1:3, diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default または diff:trunk/trac@3538//sandbox/vc-refactoring@3539
マイルストーン
milestone:1.0
添付ファイル
attachment:example.tgz (現在のページへの添付ファイル), attachment:attachment.1073.diff:ticket:944 (他のリソースへの添付ファイル)
リポジトリのファイル
source:trunk/COPYING
特定リビジョンのリポジトリのファイル
source:/trunk/COPYING@200
リポジトリのファイルの特定行
source:/trunk/COPYING@200#L25

さらに詳しい解説はサイクロン内のマニュアルを参照してください。(https://[あなたのURL].ciklone.com/-/wiki/TracLinks)
このように少しの学習でとても便利な機能が利用可能です。
ぜひ、ご活用ください。

Trac / TracLightning のデータを ciklone に移行する機能のご紹介


サイクロンに新しい機能が追加されました。
TracTracLightning で運用していたデータをサイクロンに簡単に移行することができます。
クラウドサービス「サイクロン」をぜひお試しください。
この機能は、

  • 社内サーバで運用していたTracやTracLightningのプロジェクトをサイクロンのプロジェクトとして移行できます(Tracデータ移行機能)
  • Trac のバージョンは、0.10.x 〜以降に対応しています。
    • Trac 1.0.x / 0.12.x / 0.11.x / 0.10.x
    • TracLightning は Trac バージョンが対応していればインポートすることが可能です。
  • Wiki,マイルストーン,コンポーネント,カスタムフィールド,優先度,解決方法,重要度,分類,バージョンが移行されます。
  • 移行エラーが発生した場合、エラー内容を詳細に表示しますので原因特定に役立ちます。

Trac をご利用の方はぜひお試しください。サイクロンはセキュアでエンタープライズ向けのホスティングサービスを提供しています。
ユーザの管理やデータバックアップ、新規プロジェクトの作成など、社内サーバで対応が必要だった管理業務から解放されます。サイクロンに移行した後、Trac に環境を戻したい場合もサポートしています。(ユーザデータのバックアップ機能をご確認ください。)

Trac/Traclightning のデータを移行する方法

それでは、実際にデータ移行する方法を解説します。
まずは利用環境の移行プロジェクトフォルダに移動し、zip アーカイブを作成する必要があります。

1. Trac 環境の確認

Trac プロジェクトのアーカイブファイルをアップロードするための準備を行います。
SQLiteデータベースを使用している場合は、プロジェクトフォルダを zip コマンドや tar コマンドで直接アーカイブし、そのファイルをアップロードします。Windowsをご利用の場合、「2. Windows環境の場合」を参照してください。

$ zip -r FILE.zip /PATH/TO/TRACENV

SQLite 以外のデータベースを使用している場合は、TracMigratePluginを使って SQLite データベースに変換してください。

$ easy_install -ZU http://trac-hacks.org/svn/tracmigrateplugin/0.12
$ trac-admin /PATH/TO/TRACENV config set components "tracmigrate.*" enabled
$ trac-admin /PATH/TO/TRACENV migrate /tmp/tracenv-export sqlite:db/trac.db
$ zip -r FILE.zip /tmp/tracenv-export

2. Windows環境の場合(Trac/TracLightning)

Windows 環境の場合、エクスプローラーからプロジェクトフォルダを「zip」ファイルに圧縮します。(例:
TracLightning)

2-1. Windows エクスプローラーからプロジェクトフォルダに移動

C:\TracLight\projects\trac

2-2. 移行対象のプロジェクトを右クリック、zip 圧縮します

2-3. 移行準備は完了です。

作成した zip アーカイブファイルを準備できました。

3. Linux環境の場合

Linux 環境の場合、コンソールから Trac プロジェクトフォルダに移動します。

cd /var/www/trac

または

cd /var/share/trac/projects/

などのTracをインストールしたフォルダに移動。
次に、Trac の移行対象プロジェクトを zip コマンドや tar コマンドで直接アーカイブします。(Linux(CentOS 5.4)にTracをインストールする)

$ zip -r FILE.zip /PATH/TO/TRACENV

4. 次に移行先:ciklone プロジェクトを作成します

プロジェクト管理権限を持つユーザでログイン後、グローバルメニュー「プロジェクト」をクリックして「プロジェクト作成」を押下します。

「ファイルからインポートする」を選択し、アーカイブしたTracデータをアップロードします。
最後に、「作成」をクリックするとサイクロンのプロジェクトを作成しあなたのTracデータを移行します。

エラーが発生した場合、画面上に詳細なエラー情報が表示されますのでご確認ください。

5. 移行されたプロジェクトを確認します。

移行後のプロジェクトをブラウザで閲覧します。
画像は、TracLightningのサンプルプロジェクトを移行した例です。

5. さいごに

Trac のデータ移行機能は多くの場合正常に動作することを確認していますが、利用している環境・プラグインなどにより正常に移行できない場合があるかもしれません。その場合、問題点の報告をお願いします。お客様のフィードバックによりさらによいサービスにしていきます。

外部リポジトリをサイクロンに移行(Git / Subversion / Mercurial)

サイクロンに新しい機能がリリースされました。Git / Mercurial / Subversion リポジトリをサイクロンに簡単に移行できるようになりました。
これまで、

をご紹介していましたが、外部リポジトリをサイクロンに移行する機能が新規追加されました。これで1.11-RELEASEにおいてリリースされたバックアップと合わせ、ユーザにとって便利な機能が追加されました。

リポジトリのインポート機能とは

  • ローカルで管理しているリポジトリをサイクロンへ移行
  • インターネットサイトにあるリポジトリをサイクロンへ移行
    • 認証情報によるアクセスも可能
  • ダンプファイルからサイクロンのリポジトリへ移行

ができるようになりました。

この機能により従来は当社にてサポートしていたリポジトリの手動インポートサービスを使う必要がありません。
サイクロンのアカウントをお持ちのユーザはどなたでも利用する事ができます。

移行の方法

サイクロンのアカウントを作成後、管理アカウントでログインします。プロジェクトタブを開いて「リポジトリを追加」をクリックします。

1. リポジトリの作成ダイアログ

リポジトリの作成ダイアログが表示されます。基本は移行元と同じバージョン管理システムを選択してください。Git -> Subversion、Mercurial -> Git など異なるバージョン管理システムの移行を行う場合は事前にリポジトリの変換を行う必要があります。

2. インポート方法の選択

外部リポジトリからサイクロンのリポジトリにインポートする方法は3つあります。

  1. 新規で作成する
  2. URLからインポート
  3. ファイルからインポートする

新規で作成する

新規リポジトリを作成します。

URLからインポートする

他のリポジトリサービスや公開リポジトリからURLを指定してインポートします。移行元のリポジトリへのアクセス方法を設定する必要があります。

ファイルからインポートする
ローカルサーバなど非公開のリポジトリデータをインポートすることができます。
ダンプファイルを作成しサイクロンにアップロードします。

3. ダンプファイルの作成方法

リポジトリのインポート方法でファイルからインポートを選択した場合、事前に移行元リポジトリのダンプファイルを用意する必要があります。

リポジトリのダンプファイルは「gzip、bzip2、zip」で圧縮してください。

Gitの場合

  git --git-dir=/PATH/TO/REPOS fast-expot --all | gzip > gitdump.gz

Mercurialの場合

  hg --repository /PATH/TO/REPOS bundle --all hg.bundle

Subversionの場合

svnadmin dump /PATH/TO/REPOS | gzip >svndump.gz

4. さいごに

インポートに必要な情報を入力後、「作成」を押下してください。
これで他のリポジトリデータをサイクロンのリポジトリに移行することができます。

Git のリポジトリを履歴保持したまま ciklone に移行する方法

 

Suvbersion / Git / Mercurial のリポジトリを tracpath にインポートする機能がリリースされております。外部リポジトリをサイクロンに移行(Git / Subversion / Mercurial) をご確認ください。
以下のエントリーは古い情報となります。


Subversion のリポジトリを履歴保持したまま ciklone に移行する方法の Git 編です。
Git/Mercurialのリポジトリ移行はユーザの操作で可能です。

GIt の移行

はじめに

Gitは分散バージョン管理システムのためリポジトリが変更履歴を保持しています。Gitリポジトリを別サーバから移行する方法を説明します。

注意すべき点は、サイクロンのGitはチケット管理システムのコミットフック(commit-fook)が設定されているため事前にコミットフックの設定を変更する必要があります。

コミットフックを変更しない場合、インポートに時間がかかる場合があります。

手順

  1. サイクロンで新規リポジトリを作成
  2. サイクロンのコミットフック設定を無効にする
  3. Gitコマンド
  4. 移行されたデータの確認
  5. サイクロンのコミットフック設定を有効にする

1. サイクロンのプロジェクトにリポジトリを新規作成

サイクロンのプロジェクトに新規Gitリポジトリを作成します。

  1. リポジトリの追加をクリック
  2. リポジトリ名を「projectA」入力
  3. 「作成」をクリック

2. サイクロンのコミットフック設定を変更

サイクロンにログインし、管理画面のサイドナビゲーション[trac.ini] -> ticketをクリックします。
チケットの動作設定に関する設定画面が表示されます。

  • 項目名:commit_ticket_update_ignore_repositories
  • 変更時にチケットを更新させないリポジトリの名前を設定します。

テキストボックスに1)で新規作成したGitリポジトリ名を入力します。
複数入力する場合は「,(カンマ)」で区切ってください。

3. Git コマンドで移行

新規作成したサイクロン上のGitリポジトリにローカルにあるGitリポジトリを移行します。
サンプルとして Ruby の Git ライブラリである Grit をクローンして自分のサイクロンリポジトリに移行します。

リポジトリを取得します。

> git clone git://github.com/schacon/grit.git mygrit

Cloning into 'mygrit'...
remote: Counting objects: 4051, done.
remote: Compressing objects: 100% (2261/2261), done.
remote: Total 4051 (delta 1810), reused 3911 (delta 1733)
Receiving objects: 100% (4051/4051), 1.84 MiB | 636 KiB/s, done.
Resolving deltas: 100% (1810/1810), done.

取得したリポジトリのクローン元情報を削除します。

> git remote
> git remote rm origin
> cd mygrit   ... ここは利用環境によって異なります。

サイクロンにリポジトリを移行します。

> git push --all origin

Username for 'https://.ciklone.com': user-name
Password for 'https://@.ciklone.com':
Counting objects: 4021, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2179/2179), done.
Writing objects: 100% (4021/4021), 1.84 MiB | 3.11 MiB/s, done.
Total 4021 (delta 1793), reused 4011 (delta 1786)
To https://.ciklone.com/git/

他サイト(サーバ)のリポジトリをサイクロンに移行することができました。

4. リポジトリの確認

ブラウザでサイクロンにアクセスし、リポジトリを確認します。

5. コミットフックの設定を戻す

1) コミットフックの設定を無効から有効にします。

コミットフックの除外リポジトリとして登録したリポジトリ名を削除して、「変更を適用」をクリックします。

以上で他サイト・他サーバで管理している Git リポジトリを簡単にサイクロンに移行することができます。

ぜひ、お試しください。

Subversionのリポジトリを履歴保持したままcikloneに移行する方法

Suvbersion / Git / Mercurial のリポジトリを tracpath にインポートする機能がリリースされております。外部リポジトリをサイクロンに移行(Git / Subversion / Mercurial) をご確認ください。
以下のエントリーは古い情報となります。


こんにちは。

サイクロンをご利用されている皆様よりよくあるお問い合わせ内容について、これまで社内開発で利用しているリポジトリをサイクロンのリポジトリに移行したい。というお問い合わせがあります。

リポジトリには、コミットログ、ソースコードの差分、コミットしたユーザなど多くの情報が記録されており、プロジェクトの大切な資産の1つです。開発環境が変わったり、クラウドサービスを利用し始めたり、ソフトウェア開発のインフラはセキュリティが担保された上で、より便利で効率的な方法に移行することがあります。

このとき、これまで開発で利用していたリポジトリを新しい環境に移行して、開発を継続するための方法をバージョン管理システム Subversion,git,mercurialに合わせて手順を説明します。

現バージョンのサイクロンではユーザがSubversionの移行をするためには、データを当社に送付して頂く必要があります。今後のバージョンアップでユーザによるデータ移行が可能になります。ご期待ください。

Subversion の移行

はじめに

Subversionリポジトリをサイクロンに移行します。リポジトリの履歴を含めたデータの移行方法について説明します。履歴を含めない場合、エクスポート・インポートコマンドによりリポジトリの移動が可能です。

Subversionの場合、ユーザのみで移行するための機能が実装されていないため以下の手順となります。

  1. (ユーザ)のリポジトリからダンプファイルを生成
  2. ダンプファイルを当社に送付(セキュアなファイル受け渡し)
  3. ダンプファイル受領後、約1営業日内にユーザ領域にインポート
  4. あなたのアカウントでサイクロンにログインし、リポジトリを確認

1. リポジトリからダンプファイルを生成

サイクロンに移行したいリポジトリを svnadmin コマンドを使ってダンプします。

svnadmin dump  >
svnadmin dump /var/svn/project-1 > project-1.dmp

複数リポジトリがある場合、各リポジトリ毎にダンプファイルを作成してください。
ユーザの環境はWindows/Linuxどちらの環境でも問題ありません。OSに関係なく移行することができます。

2. ダンプファイルを当社に送付

ダンプファイルを当社に送付頂きます。送付前に当社にご連絡ください。
セキュアなファイル送付方法を提示いたします。

当社に送付頂くデータの扱い

にて説明しています。ご希望があればNDA(秘密保持契約)も可能です。お問い合わせください。

3. ダンプファイルのインポート

ユーザから送付されたダンプファイルを受領後、利用者のアカウントにインポートします。
これは約1営業日内の作業時間が必要となります。ご了承ください。

4. 通知とご確認

インポートが正常に完了後、ユーザに通知いたします。通知を受けましたら利用者のアカウントでサイクロンにログインしてください。
正常に移行されているか確認をお願いします。

さいごに、サイクロンのリポジトリURLからチェックアウトを行います。正常にチェックアウトされれば移行作業は完了となります。

Trac 1.0 リリースノート (日本語訳)

時間がたってしまいましたが、2012-09-10 に Trac 1.0 がリリースされました。またしても2年ぶりのリリースです。ダウンロードは http://trac.edgewall.org/wiki/TracDownload からできます。

ここにリリースノートの日本語訳とサマリを載せておきます。

ちなみに、次回リリース 1.0.1, 1.1.1 ともにスケジュールは 2012-12-09 (3ヶ月後) になっています。

リリースノートのサマリ

  • Wiki
    • #7124 TitleIndex マクロに exclude と include 引数を追加。
    • #9220 Wiki ページの削除時にページの情報 (履歴の数や最終更新など) を表示するように。
    • #10120 RecentChanges マクロに単純なリストを表示する group=none を追加。(デフォルトは group=date で 1.0 以前の挙動で日付でグループ化される)
    • #10592 インラインコードのスタイルに灰色の背景色を付けるように。
  • 添付
    • #7078 Wiki やチケットにある添付ファイルを zip 形式で一度にダウンロードできるように。
    • #10313 長いファイル名を持つ添付ファイルでも保存できるように、ファイル名を SHA-1 ハッシュ化して保存。(trac-admin upgrade が必要)
    • #10743 添付ファイル数を見出しに表示するように。「添付ファイル (3)」のような形式。
  • チケット
    • #525 チケットの一括更新機能を追加 (batchmodifyplugin より)
    • #7145 チケット更新が衝突したときの処理を改善。追加されたコメントや衝突内容がインタラクティブに表示されるようになる。
    • #7934 チケットコメントを新しいコメントまたは古いコメントから表示できるように。またコメントのみを表示できるように。
    • #9354 ticket clone を tracopt コンポーネントとして追加。
    • #9989 チケットコメントをスレッド表示できるように。
    • #10270 チケットのワークフローを [[Workflow()]] マクロで視覚化して表示できるように。
  • 日時
    • #9581 管理の基本設定ページでデフォルトのタイムゾーンと言語を設定できるように。
    • #9777 個人設定で日時表示を相対表示または絶対表示の選択をできるように。[trac] default_dateinfo_format でデフォルトを設定。pretty_dateinfo 関数で変換。
    • #10245 jQuery UI を同梱。マイルストーンの期日や完了日を date/time picker で選択できるように。
    • #10756 管理ページとタイムラインの日付入力で date picker を使えるように。
  • i18n/l10n
    • #2182 日時の入力書式・表示書式の i18n 対応。
    • #9666 trac.ini オプションの説明を翻訳できるように。(tracini.po カタログに分離)
    • #10038 言語設定に応じて翻訳されたマクロの説明を表示するように。
  • バージョン管理
    • #1492 更新履歴 (revisionlog) ページにリビジョングラフが表示されるように。
    • #9824 ソースブラウザに比較を行うリビジョンを入力できる項目を追加。
    • #10594 Git をビルトインでサポート。
    • #10712 Subversion 用のコードを tracopt に移動。(trac.ini での設定変更は trac-admin upgrade で行われる)
  • 管理
    • #8954 trac-admin hotcopy コマンドで SQLite 以外でもデータベースのエクスポートを行うように。
    • #9366 管理にある権限ページで、権限とグループを個々にテーブルを用意して表示するように。(元は一つのテーブルで一緒に表示していた)

Trac 1.0 リリースノート全項目

  • admin/console
    • #8954 trac-admin hotcopy コマンドで SQLite 以外でもデータベースのエクスポートを行うように。
    • #9336 trac-admin に permission export と permission import コマンドが追加。権限設定のエクスポートとインポートができるように。
  • admin/web
    • #540 認証済みの場合には個々の RSS への URL は /login?referer=${url} を使うように。
    • #8866 管理ページにある追加用のフォームを float:right で配置するのをやめてブロックで配置するようになった
    • #9366 管理にある権限ページで、権限とグループを個々にテーブルを用意して表示するように。(元は一つのテーブルで一緒に表示していた)
    • #10752 管理にある権限ページで、利用できなくなっている権限を灰色で表示。
  • attachment
    • #7078 Wiki やチケットにある添付ファイルを zip 形式で一度にダウンロードできるように。
    • #7894 添付ファイルを X-Sendfile ヘッダでファイルシステムから直接送信できるように。
    • #10313 長いファイル名を持つ添付ファイルでも保存できるように、ファイル名を SHA-1 ハッシュ化して保存するように。(trac-admin upgrade が必要)
    • #10353 validate_attachment でのエラーメッセージの表示を改善。
    • #10743 添付ファイル数を見出しに表示するように。「添付ファイル (3)」のような形式。
  • database backend
    • #5120 mysql のときにのデータベース文字列に追加でパラメータを渡せるように。
    • #6348 データベース系の例外をデータベースに応じた例外クラスで補足できるように。
    • #9842 IDatabaseConnector.init_db() で schema 引数に初期スキーマを指定できるように。
    • #9949 MySQL への接続に TLS/SSL を使えるように。
    • #10451 trac-admin upgrade 処理でコンポーネントごとにデータベース接続を用意することでロバストになるように。
  • general
    • #2375 権限がないときのエラーメッセージを改善
    • #8036 既存のメタ権限を拡張できるように。
    • #8695 make apidoc で API ドキュメントを作成できるように。
    • #9351 TracIni ページでデフォルト値を表示するように。
    • #9418 コンポーネントの初期化方法を変更し、初期化途中のインスタンスが見えないように。
    • #9453 セッションに変更があれば、レスポンスの送信時には必ずセッションを保存するように。(send_error は除く)
    • #9462 [inherit] htdocs_dir で共有する htdocs ディレクトリを指定できるように。
    • #9536 Python 2.4 互換コードを削除。
    • #9581 管理の基本設定ページでデフォルトのタイムゾーンと言語を設定できるように。
    • #9777 個人設定で日時表示を相対表示または絶対表示の選択をできるように。[trac] default_dateinfo_format でデフォルトを設定。pretty_dateinfo 関数で変換。
    • #9836 TracIni ページでセクションの説明を表示できるように。説明は ConfigSection で定義。
    • #9870 @cached プロパティの挙動とドキュメントを改善。
    • #10165 jQuery 1.7.2 に変更。
    • #10244 jQuery を CDN からロードできるように。
    • #10245 jQuery UI を同梱。マイルストーンの期日や完了日を date/time picker で選択できるように。
    • #10284 URL のハッシュ部分を #/word (または #?word) にすると word の部分の文字列でページ内を検索するように。
    • #10435 cgi-bin ディレクトリを contrib/cgi-bin ディレクトリに移動。
    • #10453 セッションクッキーに HttpOnly を指定できるように。
    • #10644 iso8601 形式の時刻にミリ秒以下を指定できるように。
    • #10683 AuthzPolicy で Unicode 文字を使えるように。
    • #10756 管理ページとタイムラインの日付入力で date picker を使えるように。
    • #10762 jQuery UI 1.8.21 に。
    • #10771 to_json() でシングルクォートを正しく処理するように。
  • i18n
    • #9354 ticket clone を tracopt コンポーネントとして追加。
    • #9666 trac.ini オプションの説明を翻訳できるように。(tracini.po カタログに分離)
    • #10038 言語設定に応じて翻訳されたマクロの説明を表示するように。
    • #10505 日付パースをロバストに。
    • #10717 babel.js にある API を改善。gettext, _, ngettext から直接書式化パラメータを渡せるように。
    • #10749 babel.js で domain を正しく扱えるように。
  • notification
    • #8356 Email address in user preferences is not honored when user name contains an “@”)”]個人設定の氏名に @ 文字を含んでいてもメールアドレスの値を使うように。
    • #8360 メール通知の From ヘッダに更新者の名前を使う設定ができるように。
  • plugin/git
    • #10594 Git をビルトインでサポート。
    • #10607 git サブプロセスを適切に終了するように。
    • #10676 git コミット中にある mergetag フィールドをサポート。
    • #10688 git サブプロセスとの通信をロバストに行うように。
    • #10819 正しくない git パスをを指定した場合にエラーを適切に報告するように。
  • query system
    • #10533 コードブロック中のテキストが印刷時に切り抜かれないように。
  • roadmap
    • #2182 日時の入力書式・表示書式の i18n 対応。
    • #9820 マイルストーンページで「前の~」「ロードマップに戻る」「次の~」のリンクをつけるように。
  • ticket system
    • #525 チケットの一括更新機能を追加 (batchmodifyplugin より)
    • #7145 チケット更新が衝突したときの処理を改善。追加されたコメントや衝突内容がインタラクティブに表示されるようになる。
    • #7197 チケットのプレビューにチケットの番号、ステータス、種別が入るように。
    • #7934 チケットコメントを新しいコメントまたは古いコメントから表示できるように。またコメントのみを表示できるように。
    • #9989 チケットコメントをスレッド表示できるように。
    • #10270 チケットのワークフローを [[Workflow()]] マクロで視覚化して表示できるように。
    • #10398 チケットの新規作成時には、最初の変更を行ってからプレビューを実行するように。
    • #10643 カスタムフィールドでテキストの場合に、reference と list のフォーマットをサポート。チケットページでフィールド値に対して自動的にクエリリンクを作るときにこのフォーマットの値が利用される。
    • #10821 チケットタイトルにあるステータス、種別、解決方法の項目に対して自動的にクエリリンクを作るように。
  • timeline
    • #10652 タイムラインで折りたたんでいるチェンジセットが重複した変更ファイル名を表示しないように。
    • #10713 長いチケットのIDリストが折り返されるように。(チケットの一括更新時のイベントなど)
  • version control
    • #1492 更新履歴 (revisionlog) ページにリビジョングラフが表示されるように。
    • #9607 タイムラインでチェンジセットに対するタグ(ブランチ)を表示するように。
    • #10712 Subversion 用のコードを tracopt に移動。(trac.ini での設定変更は trac-admin upgrade で行われる)
  • version control/browser
    • #7228 リポジトリブラウザでファイルやフォルダにダウンロードリンクが付くように。
    • #9824 ソースブラウザに比較を行うリビジョンを入力できる項目を追加。
  • version control/log view
    • #9869 更新履歴 (wiki:TracRevisionLog) とリポジトリブラウザ (wiki:TracBrowser) で現在のブランチ名を表示するように。
  • web frontend
    • #10012 デフォルトテーマを CSS3 で更新。
  • web frontend/tracd
    • #7958 tracd に実行ユーザ/グループを指定するオプションを追加。
    • #9371 tracd の Basic 認証に SHA1 パスワードのサポートを追加。
    • #9599 tracd が socket をリッスンに失敗した時のエラーを報告するように。
  • wiki system
    • #7124 TitleIndex マクロに exclude と include 引数を追加。
    • #9220 “are you sure you want to delete this page?” question needs more details)”] Wiki ページの削除時にページの情報 (履歴の数や最終更新など) を表示するように。
    • #9406 Wiki プロセッサー #!rtl を追加。RTL テキストブロックになる。
    • #9619 並べて編集機能をエディタ側ないしプレビュー側をスクロールできるように改善。
    • #9986 PageOutline マクロに箇条書きではなくリストを出力できるように。(inline スタイルの場合)
    • #10099 Wiki ページで以前のバージョンのものに簡単に戻せるようなボタンを追加。
    • #10120 RecentChanges マクロに単純なリストを表示する group=none を追加。(デフォルトは group=date で 1.0 以前の挙動で日付でグループ化される)
    • #10592 インラインコードのスタイルに灰色の背景色を付けるように。
    • #10668 Image マクロに ZWSP (U+200B) 文字に対してロバストになるように。(Trac のページからコピーしたときに入る)

2012/08/20 Version 1.11 セキュリティ強化 & 新機能リリースのお知らせ

20120820_1

いつもtracpathをご利用頂き誠にありがとうございます。
本日、tracpathの新バージョンをリリースいたしました。
セキュリティ強化機能、新機能追加、バグフィックスを実施しております。

ご要望やバグ報告を頂きました皆様、まことにありがとうございます。
これからもどうぞよろしくお願いいたします。
今後もさらなる改善をおこなってまいります。
ご要望やご質問はこちらまでご連絡ください。

[ciklone]1.11 RELEASE – リリースノート –

Git/ Subversion / Mercurial

Git/ Subversion / Mercurial

ciklone version 1.11 リリースをお知らせします。

本日、ciklone のリリースを実施しました。

ご利用のお客様は新しい機能を利用する事が出来ます。ぜひご利用下さい。

バージョンアップのご紹介

  • アカウントのロックアウト機能(セキュリティ施策)
  • ユーザアカウントによるバックアップが利用可能
    • 利用者より要望を多く頂いていた、ユーザによるデータのバックアップ機能が利用できます
    • これは、従来からサイクロンが実施しているシステムと利用者データのバックアップとは異なります。
  • コミットフックの高速化
  • Subversion リポジトリのコミットログを変更可能(ただし、更新者のみ)
  • ヘッダーのナビゲーションにヘルプリンクを追加
  • バグフィックス
  • フリープランでリポジトリ種類に「WebDAV」が利用可能

 

ご要望やバグ報告を頂きました皆様、まことにありがとうございます。
これからもどうぞよろしくお願いいたします。

今後もさらなる改善をおこなってまいります。
ご要望やご質問はこちらまでご連絡ください。

 

ユーザデータのバックアップ機能

プロジェクトとリポジトリのバックアップ機能

こんにちは、今回新機能の紹介を発表することができとても感謝しています。(サイクロンのユーザバックアップ(1.11 イテレーション計画)
サイクロンにユーザによるデータのバックアップ機能が実装されました。
これまで利用者様から多くの要望の声を頂き、先日リリースしました。

このユーザによるバックアップは、

  • チケット、Wiki、添付ファイル等のプロジェクト情報をバックアップ
  • リポジトリ(Git/Mercurial/Subversion)のバックアップ

が可能です。

従来から当社が行っていたシステム保全とデータ保全のためのバックアップではなく、ユーザによるプロジェクト毎のデータバックアップサービスとなります。当社のサイクロンに対するセキュリティ管理と施策はこちらをご覧ください。

バックアップはプロジェクトの管理者のみ実行することができます。

プロジェクト一覧画面からプロジェクト毎にバックアップすることができます。

プロジェクトのバックアップ

プロジェクトのバックアップ

 

プロジェクト情報(Wiki,ticket,File,Milestone)のバックアップ

  •  プロジェクト情報を全てバックアップ。ただし、リポジトリは含まれない。
  •  SQLlite形式でエクスポート(バックアップ)
  •  Zip形式で圧縮した上で、ユーザ領域にファイル暗号化
  •  ダウンロード時に暗号ファイルは復号
  •  プロジェクトのバックアップは1日に1回

プロジェクトのバックアップは「アクション」にある矢印アイコンをクリックします。データ量によっては時間がかかる場合があります。(100MBほどのデータで2,3分)

処理をしている間は「処理中」を表示するアイコンが表示されます。バックアップの完了した段階でダウンロードアイコンが表示されますので、ダウンロードを実施してください。

プロジェクトのバックアップ中

プロジェクトのバックアップデータ済み、ダウンロード

 

 

 

 

 

 

リポジトリのバックアップ

リポジトリのバックアップはGit/Subversion/Mercurialによって異なります。バージョン管理システムのリポジトリバックアップはログやコミット情報全てを含んでいるためサイズの大きいデータになる可能性があります。ご注意ください。

 

Gitのリポジトリをエクスポートする場合

Gitリポジトリのバックアップは、クライアントツールを使ってクローンを作成するという方法を利用します。
クローンの元になるGitリポジトリはアカウントで利用しているリポジトリURLを指定してください。

> git clone --mirror https://omae-178.example.com/git/synctest

以下のコードを定期的に実行すると、リポジトリの同期が可能です。

> git remote update

 

Subversionのリポジトリをエクスポートする場合

Subversionリポジトリのバックアップは、Subversionのバックアップツールである「svnsync」を使います。

  1. svnsync 用のファイルを Zip アーカイブでダウンロード
  2. ローカルマシンにダウンロードしたアーカイブを展開します
  3. 以下のコードを定期的に実行して、リポジトリとの同期を行います

 

> svnsync sync file:///C:/path/to/extracted/directory/

 

Mercurialのリポジトリをエクスポートする場合

Mercurialリポジトリのバックアップは、クライアントツールを使ってクローンを作成という方法を利用します。クローンの元になるMercurialリポジトリはアカウントで利用しているリポジトリURLを指定してください。

> hg clone --noupdate https://test.example.com/hg/repo-hg

以下のコードを定期的に実行すると、リポジトリの同期が可能です。

> hg pull

 

WebDAVの場合

WebDAVはローカルコンピュータにファイルをコピーするだけです。

 

サイクロンにユーザが取得したバックアップデータをインポートする方法は今後の提供を予定しています。
今後もさらなる改善をおこなってまいります。
ご要望やご質問はこちらまでご連絡ください。

 

アカウントのロックアウト

サイクロンはエンタープライズ利用を想定し、様々なセキュリティ対策とセキュリティ管理方針の上で運営されています。
今回は、1.11-RELEASE で新たに追加される機能「アカウントのロックアウト」について解説します。

サイクロンのアカウント管理には「アカウントロック」機能がありますが、ロックは管理者によって設定される恒久的なロック(アカウントの利用不可)であり、ロックアウトとは異なることに注意してください。

 

ロックアウトのポリシー

  •  不正な操作、異常な操作(主にパスワードの試行)が行われたアカウントは、一時的にアクセスを遮断します。
  •  遮断された状態を「ロックアウト」といい、ロックされたアカウントは一定時間アクセスすることができません。
  •  ロックアウトされる理由として、期間内に間違ったパスワードを指定し複数回入力された場合にアカウントを無効にする機能です。
  •  意図せずロックアウトされた場合、管理者アカウントにより解除することができます。
  •  管理者アカウントの解除以外に、一定時間が経過した場合にもロックアウトは自動的に解除されます。
  •  サイト所有者アカウント(特別な管理アカウント)もロックアウトされます。
  •  すでにログイン済みのセッションに対して、ロックアウトは影響しません。

ロックアウトされる条件

サイクロンでは以下の条件でログインをロックアウトします。

  •  あるアカウントで、7回以上ログインに失敗した場合、そのアカウントのログインを禁止します。
  •  試行回数がリセットするためには、ログインに成功、またはロックアウト解除によりリセットすることができます。

ロックアウトの解除

アカウントがロックアウトされると、ロックアウトされたアカウントは一定時間(ロックアウト後から30分間)アクセスすることができません。ロックアウトの解除は2つあります。

  •  ロックされてから30分経過後、ロックアウトは自動的に解除されます。
  •  管理者アカウントでユーザ管理画面からロックされているアカウントを選択し、ロックアウトの解除を実施します。