植物

こんにちは。福岡です。

開発チームの事務所では、3つの植物を育てています。1つは種類の名前がわからなくなってしまいました。

ペペロミア
種類がわからない
アイビー

ツルのアイビーが強いかと思いきや、去年にいちど枯らしてしまいました。土にカビがつく「うどんこ病」というのにかかったみたいで、水の管理が悪かったと思っています。お世話をしてくれているスタッフの希望で、再チャレンジのため鉢を買いなおしました。

緑があるのは気持ちがいいです。また、様子を見ながらお世話をして育てるのは開発やサーバの保守とある意味似ているところもあり、難しくも楽しくもあります。

WebClassログイン画面のHTTP Status

こんにちは。福岡です。

WebClassはクラウドサービスも行っています。そこで弊社でも稼働ステータスを監視しています。オンプレミスのサーバでご利用いただいている学校でも、学校でWebClassサーバの監視を何かしら行っているケースは多く、監視に関する質問を頂くこともあります。 OSのメトリクスは一般的なツールで取りやすいと思いますが、WebClass のアプリケーションに関するステータスはどう取ったらいいか、あまり情報を提供したことがなかったかもしれません。そこで、稼働状況を確認するのに使えそうな、 v11.6.0 のログイン画面の表示とHTTPステータスについてご案内します。

ログイン画面の表示のパターン

ここでは前提として、特にSSOの設定がないケースを想定しています。何かしらのSSOを設定していて、未認証の状態でログイン画面を開くと別のページに転送される環境は当てはまりません。

ログイン画面は以下の2つのパラメータで4つの表示のパターンを持っています。

  • システムオプションのMAINTENANCE_MODE ON/OFF
  • DB への正常な接続 Yes/No

正常時

通常は、次のようなログイン画面が表示されます。HTTP Status は200です。

メンテナンス中

メンテナンスモードに切り替えている間は、下図のようにメンテナンスモードのメッセージが表示されます。HTTP Status は 200 です。通常のユーザはログインできませんが、すでにログインしている人はまだ操作を続けることができます。

メンテナンス中でDB停止時

メンテナンスモードに切り替えていて、かつ DB に接続できない状態の場合は、表示が変わります。この状態では仮にログインしたままのユーザがいても、操作はできません。メンテナンスメッセージは1つしか設定できないのでそのまま表示されますが、ログインフォームは表示されなくなります。HTTP Statusは503 になります。

予定外のDBアクセス不可

もしメンテナンスモードでないときに DB にアクセスできないときは、以下の表示となります。HTTP Statusは500になります。

応答時間

上記はHTTPレスポンスが帰ってくるケースになりますので、Webサーバがリクエストを受け取って応答可能な状態です。

ログイン画面の応答時間で負荷状況もだいたいはわかるかもしれませんが、サービスが実質利用可能かどうかはコースの教材一覧やテストの画面の速度が問題になります。

レポート再提出期限を過ぎた後の期限変更や再提出の不具合

こんにちは。福岡です。

WebClass の少なくとも v11.0~ と v11.6.0 において、レポート提出期限に関するバグが見つかっていますので、ご案内します。

症状

「回答の見直しを許可」を有効にしたレポート課題に、学生がレポートファイルを提出します。

学生の提出に対して、先生がレポート採点画面で再提出指示をだします。このとき、提出期限を設定しておきます。

学生が再提出しないまま再提出期限を過ぎた後で、先生がレポート採点画面で再提出期限を変更して保存すると、ここで再提出指示のデータ不整合が起きてしまいます。ただし、再提出の期限は更新されます。

ここでは、学生が更新された再提出期限までにレポート提出することができます。ですが、この後で改めて再提出指示が出された場合は、もう一度再提出をしようとするとエラーになってしまい、提出ができません。

対応方法

上記の状態になってしまった学生に対して、先生がレポート採点画面で「再提出指示をキャンセルする」ボタンで一度キャンセルします。

改めて再提出指示を出すことで、学生は提出できるようになります。

プログラムの修正状況

問題を特定できましたので、修正対応中です。

ご不便をおかけしております。

リリースの案内

こんにちは。福岡です。

本日 WebClass Ver.11.6.0 のパッチをリリースいたしました。ご利用いただいている学校の管理者の方には案内のメールを差し上げていっています。

リリースの時期はこれまで3月と9月だったのですが、次の学期の開始に間に合わなかったり、管理者や先生も変更点を確認する余裕もないタイミングでした。そこで時期を少し前にずらし、1月末と7月末に変更してスケジュールしています。この年2回のリリースは定期リリースのタイミングで、その時の状況により間のタイミングで追加の案内を差し上げることもあります。

また、管理者の方もユーザとしてご利用いただく先生や学生に向けて変更等の案内できるよう、案内資料を用意いただいているケースもあるかと思います。そこで今回から、パッチの案内をしているページでリリースノートのワードファイルと、パッチに組み込まれているマニュアルのPDFファイルをダウンロードできるようにいたしました。パッチを当てなくても先にマニュアルを確認したり、リリースノートも編集してお手元でご利用いただくことができます。

まだまだ素材としては荒いところもあるかと思いますが、ご利用いただきやすいように順次整えていきたいと思います。

アクセス解析

こんにちは。福岡です。

webclass.jp のサイトを構築するにあたり、どれくらいアクセスが来ているか見れた方が面白いだろうなと思い、まだ誰も人が見に来てもいないのに今からアクセス解析ツールを入れてみました。

ぼんやり知っている範囲で解析ツールを振り返りました。だいたいこんな感じと思います。

  1. HTTPサーバアクセスログを使う
  2. CMS等の独自のアクセス記録を使う
  3. Webページ内にデータ収集ツールのスクリプトリンクを仕込む

1. HTTPサーバアクセスログ

昔ながらのテキストベースのログファイルに書き出している場合は、昔ながらのツールを使って解析できます。 最近では Apache のログを直接DBに送るモジュールもあったりします。 例えばHTTPサーバが分散している場合にある程度リアルタイムな集計を出すには、何かしらこのようなやり方を組み合わせないとしんどいと思います。特にアクセス量が多いと、集計処理を外出ししないとWebサービスに影響を与えます。

枯れた技術で今ではあまり話題にも上りませんが、例えばダウンロードファイルのアクセス集計など、 データ容量やサーバ性能に近いところでの分析を考えれば手堅いやり方と思います。

awstats はcgi として動作して結果をWebで確認できます。ログの量があまり多くなければ結構使えると思います。

2. CMS等のアクセス記録

CMSの構造にかなった形でデータを取得できたり、集計ツールがCMSにあるかもしれません。アカウント管理の仕組みがあれば、ページビューだけでなくアカウントの単位での利用データがきれいに出せると思います。もしくはツールに応じて利用状況を把握するための専用の集計機能が用意されていれば、アクセスログのパターンをプログラムするような必要はありません。

ですが、CMSを使っていなかったり、CMSに思った通りの記録・集計ツールがない場合は他のやり方で補う必要があります。もちろんHTTPサーバアクセスログもそうですが、Google Analytics のようなツールを仕込むための機能があるものも多いと思います。。このWordpressもそうです。

3. Webページにデータ収集ツールを仕込む

「Google Analytics」や国産の「忍者ツールズ」等があります。HTTPサーバ設定などが不要でWebページに仕込むだけで分析でき、サーバの物理的構成を無視して純粋にユーザから見たWebページへのアクセス等が分析できます。

専用サービスなだけあって、分析ツールも作りこまれていると思います。Apache のログや CMS の記録をもっと細かく分析したいと思ったとき、自力で同じことをしようとおもったらかなり大変だと思います。

ただし、この手のサービスは主にWebマーケティングのための分析を意識しています。利用者は広告・検索等から好きなところに入ってきて自由に行動できるWebサービスの中で、どんな行動をしているかを分析します。たとえばプロジェクト管理ツールのようなサイトでは、PRサイトでは有効かもしれませんが、ツールの中では分析サービスの機能がマッチしないこともあるかもしれません。

組み合わせ

上記の3パターンは、たいてい組み合わせたり、必要に応じて全部やることもあると思います。このサイトでも awstats を入れてみました。そのうち Google Analytics あたりもこちらに仕込んでみようと思います。

WebClass に関しても、利用いただいている多くの学校の管理者の方が利用状況を気にされているようです。それだけ真剣に選んで利用いただいているからだと思います。

利用動向に応じて改善や提案をしていけるよう、私たちも手元で試行錯誤をしていきたいと思います。