2024年3月16日土曜日

Gasを使ったグループウエアTGW Ⅵ Q&A

 Q&A エラー対処他について  今後、必要に応じて、情報を追加していきます。


Q1:回覧にデータが表示されません。

A1:グーグルアカウントでログインしたブラウザを使っている必要があります。そして、そのアカウントを読み取って、利用者が誰かを判断しますので、職員データのemailのアカウント名に@gmail.comの前の部分のアカウント名が入った行が必要です。shokuin_accumulationのタブで登録して、shokuinタブのnameのところで、名前を選択してください。

 ※くれぐれも、水色のセルは編集しないでください。編集しようとすると、確認メッセージはでますが、編集不可とまではしてませんので、ご注意ください。


Q2:このクラウド版グループウエアの利用は無料ですか。

A2:無料です。無償公開が目的であれば、自由に改良いただいてもけっこうです。


Q3:定期的に実行が必要な処理はありますか。

A3: トリガーの追加で設定をする必要があります。

teikijikko,teikijikko2 :1分間隔で実行

teikiDel :1日1回以上程度

getyotei_preload,getyotei2_preload :1日1回以上、0時過ぎに設定

 といった処理をタイマー処理行っています。実行間隔、時間帯などを設定できます。teikiDelなどは、利用者の少ない夜間の実行がいいと思います。

 

Gasを使ったグループウエアTGW Ⅴ TGWの主な機能について

 機能紹介が最後になってしまいましたが、現在、テスト稼働中のものをアップします。

top Page

回覧

回覧先指定は、SGW同様に使いやすさにこだわりました


回覧作成では、文字修飾も可能にしてあります。
ただし、速度・容量の関係で、指定した期間過ぎるとデータが削除されるようになっています。指定期間は自分で選択できます。

GASによるグループウエアは、速度、容量の点がデメリットですが、いったん構築すれば、故障という心配がないのと、無料というのがメリットかもしれません。

Gasを使ったグループウエアTGW Ⅳ 管理者向けマニュアル

 グループウエア マニュアル 2022.12.18

 ※管理者向けですが、ユーザー向けは、グループウエアのヘルプで表示できます。


Q0:年度ごとに最初に設定することは?

・ユーザーデータのスプレッドシートで追加、変更を行います。最初にshokuin_accumulationのシートで、ユーザーを追加(NameとEmail,HyojiYotei)していきます。(削除はしない。)

 HyojiYoteiは、設定のシートのsettei2のシートの「予定2を利用するグループ名」に入力した予定を使用する場合のみ、2という数字を入力します。他は、ディフォルトで1の「予定1を利用するグループ名」とみなします。


・次にshokuinのシートで、Nameの欄を選択して、新メンバの表を完成させます。Nameの選択で、自動的にEmaiやId番号を、shokuin_accumulationのシートから拾ってくるので、shokuinのシートで操作するのは、Nameの選択のみとしてください。

 なお、ShokuinBangoは、回覧先の順番に影響します。


・次に、グループの設定を行います。

 少人数のグループに、先に氏名を入力していきます。選択してもいいのですが、入力しながらのほうが、入力した文字に応じて該当氏名が検索されて、効率的に入力できます。少人数のグループの入力が終わったら、そのメンバーをコピーして、特殊貼り付け>値のみ貼り付け を使って、より大人数のグループに名前を貼り付けていくと、効率的に作成できます。


・次に、管理者権限を使い、グーグルのグループ(グループウエアに編集権限を与えているグループ)でも、ユーザーの追加、変更を行います。これを忘れると、うまくログインできません。

 ※最初に、グーグルのグループに登録してから、そのデータを使って、グループウエアのユーザーデータ(shokuin_accumulation)に、member_parse.gsにより自動で追加する方法もあります。詳細はmember_parse.gsコード内の説明を参照。



Q1:トップページの予定が別の日付の内容になっているときに確認することは?


1)設定データのtodaytomorrowとtodaytomorrow2の2つのシートには、毎日変更すべき日付セルがあるので、設定で、毎時、日付を再計算する設定にしておく必要がある。


2)定期実行についてのログでエラー内容を確認する。

 ①予定ファイルの更新チェック teikijikko1と 2 3パターンがある

   ・予定ファイルは、アップロードしたときは、Topページの予定が更新される。

   ・Googleドライブのエクセルファイルが更新されたときは、1分間隔で監視

   しているので、更新を検知したときに、Topページが更新される。 

・夜間の行事ファイル更新 getyotei_preload() getyotei2_preload()が実行される。これは、エクセルファイルが更新されなくても、Topページが日付が変わったとき、更新するために必要。1)で毎時ファイル更新にしたているので、そのあと1時間余裕見て 午前1~2時の間に実行、さらに2~3時でも2回目の設定入れている。(間違って、日中の時刻にしないように気を付ける)

   


Q2:回覧データが定期的に削除されてないとき、確認することは?

 ・夜間の回覧関連データの定期削除 teikidel  

   15分起きにしてるが、コードにより夜間のみ実行している。

  ログをみて、エラー内容の確認をする。


Q3:ポップアップ表示の機能がうまくいかないとき、確認することは?


 ポップアップ画面表示のための機能 WebApiのための別プロジェクトで実行

   1分間隔で、ユーザー名のついたテキストファイルが指定フォルダにないか

  確認し、あれば、未読情報を書き込んだテキストファイル(先頭にOUT_をつけたも   の)を作成し、グーグルドライブをWindowsのドライブにリンクした共有フォルダの  中で、各端末がこのファイルを読み取るようにしている。


Q4:添付ファイルがアップロードできないとき、確認することは?

 使用する各フォルダの権限は、グループウエアのユーザーのグループ全体に対して、編集可能にしておく。とくに、添付ファイルフォルダの権限設定がそうなってないと、うまくアップロードできない。


Q5:日付の表示がおかしいとき、確認することは?

 初期設定の状態では、スプレッドシートが、日本標準時になっていない。UTCに対して+9の日本標準時に設定を変える必要がある。とくに、共通用の設定用のスプレッドシートについては、これがされてないと、トップページの予定がうまく表示されない。


※その他 追加事項(2024.3.16):  サイト作成から1年以上経過してしまい、細かいところは忘れかけていますが、確か

・GASのライブラリには Parserの追加が必要

 サービスには Driveの追加も必要 だったと思います。

Gasを使ったグループウエアTGW Ⅲシートについて

 データを保管するためのシートは主に3つあります。それぞれ、サンプルをGoogleDriveから参照できるようにしてあります。(ただし、予告なく公開停止する場合もあるかと思いますのでご了承ください。)

職員データ:https://docs.google.com/spreadsheets/d/1HZ45pJ9KKQJzdj5UYwh6r9j1Vj2QlTfpXCZeyhg_9DE/edit?usp=sharing

グループデータ:https://docs.google.com/spreadsheets/d/13M6eB9XHrZ7lH_fN38TOeQdBlXHOyxBQidIhtbIZFg0/edit?usp=sharing

回覧データ:

https://docs.google.com/spreadsheets/d/1-LkPnragzVSD75OwUqGdS5lTzIhvkcL6k7NlspHok2c/edit?usp=sharing


また、予定表 表示で使う シートの形式は

https://docs.google.com/spreadsheets/d/1fyhxDonmbK6uI33KXZKJFPw0UYIACTWqMKnvXcvSkio/edit?usp=drive_link

を参照ください。月ごとでなく、節ごととなっていますが、月単位でも可能ですが、初日だけ5月1日なら5/1という形式にする必要があります。



Gasを使ったグループウエアTGW Ⅱ設定について

グループウエアの設定データをGoogleシートで作成し、GASと同じフォルダに保存します。中身は以下のようなものです。全体を通して、水色部分はシステムが自動で変更するところなので、とくに入力は不要です。

settei1には、行事シートのIDを登録します。2つのグループまで作成できます。


settei2には学校名(会社名)と2つのグループ名を登録


settei3には 現在の元号とその初年度を登録。「予定取得で重複があった場合優先したいシートタブ名に含まれる文字」というのは、予定データに複数日付があったこのタブ名のものを優先して表示します。


todaytomorrowとtodaytomorrow2は、一時的に日々の予定データを保管するためのものなのです。B1セルには=now()をB2セルには=TODAY()+A2を入力し、B3以下のセルには、B2の式のみをコピーしてください。10日後までの日付を表示するための式です。




Gasを使ったグループウエアTGW Ⅰ スクリプトの準備について

昨年度からテスト運用しているGasを使ったグループウエアTGWのスクリプトを無償公開したいと思います。デモサイトの立ち上げは、今後検討したいと思います。(ブラウザにGoogleアカウントでログインしていることを前提に作られており、アカウント名が、ユーザーデータの中に存在している必要があります。そのため、実現は難しいかもしれませんが。)

最初にスクリプトの準備は以下のようになります。

1 自分が管理しているGoogleDrive内に適当なフォルダ(TgwGroupWare等の名称で)を作成し、その中にスクリプトやシートのデータを作成していきます。

2 まず最初に、Google App Scriptファイル(適当な名称で)を作成します。そのスクリプト内に以下のような.htmlファイルや.gsファイル(スクリプト)を追加していきます。

(1).html

index.html


js.html

css.html

home.html

kairan.html: textareaでは表示できなかったので、githubにあります。

yotei.html

yotei_upload.html

bgcolor_set.htmlとnot_found.html :これらは不要だったかもしれませんが、念のため入れておきます。

other.html


(2).gsファイル 12個の.gsファイルをそれぞれファイル名をつけていれてください。