﻿※ The character encoding of this text file is UTF-8.

===========================================================================
【Ｃ Ｇ Ｉ名】　さんごよみ - スケジュール・カレンダー表示CGI -   Ver 2.0.0
【登  録  名】　sangoyomi.zip
【著作権  者】　にしし/西村文宏
【対応  環境】　Perl5の実行可能な環境
【動作  確認】　Perl 5.14.4 ＆ 5.8.9 (on FreeBSD 11.2)
【開発  言語】　Perl 5.32.0 for Windows (on Windows10)
【公  開  日】　2025/02/21.
【配 布 種別】　フリーソフト
【転載  条件】　事前にメールでご連絡下さい。(詳しくは下記参照)
【連　絡　先】　https://www.nishishi.com/info/contact/
===========================================================================

--- 目次 ---
 ▼CGI紹介
 ▼導入方法
 ▼別スキンを一時適用させたい場合
 ▼データの自動バックアップ機能を使いたい場合
 ▼画像の投稿機能を使いたい場合
 ▼バージョンアップ方法
 ▼使い方
 ▼よくある間違い
 ▼使用条件・再配布・転載などに関して
 ▼免責
 ▼ご感想・ご要望募集
 ▼連絡先
 ▼このCGIの入手先
 ▼更新履歴

【CGI紹介】 ---------------------------------------------------------------

　このCGI「さんごよみ」は、カレンダー形式でスケジュールを表示できる予定表掲
示板です。スマートフォンにも対応した、月間カレンダー、週間汎用予定表、長期ス
ケジュール表の最大3部構成で、文字だけでなく画像を埋め込むこともできます。
　日本の祝日規則や移動祝日にも対応しているほか、夏至・冬至・節分など年によっ
て日が異なる(非祝日の)記念日等の自動計算にも対応。そのほか、独自記念日の登録
や、RSSフィードでの配信も可能です。

　スキン式なので、スキンHTMLを書き換えればデザインや構成を自由自在に変更可能
です。設置サイトのデザインに合致した表示にカスタマイズしやすいでしょう。
　ログイン時のユーザ認証機能は複数ユーザに対応していますから、少人数で共有す
るスケジュール調整掲示板としても使えます。

※当CGIは、教員向け予定表CGI「Fumy Teacher's Schedule Board」の後継CGIです。
（ただし、データファイルに互換性はありません。）
※当CGIは、お手軽マイクロブログCGI「てがろぐ」をベースに開発しているため、
てがろぐと一部の機能が共通で、ほぼ同じ記法が使えます。


【導入方法】 --------------------------------------------------------------

　以下にセットアップ方法を簡単に記しますが、詳細な導入・カスタマイズ方法は、
オンラインヘルプ(下記URL)をご参照下さい。そちらの方が遙かに詳しいです。

　▼さんごよみ公式サイト(HOME)：
　https://www.nishishi.com/cgi/sangoyomi/

　このCGIは、Perl5が動作するWebサーバで使用可能です。(Perl 5.6以上)
　データベースは不要です。

　CGIモジュールと、Time::Localモジュールの2つが必須ですが、多くのサーバでは
何も準備しなくても使用可能でしょう。もし、サーバに両モジュールがインストール
されていない場合は、このCGIを格納したディレクトリに両モジュールのファイルも
一緒に設置した上で、sangoyomi.cgi本体ソースの中に含まれる「#use lib '.';」と
いう記述の先頭にある「#」記号を削除すると使えます。

《事前準備》---
　sangoyomi.cgi の1行目にある「 #! /usr/bin/env perl 」は、たいていの環境で
はそのまま変更せずに動作します。もし、500 Internal Server Errorになる場合は、
sangoyomi.cgi をテキストエディタで開いて、1行目を「 #! /usr/bin/perl 」もし
くは「 #! /usr/local/bin/perl 」などサーバ側が求める記述に修正して下さい。
　ここで必要な記述は、お使いのサーバのヘルプに「Perlのパス」として記述してあ
ることが多いです。

《アップロード》---
　いま読んでいる[ README.TXT ]以外のすべてのファイルを任意のディレクトリに
アップロード後、パーミッション(属性)を次のように変更して下さい。

　※カッコ内の値は、お使いのサーバで suEXEC が有効な場合の設定値です。
　さくらインターネットやロリポップに設置する場合はカッコ内の方を設定して下さい。

　●sangoyomi.cgi     705 (700)： メインCGI （※これを実行します）
　●fumycts.pl        604 (600)： 補助プログラム
　●data-schedule.xml 606 (604)：スケジュール記録用ファイル
　●data-weekly.dat   606 (604)：週間予定表の記録用ファイル
　●data-longterm.xml 606 (604)：長期予定表の記録用ファイル
　●sangoyomi.ini     606 (604)： 設定記録用ファイル
　●psif.cgi          606 (600)： パスワード・セッションID格納ファイル
　　(↑拡張子がcgiですが実行はしません。755にはしないで下さい。)
　●skin-cover.html   604 (604)： 表示用スキン(テンプレートHTMLファイル：全体用)
　●skin-oneday.html  604 (604)： 表示用スキン(テンプレートHTMLファイル：一日用)
　●sangoyomi.css     604 (604)： 表示用スタイルシートファイル

　合計10ファイルです。(README.TXTはアップロードしないで下さい。※今読んでいるファイルです。)

　なお、下記の2サブフォルダは、それぞれの機能を使う際に必要です。
　(どちらも必須ではありませんが、backupフォルダは使うことをお勧め致します。)

　●backup フォルダ   707 (705) ：バックアップデータを保存する際に必要です。
　●images フォルダ   707 (705) ：投稿された画像データを保存する際に必要です。

　詳しくは、公式サイトの「セットアップ(設置)方法」をご覧下さい。
　https://www.nishishi.com/cgi/sangoyomi/setup/

　もし、Internal Server Error などになる場合は、パーミッションを 755 に設定
したCGIファイル(sangoyomi.cgi)の1行目を書き換える必要があるのかも知れません。
　CGIファイルは、テキストモード（アスキーモード）でWebサーバにアップロードす
る必要がある点にもご注意下さい。
　また、suEXECが有効なサーバでは、755や666ではなく、カッコ内に示したように
700や600にしないと動かない場合があります。特にディレクトリを777にすると使え
なくなります(動作はしても正しく表示されなくなります)ので注意して下さい。


【別スキンを一時適用させたい場合】 ----------------------------------------

　標準で使用するスキンとは別のスキンを一時的に適用させて表示確認するには、
表示させたい別スキンの構成ファイルを、サブディレクトリへアップロードして下
さい。1スキンごとに1サブディレクトリが必要です。
　別スキンの適用は、管理画面から実行できます。

【データの自動バックアップ機能を使いたい場合】 ----------------------------

　投稿される度に直前の状態をバックアップファイルに保存しておく、自動バック
アップ機能を搭載しています。この機能を有効にするには、CGIを設置したディレク
トリ内に、backup というサブディレクトリを作り、適切にパーミッションを設定す
る必要があります。パーミッションの設定方法は前述の通りです。

【画像の投稿機能を使いたい場合】 ------------------------------------------

　画像の投稿機能を使いたい場合は、画像を保存するためのディレクトリを用意す
る必要があります。CGIを設置したディレクトリ内に、images というサブディレク
トリを作り、適切にパーミッションを設定する必要があります。パーミッションの
設定方法は前述の通りです。

【バージョンアップ方法】 --------------------------------------------------

　以前のバージョンからアップデートする場合は、当CGIのプログラムファイルであ
る、sangoyomi.cgi と fumycts.pl の2ファイルのみを上書きアップロードして下さ
い。片方しかアップデートしなければ、たいていは Internal Server Error になり
ますのでご注意下さい。
　それ以外のファイルをアップロードする必要はありません。特に、データファイル
(sangoyomi.xml)を上書きしてしまうと過去のデータが消えてしまいますので、くれ
ぐれもご注意下さい。

【使い方】 ----------------------------------------------------------------

　sangoyomi.cgi をブラウザで表示させます。
　管理用ページを表示するには sangoyomi.cgi?mode=admin をブラウザで表示させます。

　パスワード保存用ファイル「psif.cgi」の中身は空っぽのままアップロードして下
さい。このファイルが空っぽの場合は、管理用ページに無条件でログインできます。
　ログイン後にパスワードを設定して下さい。（パスワードを未設定のまま使い続け
るのはセキュリティ的に望ましくありませんので、必ず設定してお使い下さい。）

　詳しくは、公式サイトの「CGIの使用方法」をご覧下さい。
　https://www.nishishi.com/cgi/sangoyomi/usage/

【よくある間違い】 --------------------------------------------------------

　表示用スキンファイル（テンプレートHTMLファイル）をブラウザで表示させても
意味がありませんのでご注意下さい。
　skin-cover.htmlなどのHTMLファイルは、ただのテンプレートです。実際に閲覧す
るためには、ブラウザで sangoyomi.cgi を表示させなければなりません。

【使用条件・再配布・転載などに関して】 ------------------------------------

　＜使用条件＞
　このCGIは、どなたでも無償でご使用頂けます。商用・非商用の区別なく、個人で
も法人でも、一般公開サイト・非公開サイトなど場所を問わずにご使用頂けます。
　ソースのカスタマイズもご自由になさって頂いて結構ですが、CGIの著作権表示や
バージョン表記とそれに伴うリンクは、削除したり隠したり極端に見えにくくしたり
せず、平均的な人類が苦労せずに読める文字サイズと配色でブラウザに表示される
状態でお使い下さい。(必須)

　＜再配布＞
　不特定多数への再配布はせず、公式配布ページである下記のURLをご紹介下さい。
　https://www.nishishi.com/cgi/sangoyomi/
　不特定多数を対象とはせず、「特定の少人数」だけを対象にした再配布であれば
特に禁止はしませんが、付属のドキュメントを修正したりCGIソースを修正したりす
るなどの方法で、著作権の所在を分からなくした状態で再配布してはいけません。

　＜レンタルCGI禁止＞
　当CGIを不特定多数の人々へレンタルするサービスにお使い頂くことはできません。
　(有償・無償問わず)

　＜転載・収録＞
　雑誌での紹介や、紙雑誌の付録メディアへの収録は歓迎致します。特にご連絡頂か
なくても結構ですが、事前にご連絡頂ければ、作者の個人ブログなどで貴誌を宣伝さ
せて頂きます。見本誌のご送付は不要です。

　上記に記されていないことに関しては、著作者へメールでお問い合わせください。
　このソフトウェア(CGI)の著作権は、にしし(西村文宏)が所有しています。
　すべてのメールは、下記の宛先までお送りください。

【免責】 ------------------------------------------------------------------

　このCGIの使用によって、使用者にいかなる損害を与えたとしても、製作者及び公
開者は、その責を一切負いません。使用者個人の責任でご使用下さい。
　しかし、バグ修正や機能改善などは、製作者が開発に興味を持っている限りは実施
していきたいと考えております、ご意見・ご要望などがありましたら、ぜひメールな
どでご連絡下さい。

【ご感想・ご要望募集】　あなたのメールが、明日の開発意欲の源です！ --------

　このCGIに関してのご要望などをお待ちしています。些細なことでもお気軽にお寄
せ下さい。実現可能なら、将来のバージョンで実現させたいと思っております。
　ご感想もぜひお聞かせ下さい。ユーザの方々からのご感想メールが、明日の開発意
欲につながります。一言でも結構ですので、ぜひメールをお寄せ下さい。
　メールの宛先は、下記をご参照下さい。

【連絡先】 ----------------------------------------------------------------

　製作者への連絡は、下記ページに記載のメールアドレスまでお送り下さい。
　https://www.nishishi.com/info/contact/ (←メールアドレスはここに記載)

　製作者運営のウェブサイトURL
  https://www.nishishi.com/
　(＆ https://www.nishishi.org/ )

　製作者の都合などにより、メールアドレスやウェブサイトが変更になる可能性も
あります。その場合は、下記に挙げる外部サイトなどから、最新のコンタクト先な
どをご確認ください。
　https://twitter.com/nishishi (Twitter)
　https://bsky.app/profile/nishishi.bsky.social (Bluesky)
　https://mixi.social/@nishishi (mixi2)
　https://www.vector.co.jp/vpack/browse/person/an014111.html (Vector)

【このCGIの入手先】 -------------------------------------------------------

　このCGIのオリジナル(最新版)は、次の場所で公開しています。
　バグ修正などを行っている場合もありますので、定期的にお越し下さい。
　https://www.nishishi.com/

　なお、最新バージョンの公開動作テスト版は下記のURLで公開しています。
　https://www.nishishi.org/testground/sangoyomi/
　書き込みテストやご質問などにご活用頂けます。

　最新β版の配布がある場合もあります。動作テストにご協力頂ければ幸いです。
　https://www.nishishi.com/cgi/sangoyomi/nextversion/


【更新履歴】 --------------------------------------------------------------

　[Ver 1.2.0 → Ver 2.0.0]　(2025/02/21)
　■ログインセキュリティ機能を追加
　■カスタム絵文字機能を追加
　■設定画面のUIを改良
　■サーバ環境に依らず $howtogetpath 設定の不要化
　■ツイートURL認識の x.com 対応
　■URLを丸括弧で括るリンク記法を追加
　■相対パスでもリンクできる記法を追加
　■リンクに任意のclassを付加できる記法を追加
　■文字装飾記法の「隠す」を使って隠される範囲全体を指定要素で囲むよう改善
　■透明度を含む色指定を可能に
　■ラベル付きリンクを書いた際に、リンク先URLの途中にさらに「 http:// 」の文字列が出てくるとリンク表示が崩れてしまうバグを修正

　[Ver 1.1.0 → Ver 1.2.0]　(2023/02/25)
　■offsetパラメータを追加：「?offset=-1」で先月、「?offset=-2」で2ヶ月前、のように相対的な月指定が可能に。事前にリンクなりブックマークなりを1つ作っておくだけで「現在より1ヶ月前」とかのカレンダーにアクセスできる。
　■長期予定表のデータ件数が0件のとき、「再構築」メニューをクリックするとInternal Server Errorになる問題を修正。
　■サーバのエラーログにアラートが大量に記録されてしまう問題を解消。
　■ある特定の祝日指定が、指定月の全日を祝日化してしまう可能性がある不具合を修正。（例えば「01/01」という祝日指定の結果 2001/01/xx の全日が祝日になってしまう問題を解消。）

　[Ver 1.0.0 → Ver 1.1.0]　(2022/11/24)
　■カラーテーマを増量
　■ログインフォームの下部に表示されるメッセージを管理画面上で設定しておける機能を追加。
　■ドキュメントルートの自動取得位置を管理画面で確認できるように仕様改善。
　■ライセンス取得時に「このCGIについて」枠の表示状態を選択できる機能を追加。

　[Ver 0.1.1 → Ver 1.0.0]　(2022/06/25)
　スケジュール・カレンダーCGI「さんごよみ」として初公開。

　[Ver 0.0.0 → 0.1.1]　(2021/09/30)
　一応動く状態で試験リリース。

　[Ver 0.0.0]　(2021/04/22)
　てがろぐベースのカレンダーCGIとしての再開発を開始。

　[Fumy Teacher's Schedule Board Ver 2.3.1]　(2018/08/27)
　2001年頃から開発を始めた前身CGI「Fumy Teacher's Schedule Board」のVer 2.3.1(最終版)を公開。 

End of File.
