asken テックブログ

askenエンジニアが日々どんなことに取り組み、どんな「学び」を得ているか、よもやま話も織り交ぜつつ綴っていきます。 皆さまにも一緒に学びを楽しんでいただけたら幸いです!

Notionであすけんlibrary(社内読書管理ツール)をつくってみた

はじめに

こんにちは😊あすけんのishikawaです。

普段はBigqueryやRで、日本版あすけんのデータ分析を行っています。

前回Notionで営業支援ツールをつくってみたのブログを書きました。

今回はあすけんlibraryをつくってみたのでブログを書きたいと思います。

会社で書籍を管理することの課題

多くの会社に社員が自由に閲覧できる書籍があると思います。

askenには500冊程度ありますが、前職には2000冊ぐらいあったなと記憶しています。管理という点でいうと全く管理していなく、人気のある本がよく紛失するようで、「この本買うの3冊目なんだよ~」と前職の社長が言っていました🤫

askenでは書籍をリスト化して、ナンバリングして、Excelオンラインで管理をしていました。(総務のYさんありがとうございます・・!)しかしながら、その存在はあまり知られていませんでした。

困りごと

  • あの本読みたいけど会社にない!今誰がもってるんだっけ?(書籍の所在地の管理)
  • リストの存在が知られていない
  • テキストだけのリストなのでリストから探して本を読もうという気にならない
  • 会社にある本の全体像が把握しずらい
  • カテゴリはふられているが、機能していない

あるといいな

  • 本を読んだ感想を知りたい(他人のレビューより仲間のレビューの方が参考になる)
  • asken社員が読むべきリスト(BOSSのプレッシャー)
  • askenメンバーがおすすめしている本が知りたい

NotionのDBをInlineで作るか、Fullで作るか

Notionのデータベースをインラインページで作るか、フルページでつくるか、悩む方が結構いるかなと思います。データベースの簡易的な説明でいい場合はフルページ、他の種類のコンテンツも使用し、しっかり説明などを盛り込みたい場合はインラインページがいいと思います。今回は後者なのでインラインで作成します。

CSVデータの作成

データベース作成にあたり、予め書籍リストがあったのでそれをインポートしたいと思います。しかしながら不要な情報があったり、追加で必要な情報があったりするので、ちょっと加工します。

実際の書籍管理リスト

完成形はNotionテンプレートのこちらをイメージしていたので、一番重要なのが書籍の画像です。画像の取得はpythonの使い手yumaさんにお願いしました。最初は書籍の画像を取得してもらったのですが、それだと1枚ずつUPすることになり、非効率的だよねということで、画像のURLを取得してもらいました。(yumaさんありがとうございました・・・!!)

無事画像URLの取得ができたので、以下のCSVを作成しました。

実際のCSVデータ

CSVデータのインポート

NotionにCSVをインポートする方法はいくつかあります。新規ページの真ん中と、右上の••• アイコンの下部にあるインポートです。

Notionで新規ページを作成

しかしながら、こちらからインポートをするとフルページでデータベースが作成されてしまいます。

今回はインラインで作成したいので、フルページで作成後インラインに変換もしくはインラインでデータベースを作成し、そこでCSVをインポートする必要があります。フルページデータベースからインラインデータベースに変更する方法はこちらに記載がありますので、参考にしてください。

変換するのはちょっとめんどくさいので、インラインでデータベースを作成し、そこでCSVをUPしたいと思います。データベースの左側の⋮⋮アイコンを探します。

Notionで新規ページを作成し、データベースを作る

⋮⋮アイコンをクリックし、CSV取り込みでCSVをインポートします。

CSV取り込み

取り込んだデータの確認

CSVをUPしたら、希望通りのプロパティになっているか確認します。画像URLの種類が 「URL」 になっています。書籍の表紙を表示させたいので、プロパティを 「ファイル&メディア」 に変更します。そのほかのプロパティは問題なさそうです。 NotionでのCSVのUPに関してのtipsですが、CSVは複数ファイルに分けてUPすることが可能ですが、更新はできません😥500冊の本を100冊ずつUPすることは可能ですが、既にUPした本に対しCSVで画像URLを変更したり、追加でtagの情報を付け加えることはできないんですね。UPする際は要注意です。(もし裏技知っている方がいれば教えてください・・!)

NotionにUPしたデータベース

新規ビューでギャラリービューを作ります。

  • カードプレビュー → 追加したカラム「img」を選択
  • カードサイズ → 小
  • 画像を表示枠のサイズに合わせる → オン

いい感じにギャラリービューができました。

ギャラリービュー

理想の形につくりあげていく

書籍の所在地の管理

あの本読みたいけど会社にない!今誰がもってるんだっけ?(書籍の所在地の管理)

困りごとの1番に挙げた、書籍の所在地の管理をどうするか?は結構悩みました。総務のYさんに確認したところ、今誰が本を所有しているかは分かったほうがいいが、貸出履歴は必要ないとのことだったので、簡易的に管理をしてみることにしました。それがチェックボックスです。チェックボックスはギャラリービューでチェックのつけ外しができるので、とても使い勝手がよいプロパティです。そして誰が借りているかはユーザープロパティを使います。残念ながらユーザープロパティは、書籍のページで変更するか、テーブルビューの状態で変更するしかありません。

貸出中リスト

ひと手間はかかりますが、貸出中のタブをつくり、書籍の所在地が分かるようになりました。

ギャラリービューでも貸出中且つ誰が借りているのか分かるようになりました。

貸出フラグと借りたユーザーを表示させたギャラリービュー

tagの活用

asken社員が読むべきリスト(BOSSのプレッシャー)

実はあすけんlibrary構築にあたり、BOSSのほうで作成した、おすすめ本なるNotionのページがありました。こちらもひっそり存在していたのですが、「asken必修」なるtagがついた本が3冊・・・!無言のプレッシャーです。その他にも書籍はtagで管理したり探したりするのがベストだと思うので、マルチセレクトプロパティを使い、tagを活用します。

asken必修のtagがついた書籍(カテゴリでグループ表示)

個人の本も追加する

askenメンバーがおすすめしている本が知りたい

チームメイトが読んでいる本や、おすすめ本が知りたかったりしますよね。また、個人の本だけど会社に置いてあり自由に読んでいいよといった本などもあすけんlibraryで管理したいと思います。

「管理」というセレクトプロパティで誰の本かを管理します。

  • あすけん → 会社が所有
  • 個人名 → 個人が所有
  • 貸出不可 → おすすめしたい本だけど、kindleなので貸せない場合

「おすすめ」というユーザープロパティでおすすめしたい本を選びます。そして関数プロパティでどの本が一番おすすめされているかを集計します。関数はこんな感じ。

(length(prop("おすすめ")) > 0) ? concat(format(length(replaceAll(prop("おすすめ"), "[^,]", "")) + 1), "人") : concat(format(0), "人")

これで、おすすめ本のランキングが分かるようになりました。

おすすめリストのランキング

本を読んだ感想を知りたい(他人のレビューより仲間のレビューの方が参考になる)

こちらも結構悩みました。データベースにプロパティを追加しようかなと思ったのですが、誰のコメントかが分かったほうがいいかなということで、書籍のページのコメントを使うことにしました。

その他の課題も一通り解決できたかなと思います😊完成した実際のページがこちらです。

実際のページ

ページ上部では各タブの説明やカラムの説明をしています。書籍の登録方法など詳細な使い方に関しては、別ページに取扱説明書を作成し、リンクを張っています。

あすけんlibraryの活用方法

あすけんlibraryができたので、活用方法を考えてみます。

リンクドビューで社員紹介ページで書籍を紹介

askenにはスタッフアルバム(個人の紹介ページ)があり、そこで私が持っている本を表示させてみました。他にもおすすめ本でフィルタかけたり、自分が読みたい本をtagでフィルタかけたりと活用の幅が広がりそうです😊 tagやおすすめが充実してきたら、カテゴリやtagごとのランキングを作ったり・・なども考えています🤗 みなさんも、よいNotionライフを・・!

askenの実際の社員紹介ページ

お知らせ

askenでは、一緒に働いてくれるエンジニアを募集しています!

www.wantedly.com