50
SIerでもSphinxを使いた い! 総括 2014/10/26 SphinxCon JP 2014 @kk_Ataka

SIerでもSphinxを使いたい!総括

  • Upload
    kkataka

  • View
    2.788

  • Download
    6

Embed Size (px)

DESCRIPTION

2014/10/26 SphinxConJP 2014発表用資料です。

Citation preview

Page 1: SIerでもSphinxを使いたい!総括

SIerでもSphinxを使いたい! 総括

2014/10/26 SphinxCon JP 2014

@kk_Ataka

Page 2: SIerでもSphinxを使いたい!総括

自己紹介4 Twitter: @kk_Ataka

4 GitHub: gosyujin

4 普段いるところ4 Kawasaki.rb

4 Jekyllrb-ja(主催)

4 Python力4 文法もまだあやしい

Page 3: SIerでもSphinxを使いたい!総括

発表の趣旨4 SIerでもSphinxを使いたいので職場で奮闘してみた備忘録4 利用事例4 拡張の紹介

4 Kawasaki.rbというイベントで話した内容の総集編4 できたこと、できなかったこと含めて駆け足で共有します4 主観が多め

Page 4: SIerでもSphinxを使いたい!総括

今日話さないこと4 Sphinxとはなんぞや4 reST記法とはなんぞや4 Sphinxのインストール方法とか使い方とか

Page 5: SIerでもSphinxを使いたい!総括

アジェンダ1. 競合ツールとの比較2. 導入のためのあれこれ、または導入後の課題3. 実際に導入してみた感想

Page 6: SIerでもSphinxを使いたい!総括

競合ツールとの比較

Page 7: SIerでもSphinxを使いたい!総括

競合ツールとの比較!4 導入するためには上の人を説得するための政治が必要…

4 競合ツールと比較してよさ気と思ったことを伝えていく1. Office(Word, Excel)

2. Wiki, Markdown

3. Sphinx

4 好きな言葉「適材適所」

Page 8: SIerでもSphinxを使いたい!総括

比較1 Office

Page 9: SIerでもSphinxを使いたい!総括

Office 長所4 SI界のスタンダード4 WYSIWYGな操作4 きめ細かいデザインが可能4 図やフローの挿入が容易

4 誰のPCにも入っていて、誰でも使える

Page 10: SIerでもSphinxを使いたい!総括

!?

Page 11: SIerでもSphinxを使いたい!総括

Office 短所4 あらゆるものがOfficeで作成され、至る所にちらかる4 日付バージョン管理…(主観)

4 恐怖の「 議事録_20140505_2(最新)(xx修正).xls 」4 検索性が非常に悪い4 違うシートとか、吹出しとか 非表示とか…探せない…

Page 12: SIerでもSphinxを使いたい!総括

Office 短所4 diffが取るのがメンドくさい4 取れないとは言ってない、最近は取れるっぽい

4 ミリ単位のレイアウト修正を強いられる4 リストとかすぐ壊れる4 内容を集中して書かせて!

4 (職人芸が発揮されるほど)重い

Page 13: SIerでもSphinxを使いたい!総括

番外Officeのいいところ…カット!

Page 14: SIerでもSphinxを使いたい!総括

Officeのいいところ4 Officeでしかできないことも、ある4 過去資料でいいところあげてます!4 ようは適材適所でよろしくお願いします

Page 15: SIerでもSphinxを使いたい!総括

比較2 Wiki, Markdown と Sphinx

Page 16: SIerでもSphinxを使いたい!総括

Wiki, Markdown と Sphinx の長所Officeで短所として挙げた問題は解消できている!…と思う

Page 17: SIerでもSphinxを使いたい!総括

Wiki, Markdown と Sphinx の長所> あらゆるものがOfficeで作成され、至る所にちらかる 問題4 プレーンテキストで作成される4 Officeよりは探しやすいんじゃないかと思うのだが…4 ブラウザ、エディタの検索とか、Wiki内検索とか

Page 18: SIerでもSphinxを使いたい!総括

Wiki, Markdown と Sphinx の長所> diffが取るのがメンドくさい 問題4 Markdownはプレーンテキストなので簡単4 バージョン管理もしやすい

4 Wikiもだいたい差分表示機能あり4 diff取りやすい

Page 19: SIerでもSphinxを使いたい!総括

Wiki, Markdown と Sphinx の長所> ミリ単位のレイアウト修正 問題4 出力先(html+css、pdfなど)である程度統一できる

Page 20: SIerでもSphinxを使いたい!総括

Wiki, Markdown と Sphinx の短所Officeでは特に意識していなかったことを考慮する必要あり

Page 21: SIerでもSphinxを使いたい!総括

Wiki, Markdown と Sphinx の短所4 記法を覚える必要がある4 未経験者にちょい敷居が高い…

4 「特定部分のみ」のレイアウト修正4 cssなどに独自の処理を入れなければならない

4 図やフローの挿入はタグで挿入4 直感的にいじれない(現物をD&D…)

Page 22: SIerでもSphinxを使いたい!総括

Wiki, Markdown の短所4 検索性はあまりよくない4 しっかり作れば…

4 それでもOffice + 共有サーバコンボよりは…

4 重い4 体感としては Office > Wiki, Markdown > Sphinx

4 サーバ性能とか同時アクセス数によるけど

Page 23: SIerでもSphinxを使いたい!総括

Sphinx だけの長所4 体系的なドキュメントの骨組みを簡単に整えられる 強力な機能がある4 この辺をサクッとよろしくやってくれているのが

doctree...である気がする(まだ未調査)

4 Wikiとかでこれを整備するのはちょっとしんどい

Page 24: SIerでもSphinxを使いたい!総括

Sphinx だけの長所4 検索性はよいと思う4 体系的にまとまるため

4 軽い4 Outputが静的ファイル4 htmlをWebサーバに置けば静的ファイルを取ってくるのと変わらない

Page 25: SIerでもSphinxを使いたい!総括

ここまでのまとめ4 慣れ親しんだOfficeから脱却したい、管理しやすい形式でドキュメント作成に挑戦してみよう4 ならば Wiki, Markdown か Sphinx だ!

4 TipsとかならWiki, Markdownでもいいけど、ドキュメントなのである程度体系的に管理したい4 体系的に管理するのが得意な Sphinx だ!

結論: 一回Sphinxチャレンジしてみましょう!

Page 26: SIerでもSphinxを使いたい!総括

導入のためのあれこれ、または導入後の課題

Page 27: SIerでもSphinxを使いたい!総括

導入するための壁1. 対プロジェクトメンバー(PM)に対して(布教)2. 対顧客に対して(納品)

Page 28: SIerでもSphinxを使いたい!総括

壁1. 対PM

Page 29: SIerでもSphinxを使いたい!総括

対PM 登場人物4 自分4 Sphinxを導入したい人、基本的になんでもやる

4 メンバー4 導入したSphinxを使ってほしい人

Page 30: SIerでもSphinxを使いたい!総括

対PM 「自分」の仕事4 今回はreSTで進めることの明確な宣言とサポート4 一番大事4 これができないと負の成果物が生成される…

Page 31: SIerでもSphinxを使いたい!総括

対PM 「自分」の仕事4 メンバーが「rstファイルを開いてドキュメント作成」に注力できる環境を作る1. sphinx-quickstartで下準備2. ドキュメント自体のアウトライン作成3. doctreeの作成

などなど

Page 32: SIerでもSphinxを使いたい!総括

対PM 「自分」の仕事4 ビルド環境、デプロイ環境などもお膳立て4 ビルドはJenkinsなどで拾う4 デプロイはApacheにhtmlファイル配備とか(お手軽)

Page 33: SIerでもSphinxを使いたい!総括

対PM 「メンバー」の仕事4 reST記法を覚えてもらう4 Markdown -> reST -> Outputという裏技もある

(Pandoc経由)

4 バージョン管理ツールとかの話は…割愛

Page 34: SIerでもSphinxを使いたい!総括

対PM 課題4 ローカルPCでのプレビュー4 メンバーのPCにSphinxを入れてもらうのは厳しい…4 そうすると、確認できるのがサーバにプッシュした時のみになってしまう

4 ローカルで簡単にreSTプレビューできないだろうか…4 GitHubとか使えばある程度できるんだけど

Page 35: SIerでもSphinxを使いたい!総括

対PM 課題4 プロジェクト(会社)の風土にあわせたカスタマイズが必要かも4 こういうレイアウトがいい4 こういうヘッダフッタがほしい4 こういう改訂履歴ページがほしい

Page 36: SIerでもSphinxを使いたい!総括

対PM 課題4 今回は「変更履歴」出力プラグイン作ってみた4 sphinxcontrib-releasenotesプラグイン

4 .. releasenotes:: ディレクティブを追加したところにGitのコミットログと差分を貼り付け

4 Git使えない人用

Page 37: SIerでもSphinxを使いたい!総括
Page 38: SIerでもSphinxを使いたい!総括
Page 39: SIerでもSphinxを使いたい!総括
Page 40: SIerでもSphinxを使いたい!総括

壁2. 対顧客

Page 41: SIerでもSphinxを使いたい!総括

対顧客 登場人物4 プロジェクト4 Sphinxでドキュメント納品する側

4 顧客 (社内の人 or 社外の人)

4 ドキュメントを納品される側4 歴史的経緯からOfficeで納品される事が多い4 例外はJavadocとか?

Page 42: SIerでもSphinxを使いたい!総括

対顧客 「プロジェクト」側の仕事4 Sphinxで作成するドキュメントに関して「今回はOfficeじゃない形式で設計書とか書きますよ」の合意を得とく

Page 43: SIerでもSphinxを使いたい!総括

対顧客 「顧客」側の仕事4 特になし?心構えくらい?

Page 44: SIerでもSphinxを使いたい!総括

対顧客 課題4 納品形式 最重要(次ページ参照)

4 納品後 「誰が」 保守するのか4 顧客が巻取ってしまう場合、どう保守すればよいのか4 要解決事項、誰かどうやってるか教えてください…

4 これが解決できないと、Sphinxは納品対象外ドキュメントにしか適用できない…

Page 45: SIerでもSphinxを使いたい!総括
Page 46: SIerでもSphinxを使いたい!総括

実際に導入してみた感想

Page 47: SIerでもSphinxを使いたい!総括

環境4 3ヶ月位のほぼ1人プロジェクトで「社内資料」をSphinx!4 社内資料なので、納品関係の課題はスルー4 環境揃えたい放題4 Git + Sphinx + Jenkins etc

4 途中で1人サポートに入ってもらった

Page 48: SIerでもSphinxを使いたい!総括

結果4 Gitでバージョン管理、テキストなので差分管理も簡単!4 エディタが軽いので作成が快適!4 Outputからお目当ての章が見やすい!探しやすい!4 Outputは、意外と営業の人に受けが良かった!4 「え?なにこれ?なんてツール?あとで教えて」

Page 49: SIerでもSphinxを使いたい!総括

結論4 競合ツールとの比較4 ドキュメントを書くスピードは早いよ!

4 導入のためのあれこれ、または導入後の課題4 「Sphinxで書いていく!」空気を作るのが難しい4 個人的には、「仲間(賛同者)」がいてくれると助かる

Page 50: SIerでもSphinxを使いたい!総括

結論4 メンバーにreSTを書いてもらうのが難しい4 メリットの周知、慣例からの脱却までが長い

4 納品物にするにはちょっと課題が多いかも4 今回解決の糸口は見つからず…