Help us understand the problem. What is going on with this article?

研究室でesa.ioを使えなかったのでクローン作ってる話

More than 3 years have passed since last update.

こんばんは,うどん大 情報系 院2年の@hico_horiuchiです.
この記事はesa Advent Calendar 2015の15日目です.

研究室でesa.ioを使おうとしたのですが,諸々の理由で使えなかったトノコト.
結局,esa.ioの機能を真似たクローンを内製してるという話です.
合わせて,研究室で内製することの厳しさも話せればと思います.

esa.ioとのデアイ

esa.ioを知ったのは,他の研究室の友達の紹介でした.
第一印象は「ステキなデザインだなぁ」でした.
当時はβのチーム募集をしている最中だったと思います.

うちの先生は寛容な方で,試してみたいと言ったら二つ返事でOK.
研究室の名前でチーム申請を出して,有料化までの数ヶ月利用していました.

具体的には,有志数人で週1のゼミの週報を書くのに使っていました.
esa.ioを使うまでの週報はと言うと,以下のような感じでした.

  • フォーマット自由 (最低限の必要事項あり)
  • PDF等でファイルサーバにアップロード
  • ファイルサーバ内のディレクトリ構成も学生毎にバラバラ

このままだと,全文検索も無く,本人以外は編集も出来ない….
報告の粒度もバラバラで個人差も大きいので,どうしようかと思っていた次第でした.

研究室で使えなかった理由

単純に「Webサービスの利用料金を研究費で出すのが難しい」トノコトでした.
他にも,先生が心配していたことが幾つかありました.

  1. サービスの継続性・セキュリティは大丈夫か
  2. 手元へのバックアップは可能か
  3. ゼミ生全員が問題無く使いこなせるか

(1)については,研究室のサーバに無造作に保管するより安全だろう.
(2)と(3)も大丈夫だろうと思ったのですが,残念ながら有料化の前に利用停止となりました.

esa.ioクローン「書庫」

esa.ioの継続利用が厳しいと分かった時から,1人でクローンの開発を開始しました.
(esa.ioの利用如何に関わらず,週報の運用を何とかしたい.)
実装にはRuby on Railsを使いました.
研究室にRubyistが多かったこと,所属するSLPで活発に使われていることが理由です.

クローンの開発に当たり,重視したのは2つです.

  • テンプレート機能でフォーマットを統一可能
  • WIPで「ゼミ前夜にまとめて書く」を防止

ソースコードはGitHubで,研究室のOrganizationとして公開しています.

テンプレート機能はこんな感じで,WebSocketで情報をやり取りしています.

shoko_documents.gif

他にも,独自機能として,週報の「活動概要」から議事録を作る機能もあります.
(ゼミの出席者と報告概要をメーリスに流す慣習があったため.)

shoko_record.gif

ちなみに,ドキュメントを保存するとpublic/以下に書き出されます.
このディレクトリはファイルサーバにリンクしており,Sambaで見れるようになっています.
(ディレクトリ構成はドキュメントのタイトル?カテゴリ?に従います.)
これは,私の卒業後にサービスが停止してもドキュメントを見れるようにとの配慮です.

利用開始から1年弱ですが,現在は研究室のほぼ全員が利用しています.
研究室内外から幾つかプルリクも貰ったような気がします.

研究室内製のキビシサ

こんな記事を書いておいてアレですが,年内に書庫を捨てようと思っています.
卒業を数ヶ月後に控え,やはり研究室で内製するのは厳しかったかなという感じです.

  • Ruby・Railsのバージョンアップに追従できるか
  • バグフィックス・バックアップ・サービス監視等の運用を継続できるか
  • 学生の入れ替わりが激しく技術の継承が困難
  • 配属される学生の技術レベル・モチベーションのバラツキ

幸運なことに今年配属された3年生は皆モチベーションが高く,Rails経験者も居ます.
今後数年は安泰かなと思いますが,その後も継続して利用できるか,やはり不安が残ります.
(サービスが停止して負の遺産化,元の運用に戻る怖さ.)

ちなみに研究に必要な技術については,新人研修をやっています.
ここにRailsを含めるのも手ですが,どこまで教えるかなどが難しい所です.

まとめ・これから

esa.ioが使いたかったけど使えず,クローンを内製したけどそれも捨てたい話でした.
最近は開発系バイトの日報にesa.ioを使っていて,ゼミの週報も書いて書庫にコピペしています.
やはりesa.ioの使いやすさ・コンセプトは凄いなぁと実感しています.

今後は,GitHubのプライベートリポジトリのWikiに移行しようかと思っています.
(認証あり,差分が見れる,バックアップはgit pull,継続性もOK.)

これからもesa.ioを応援しています! グッズ買います!
開発者のお二人にも,一度勉強会等でお会いしてみたいですね.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした