何のため?
地方公共団体の政治を良くするためには、市民のだれもが、適切な情報を、容易に入手できるようにし、市民と行政の間にある「情報の壁」をなくすことが必要です。理想は、行政に関する資料がすべて検索可能な電子データとして整理・保管され、だれもが、いつでも手軽にオンラインで検索し、必要な資料のダウンロードができる仕組みが提供されていることです。しかし残念なことに、行政を監視する立場にある地方議会ですらICT化は遅れており『資料は紙ベースのみ』という状況が散見されます。一議員の立場として、この大きな仕組みを変えることは大変ですが(本来は自治体の首長の仕事なのです)、少しずつでも状況を改善したいと考えて作りました。小平市を含め、多くの地方議会が利用しているオンライン会議録検索システムDiscussに、ファイルを一括でダウンロードしたり、見た目(スタイル)を変更したりする機能を持たせることで、少しでも情報取得・情報活用のハードルを下げたいと考えています。
会議録を自由なレイアウトでHTMLやPDFファイルに一括保存できると、以下のことなどが可能になります:
- 会議録の読みやすさが向上し、読むスピードが上がる
- ネットの環境や検索システムに依存した操作性の影響を受けず、高速かつ快適に文書検索が行える
- Fessなどの検索システムを使うと、他の文書と横断的に文書検索が行える
- 他者との情報共有が容易になる
- 各個人が個別に紙資料を保管する必要がなくなる
- 公文書の保管期限が切れたものでも手元に保管しておける
Discuss2Fileの特徴
- HTML/PDFに保存:会議録内容をHTMLファイルもしくはPDFファイルに保存します [simple_tooltip content=’PDFファイルの保存はchromeの印刷機能を使用します’][/simple_tooltip]
- 一括ダウンロード:複数日程の会議録を一括ダウンロード可能 [simple_tooltip content=’サーバーへの負荷を考慮し、項目数・ダウンロード間隔に制限を設けています’][/simple_tooltip]
- 多彩な表現:強調表示、カラー表示、不要部分の省略・削除など、文書の多彩な表現が可能 [simple_tooltip content=’多彩な表現は、正規表現による文字列置換設定と、スタイルシート(CSS)の設定を行うことで可能になります’][/simple_tooltip]
- 目次の自動作成:置換文字列で<h1>~<h6>タグを文書中に含ませることにより、自動的に目次を作成 [simple_tooltip content=’正規表現による文字列置換により、文書中に<h1>~<h6>タグを入れる必要があります’][/simple_tooltip]
- 自由なフォント:正規表現を書かなくとも、デフォルトで複数のフォントを選択可能 [simple_tooltip content=’UDデジタル教科書体フォントを使用すれば、読みに困難さを抱えるディスレクシアの方でも読みやすくなる場合があります’][/simple_tooltip]
- 高セキュリティ:DOMレベルでのXSS対策済み
ダウンロード前後の比較(小平市議会の場合)
左側の画像がオリジナルのDiscuss会議録、右側がダウンロードしたHTMLファイル、もしくはPDFです。フォント設定、正規表現、CSS設定を行うことで各段に読みやすくなります。
使い方
- Chromeウェブストア からインストールを行ってください(Google Chromeブラウザを使用する必要があります)。なお、インストール時に「閲覧履歴の読み取り」権限にアクセスするという表示が出ますが、この拡張機能の設定を保存するだけであり、利用者のサイト閲覧履歴を読み取るものではありませんのでご安心ください。
- Discussを利用している 会議録サイト(レスポンシブ対応版)にアクセスしてください。各自治体のサイトはこちらにまとめました。
- ブラウザ右上に表示されるDLのアイコンをクリックします。
- 必要に応じて、フォント設定・正規表現設定をそれぞれのタブで行います。
小平市の場合は設定が用意されています。正規表現設定タブで読み込みボタンを押して設定を読み込んでください。 - ダウンロードタブで会議を選択します。個別の会議録が開かれている場合、選択は不要です。
- 「印刷画面を開く(PDF保存)」もしくは「ファイルに保存(HTML)」を選択します。
- ファイル名は通常自動作成されます。任意のファイル名にしたい場合は、ファイル名欄に記入します。
- 『Downloadボタン』を押すと、ファイルがダウンロードされます。
- ダウンロードされたファイルは、ダウンロードフォルダに保存されています。
Discuss会議録システムを利用している自治体一覧
▶ クリックで表示
2020/4/2現在(https://www.ntt-at.co.jp/product/discuss/customer.htmlより)
各タブの説明
①ダウンロードタブ
ファイル名は自動で設定されますが、入力欄に直接ファイル名を記入することもできます。ファイル名から余計な空白を削除したり、全角数字を半角数字に変えるためのチェックボックスもあります。
一括ダウンロードでは、対象となるファイルを選択してください。サーバーに負荷をかけないよう、個々の会議録を開くまでの待機時間を設けていますのでご了承ください。途中でサーバーエラーになった場合は、そのままダウンロードボタンを押すことで初めからダウンロードを行います。また、一括ダウンロードの場面でリストが正常に表示されない場合、サイトの再読み込みを行ってください。
ダウンロードしたファイルはダウンロードフォルダに保存されます。
②フォント設定タブ
③正規表現設定タブ
このタブでは、「会議録内を特定の文字列で検索し、任意の文字列に置き換える」ための設定を行います。
特定の文字列を検索するために正規表現を使用します。正規表現については、たとえば「正規表現とは?メタ文字とサンプル一覧」をご覧ください。
置き換え文字中には「<span style=”color:red;”>」といったHTMLタグ・スタイルや「<span class=”color”>」といったCSSクラスの指定が行えます。クラスの指定を行った場合はCSS欄にスタイル設定を記入します。
正規表現設定方法
例1:長い「…」を省略する
たとえば会議録(自治体のDiscussサイトに表示される会議録)文書内に
という記述があり、この長い「………………」を省いて一文字分だけ(つまり「…」)にしたい場合、置換用正規表現の欄に
と記入します。「/…{2,}/g」が文字列を検索する正規表現の部分で、カンマに続く「”…”」が置き換える文字列を示す部分です。なお、置き換え文字列はダブルクオーテーション(”)でくくるルールになっています。
「/…{2,}/g」の「/…{2,}/」は「…が2回以上続けて繰り返されている文字列を探す」という意味があります。「スラッシュ(/)」から始まっていますが、正規表現は必ず2つの「スラッシュ(/)」でくくるというルールがあります。「{2,}」の部分はメタ文字と呼ばれている特殊な記号で、この場合は「直前の文字を2回以上繰り返す」という意味があります。スラッシュの右側についている「g」は、「検索文字列が見つかってもそこで検索をやめず、文書の最後まで探し続ける」という意味です。つまり、たとえば置き換えを行いたい会議録文書が
だった場合、「/…{2,}/g, “…”」を適用することにより、HTMLの出力結果(およびそのHTMLファイルをブラウザで表示したときの表示結果)は以下のようになります。
メタ文字には色々な種類があり、たとえばこちらのサイトにもメタ文字の一覧をご参照ください。
なお「正規表現の検索で文字列が見つかった」ことを「検索がマッチした」と表現することもあります。
例2:議員という文字を太字にする
さて、続いて「議員」という文字を太字にしてみたいと思います。置換用正規表現の欄に、以下のように記載します。
一行目はそのまま同じです。二行目を見てみます。まず置き換える文字の方ですが「”<strong>$1</strong>”」とあります。この「<strong></strong>」は、HTMLタグの一種で「その間に挟まれている文字列を太字にする」というものです。「$1」は、「正規表現(/(議員)/g)で最初にマッチした文字列」を表し、括弧()内の文字列が入ります。上記の例では、議員の部分を括弧でくくっているため、$1には「議員」という文字が入ります。また「g」は先ほどと同様に「検索がマッチしてもその後も検索を続ける」という意味です。つまり結局「/(議員)/g, “<strong>$1</strong>”」の意味は「議員という文字列を検索し、もし見つかったら、括弧でくくった部分の文字を$1に入れ、<strong>$1</strong>という文字列に置き換える」という意味になります。つまり「議員という文字列が見つかったら、<strong>議員</strong>という文字列に置き換える」ということです。
なお、置換用正規表現の欄に書いたものは、上から順に一行ずつ実行されるルールになっておりますので、オリジナルの会議録
に対してまず「/…{2,}/g, “…”」が適用され、
という結果になります。さらに、この置換されたものに対して、次の「/(議員)/g, “<strong>$1</strong>”」が適用され
という内容のHTMLファイルが得られます。これをブラウザなどで表示すると
という結果が得られます。
例3: CSSを適用する
次に「出席」の文字と「欠席」の文字を赤くし、さらに下線を引いてみたいと思います。これには二つのやり方があり、まず一つ目の方法として、以下のようにします。
「出席」という文字列を「<span style=’color:red;text-decoration:underline;’>出席</span>」で置き換え、「欠席」という文字列を「<span style=’color:red;text-decoration:underline;’>欠席</span>」で置き換えます。「<span></span>」もHTMLタグの一種で、文字を修飾する際に使用します。また「style=”」と書くことでHTMLタグにスタイル(見た目)を適用することができます。style=”color:red;”とするとHTMLタグ内の文字を赤くすることができ、style=”text-decoration:underline;”とするとで文字に下線を引くことができます。複数のスタイルを指定する場合は、style=’color:red;text-decoration:underline;’ という風に続けて記載します。
さて、もう一つはより簡単で、お勧めの方法です。
という風に、スタイル指定をしたい部分に class=’sample’ と記載します。このsampleはクラス名というもので、自由に名前をつけることができます。続いて、sampleクラスに対応するスタイルをCSS欄に記述します。
このようにドット(.)の後にクラス名を書き、続けて波括弧{}の中にスタイルを記述します。この書き方は非常に分かりやすく、便利なため、お勧めです。
上記二つのどちらの方法でも、出力は以下のようになります。
CSSについてより詳しくは、例えばこちらのサイトをご覧ください。
例4: コメントを入れる
置換用正規表現の欄にはコメントを入れることができます。{}でくくった部分はコメントと見なされ、置換処理の際はその行が無視されます。また、改行だけの行も無視されます。
例5: 自動作成目次ができるようにする
自動作成目次を作成したい場合、HTML内にHeading(見出し)タグ(<h1>, <h2>, <h3>, <h4>, <h5>, <h6>)が含まれるようにする必要があります。たとえば以下のような会議録文章があったとします。
これに対して、以下のような置換正規表現とCSSを適用します。
すると出力されるHTMLファイルの内容は次のようになります。
このHTMLファイル内には<h1>タグ、<h2>タグがあるため、自動で目次を作成することができます。正規表現設定の左下にある「自動作成目次を追加」のチェックボックスを入れて、ダウンロードタブからファイルのダウンロードを行うと自動的に目次が作成されたHTMLもしくはPDFファイルが作成されます。
デバッグモード(ログを表示)
正規表現設定タブの下部にある「デバッグモード(ログを表示)」にチェックを入れると、設定した正規表現やCSSがどのように適用されているかを確認できます。
置換正規表現欄と必要であればCSS欄に記入後、ダウンロードボタンを押し、Discuss2Fileウィンドウの上でマウスの右クリック(macではControlキーを押しながらマウスクリック)すると、「検証」というメニューが表示されますので、それを押します。するとCrome開発者ツールというものが開きますので、その中にある「Console」をクリックします。ここに詳細情報が表示されます。
上から順に、設定した正規表現の一覧が表示されます。会議録文書中で、それぞれの正規表現にマッチしたものがあれば「マッチあり」と表示され、「▶」をクリックすると詳細が確認できます。どの文字列がマッチしたのか、置換前と置換後では文書がどう変化したのかを、それぞれ確認できます。
なお、デバッグモードにチェックが入っているときは、サーバーに負荷をかけないようにするため、一括ダウンロードは行えないようになっています。個別の会議録を開いてから、ダウンロードボタンを押してください。
CSS欄で使用できるHTMLタグ、CSSスタイル
セキュリティ上の理由から、置換用正規表現欄とCSS欄で使えるHTMLタグ及びCSSのプロパティと値を制限しています。これ以外のタグ等を使用したい場合はお知らせください。現在使えるものは以下の通りです。
[使用可能なHTMLタグ]
a, abbr, b, blockquote, body, br, center, code, div, em, fieldset, font, h1, h2, h3, h4, h5, h6, hr, i, img, label, legend, li, ol, p, pre, small, source, span, strong, style, table, tbody, tr, td, th, thead, ul, u
[使用可能なCSSプロパティ]
background-color, border, border-top, border-right, border-bottom, border-left, border-top-color, border-right-color, border-bottom-color, border-left-color, border-top-width, border-right-width, border-bottom-width, border-left-width, border-top-style, border-right-style, border-bottom-style, border-left-style, border-collapse, color, display, font-size, font-weight, font-family, list-style, list-style-position, list-style-image, list-style-type, margin, margin-top, margin-right, margin-bottom, margin-left, max-width, padding, padding-top, padding-right, padding-bottom, padding-left, text-align, text-decoration, text-decoration-line, text-decoration-style, text-decoration-color, width, height
[使用可能なCSS値]
align, color, class, height, href, src, style, target, title, type, width
(注)CSSで特定のフォントを使うと、PDF内検索ができなくなります
フォントタブで選べる以外の独自フォントをCSSに指定することも可能です(font-family: “フォント名”)。しかし、注意が必要です。Chromeの印刷機能にバグがあり、特定のフォント(「メイリオ」「游ゴシック」「游明朝」など)を使うと、PDFファイルを作成した際に、正常にテキスト検索ができなくなります。独自にフォントを指定する際は、一旦PDF化してから、PDF内で(不具合が起きるのは、具体的にはCJK統合文字の代替フォントが含まれているフォントです。PDF化の際に代替フォントの方が使われてしまい、正常にテキスト検索ができなくなるバグです)。
FAQ
Q: 一括ダウンロードの途中で止まってしまった
A:一旦停止ボタンを押して、再度再開してください。
Q:ダウンロードした文書のスタイル・レイアウトがおかしい
A:自治体ごとに文書のスタイルが変わるため、それぞれの自治体に合わせて正規表現設定・CSS設定を行う必要があります。正規表現設定方法の説明をご参照ください。
Q:私の自治体の会議録に適した正規表現・スタイルを作成したので登録してほしい
A:ご連絡頂けましたら登録を検討致しますので、コンタクトよりご連絡ください。