CloudGarageを使ってお手軽にRedmineのModern UX化プロジェクト「Project Opal」を試してみる

f:id:yassan0627:20181209115833p:plain

adventar.org adventar.org

この記事は
 #CloudGarage Advent Calendar 2018 - Adventar の 9日目 及び
 Redmine Advent Calendar 2018 の 10日目
の記事です!

Redmine大阪 という、Redmine勉強会でコアスタッフをしている やっさん🍶(@yassan168) です。
また、NHNテコラス株式会社が提供する定額型パブリッククラウド CloudGarage で、 開発者支援プログラム(Dev Assist Program) を受けています。

DAPは、無償で、メモリ:1GB / CPU:1コア / SSD:50GBのインスタンスを3個利用出来るありがたい制度になっています。
一見、ちょっと足りないかなぁと思いますが、DiskがSSDでDiskアクセスも速く、ネットワークもとても速くパッケージのupdateもあっという間なので十分に使えます(とは言え、K8sなどは厳しいですが。。)
なので、簡単な検証や小規模なサイトならこれで十分まかなえるのでとてもありがたいです。

前置きはこの辺にして、CloudGarageを使って、RedmineのUXをModern化しようとするProjectである「Project Opal」をお試ししてみます。

github.com

実行環境

Opalのテーマの用意

現状、そのままでは利用できません。 テーマをcloneして、CSSを生成する必要があります。

色やフォントの設定元となる stylesheets/global/#config-map.sass を必要に応じて変更後、 stylesheets/application.sass からCSSを生成する必要があります。 SASS→CSSの生成は、 説明にあった通り、 Koala を使いました。

KoalaをDLってGUIを起動後、cloneしたproject-opalのディレクトリをKoalaへD&DすればOK。 その後、 stylesheets/application.sass を選択して、コンパイルすると、CSSが生成されます。

f:id:yassan0627:20181209181926g:plain

また、Koalaを利用するとディレクトリのトップに koala-config.json を生成するので、 下図のように、 dest にパスを指定するとそこに生成したCSSを生成します。

f:id:yassan0627:20181209181815p:plain

そこに、 faviconfontsimages をコピーし、そのフォルダごと、 Redmineのthemeディレクトリに配置すればOK。

Project Opal について

@m4xiJo さんが立ち上げ、有志で構成される Redmineの外観のモダン化を目的としたプロジェクトで、フロントエンドの機能を用いて拡張しやすく、FlatでCleanな外観にする事をゴールにしています。 主に、 Discordの Redmineサーバ で議論されています。
今回、このProjectに参加することになったので紹介します(とは言え、フロントエンドはからっきしなのですが)。

まだまだなところはありますが、これからどんどんブラッシュアップしていくと思います!
また、参加してくれる人を募集しているので、 Discordの Redmineサーバ までよろしくお願いします。

特徴

  1. トップバーの固定に変更
  2. ナビゲーションタブをSticky Navigationに変更 → How To Create a Sticky Navbar
  3. 検索バーをSticky Navbarの用に張り付きするよう変更
  4. SideBarをSticky Navbarの用に張り付きするよう変更
  5. Day mode と Night modeの切り替えボタンの導入
  6. 外部リンクの通知
  7. 外部リンクを開く場合に、警告のポップアップを出す
  8. 絵文字のサポートと(試験的に)クイックサーチを追加
  9. トップバーにクイック検索を配置

上記を踏まえて、詳細を以下に挙げていきます。

twitterなどにもありますが、見たほうが早いです。

Project Opalのテーマの場合、スクロールするとトップバーとナビゲーションタブ、サイドバーが消えずに残っている事が分かります。
これは、チケット一覧だけで無くすべてのUIで同様の動きします。

なので、チケットをスクロールさせた後に、簡単に機能の切り替えが可能なのでとても便利です。
また、トップバー下にあったクイックサーチがトップバーに移管しているので、どれだけチケットスクロールしてもすぐに検索が可能です。

現行のテーマ

f:id:yassan0627:20181209170250g:plain

Project Opal

f:id:yassan0627:20181209170138g:plain

外部リンクへの移動

下のスクリーンキャストから分かるように、外部リンクを踏むと警告のポップアップが出ます。 ただし、現状、jsに直書きになってるので、i18n対応が出来ていません。

f:id:yassan0627:20181209172612g:plain

サイドバーの表示切り替え

Hide Sidebar - Plugins - Redmine で実装しているこの機能が、テーマ側で実現しています。

f:id:yassan0627:20181209173828g:plain

絵文字の導入

こちらは、まだまだ、未完成な点が多いですが、チケットの作成などのタイミングで、Emojiに対応しようとしているようです。

f:id:yassan0627:20181209175950p:plain

最後に

まだまだ、荒削りですが機能としては、今まで欲しかったStickyなUIはとても便利に感じました。 これからが楽しみです。

また、今回試した環境は、 yassan/docker-project-opal に置いているので、実際に試したい方はどうぞ。

今年飲んで印象に残っている日本酒を挙げていく〜2018年編〜

f:id:yassan0627:20181201155643j:plain
2018年に飲んだ酒一覧

日本酒 Advent Calendar 2018 - Adventar の10本目(10日目)の記事です。

nowinowi822さん に続き、出来るなら酔わずに美味しい日本酒だけを無限に飲みたい id:yassan0627 でお送りします。

上の画像は、今年飲んだ日本酒の一部です。 今年もやっぱり振り返りたくなる。

今年の3月までは単身赴任中でお酒のシーズンになると「日本の美味しい井戸水を頂く会」を同僚数人でやっていたのは良い思い出。

去年は42種類でしたが、体重の増加が著しいので制限掛けた結果、30種類程まで減ってます。 とはいえ、撮っていない酒やリピートした酒は除外しているのでこれよりはもっとあるので酒量が減ってるかは謎。

それでは挙げていきます。

陸奥八仙 新春祝酒 純米吟醸@八戸酒造

f:id:yassan0627:20181201170309p:plain
陸奥八仙新春祝酒純米吟醸

まずは、 陸奥八仙 新春祝酒 純米吟醸 から。

今年、1番に飲んだお祝い用に買ったお酒。 陸奥八仙らしいお酒なんだけど、適度な甘さの中に良いキレがあってあっという間になくなった。とても美味しい。

不動 一度火入れ 無炭素濾過 雄町 純米吟醸@鍋店

f:id:yassan0627:20181201170608p:plain
不動 一度火入れ 無炭素濾過 雄町 純米吟醸

続いて 不動 一度火入れ 無炭素濾過 雄町 純米吟醸

備前雄町という有名な酒米で造ったお酒。 ちゃんとパンチもあるけど、香りもよく、とても美味しい。

道灌 吟吹雪 特別純米生原酒 無ろ過直汲み@太田酒造

f:id:yassan0627:20181201170810p:plain
道灌 吟吹雪 特別純米生原酒 無ろ過直汲み

次は 道灌 吟吹雪 特別純米生原酒 無ろ過直汲み

地元の酒米 吟吹雪 で造ったお酒。 吟醸香がとても良い。味もとてもよくお米の味もちゃんとあってとにかく美味い。

遊穂 花さかゆうほ 純米吟醸 生原酒うすにごり@御祖酒造(みおや)

f:id:yassan0627:20181201170933p:plain
遊穂 花さかゆうほ 純米吟醸 生原酒うすにごり

次は 遊穂 花さかゆうほ 純米吟醸 生原酒うすにごり

春のお酒。うすにごり特有のシュワッと感がとても心地よいです。 甘すぎずフルーティーでとても美味しい。

純米にごり酒 さくらいろ@鮎正宗酒造

f:id:yassan0627:20181201171816p:plain
純米にごり酒 さくらいろ

最後は、ちょっと変わった 純米にごり酒 さくらいろ

桜色のにごり酒で張る限定の春のお酒。 赤色清酒酵母というピンク色の酵母で着色料を使ったわけではない。 甘口ではあるもののスッと消えるのでなかなか美味しい。辛口苦手な女性にはぴったりなお酒。

来年も美味しい酒を飲んで過ごしたいものです。 とは言え、まだだま、今年もいろいろ飲みますがw

以上、今年飲んで印象に残っている日本酒を挙げていく でした。

12本目は、 sapi_kawaharaさん です!

単身赴任が終了して京都に帰ることになりました

東京での単身赴任生活が3月終了し、4月から家族のいる京都にある事業部へ戻ることになりました。

ちょうど丸3年間でしたが、その間、自分だけの時間を沢山使えるチート状態で、その期間を自分の成長にひたすら注いで来ました。

右も左も分からない状態から、 吉祥寺.pm で外部の勉強会の楽しさを知って、色々、関連する勉強会やTech系カンファレンスに参加してきました。

やはり、東京は様々なTech系イベントがあり、キャッチアップしていくには非常に良い環境でした。

最初は、なんとかデータ基盤を立て直せないものかと情報収集の為に、データ分析についてなんにも知らない状態で dots. で行われた ビッグデータオールスターズ では、知らない単語だらけで単語だけメモってちょっとでも理解出来るよう必死に聴いていたのを思い出しました(-_-;)

大きなイベントでは、Developers SummitHadoop / Spark Conference Japan 2016PGConf.ASIA 2017 や は楽しかったし、デブサミで当たった de:code 2017とか、その他にも YAP(achimon)C::Asia Hachioji 2016mid など、どれもとても楽しかった。

勉強会は、データ分析やHadoopエコシステム関連だけでなく、PerlPython、Go、ScalaRDB、MongoDB、Docker、k8s、Rancher、Redmine、redash、Product Management(or Project Management)、Azure、GCP、など様々参加してきました。

色々なイベントで、様々な方と直接お話出来る機会もあり、そこから、新しいつながりが増えたりと本当に良い出会いに恵まれた3年間でした。
キャッチーな肩書な名刺も使えなくなるのでそこは勿体無いなぁと。あれは便利だった。

そのまま、東京に家族を呼んで住む事も考えましたが、家族としては妻の実家があり子ども達のサポートも可能だったり、生活のし易さから京都に戻る事を優先しました。

4月からは引き続き、データ分析に関わる仕事をやっていく事になります。

今後も、 Rancher JP では大阪を中心に活動して、ゆくゆくは京都でもやりたいなぁと考えていて、 Redmineは、 redmine.tokyo から、 Redmine大阪 の方でお手伝いして行こうかと考えています。

後、全然、動けていませんが、 吉祥寺.pm の様な雰囲気で、 kyoto.pmをやってみたいなぁと。
ただ、すでに、 kyotopm's blog / Kyoto Perl Mongers として存在していて、今は殆ど活動していないみたいですが、参加メンバの面々が豪華なので、どうにか再開出来ないかなぁと考えてますが、どうしたら良いものか🤔

今年は、4月から英会話始めてみたり、これまで以上に色々な事にチャレンジして行くので、引き続き、よろしくお願いします。

Kichijojipm-mini #012 でLTしてきました

kichijojipm.connpass.com

日が空いてしまいましたが、3/14 に Kichijojipm-mini #012 でLTしてきました。

吉祥寺.pm は、Perlのイベントではありますが、「吉祥寺.pm」は概念なので、割と何でもありのイベントです。 雰囲気が温かいので初心者でも快く受け入れてくれる懐の深い場所です。
つまり、*.pmとは、「PostgreSQLのP」でも良いし、「MetricsのM」でも、「ManagementのM」良いのです。 Perl以外にも、GoやScalaの話なんて事もあります。

なので、話のネタもバリエーションだけでなく、面白いものから興味深いものまで幅が広くとても楽しいイベントです。

kichijojipm.connpass.com ハッシュタグは、 #kichijojipm です。

「吉祥寺.pm」は、レギュラーイベントの「Kichijoji.pm #000」と今回参加した「Kichijojipm-mini #000」の2つあり、 miniの方はこじんまりと少数でワイワイやる感じです。

今回のテーマは「設計」で、私は、特殊なインフラ環境下での自分のETLやデータ分析で扱うスクリプトなどに関する設計に関する話をしました。

続きを読む

Redmineのシンタックスハイライトプラグインが出てた

f:id:yassan0627:20180206005940p:plain

Redmineのチケットやwikiで使えるシンタックスハイライトは、 CodeRay と言うライブラリを使用しているのだけど、対応フォーマットが少ない為、以下の通り、Rougeと言う別のライブラリへの移管を提案されていて、長いこと停滞状態にある。

www.redmine.org

そこで今年の1月に、プラグインでRougeの対応を行った人が現れたようです。

github.com

めちゃめちゃありがたいのだけど、コレって結局、公式の運営的にはどうなんだろうなぁと。 プラグインとしてではなく、公式に取り込まれてくれないかなぁと。

こういう要望の取り込みに対して、チケットや注記に「良いね」ボタン的なものがあると良いなぁと思う。 また、チケットでGitHubのPRみたいな流れとか作れると嬉しいのだけど、そうなっちゃうと「コレ、ナンテGitHub?」ってなっちゃうか。。。

だとしても、Redmineの開発にRedmineを使っている以上、Redmine使って開発が加速する仕組みは必要だと考えるけどどうなんだろうね。 そこで、その一環として、チケットを使った(使って無くてもいいけど)PRの様なマージの仕組みはアリなんじゃないかな。

Rougeの対応早く公式に入らないかなぁと思う今日此の頃。Perlbashが欲しいマンでした。

所でこの本、半額なってる。 買おうかな。

Redmine Plugin Extension and Development

Redmine Plugin Extension and Development

US配列キーボードとWindowsとUbuntuの共存。主に日本語入力。

f:id:yassan0627:20180203151325p:plain

Win+Spaceで日本語入力切り替えをWindowsUbuntuで統一する話。

動機

US配列キーボードが気に入って使っているのだけど、現状、WindowsUbuntuを行ったり来たりしてて一番困るのが日本語入力の切替え。

デフォルトだと、Windows側は、Alt+`で切替え、Ubuntu側は、Ctrl+Space とこの上なく面倒くさい。
Ctrl+Spaceで統一するのはよく見るのだけど、Ctrl+Spaceを切替えに使われてしまうと、vscodeなどの候補一覧出すのに支障が出てしまう。

からくり

入力ソースを2つ用意して、1つは日本語。もう一つは英語にして、切り替えているだけ。

pros & cons

pros

  • Windows側は、Alt+`で切替え、Ubuntu側は、Ctrl+Space とこの上なく面倒くさい問題の解決
  • Ctrl+Spaceで統一しないので、キーバインドがバッティングしてしまう vscodeなどのIntelliSenseを使う場合にも困らない

cons

  • Mozc(iBus)だと、OS起動時の1度だけ、日本語入力の際に、入力モードを「ひらがな」に設定しなければならない

環境

実施方法

Windows側の設定

コントロールパネルから「時計、言語、および地域」→「言語」を選択。
「言語の追加」を選び、「英語」→「英語(米国)」を選択して「追加」ボタン押下。

f:id:yassan0627:20180203152308p:plain

Ubuntu

「テキスト入力」の設定を開き、「入力ソースの選択」で「英語(US)」を選択

入力ソースの切替えの設定を「次のソースへ切替え」には「Win+Space」を入力して設定し、「前のソースへ切替え」には「Shift+Space」を入力して設定。

f:id:yassan0627:20180203154643p:plain

課題の解決

consで上げたとおり、起動後一回だけ、「ひらがな」に切り替えないといけないのだけど、この辺を参考にすると良いです。

sicklylife.hatenablog.com

Google Homeの「今日はどんな日?」について調べてみた

f:id:yassan0627:20180123111931p:plain

Google Homeに「今日はどんな日?」って訪ねたら「今日の予定は~」って喋りだしたので、調べてみた。

仕様としては、メインのカレンダーについてのみ対応との事。
しかし、その中で複数の予定があった場合、Google Home で読み上げることが可能な情報は最大 3 つまで(2018/01/23現在)。

メインのカレンダーの調べ方については、Googleアシスタントの設定から「カレンダー」を選択し、灰色になっている、チェックが外せないカレンダーの表示になっているものがメインのカレンダーです。

読み上げるカレンダーを自由に切替え出来るようになるか複数のカレンダーに対応してくれることを願うばかり。
みんなでフィードバック送信したら優先して改善してもらえるかもしれないのでみんなでフィードバックしよう。

また、Google Homeとは関係ないけど、
Googleアシスタントに話しかけて確認する予定については、複数のカレンダーでもOK。
複数のカレンダーのうち、一部だけにしたい場合は、上記の設定からカレンダーを設定すればOK。

Google Homeホント便利。