複数テーマスライドショー連結表示機能 設計仕様案
1 はじめに
・ 複数のスライドショーの中で目的に沿ったテーマのスライドショーを連結表示する
・ 今までの構想では、従来のスライドショーデータから 連結する画像定義ファイルを作成し、
その中にキーワードを書き込み該当する画像を表示することを考えていた。
しかし、コメントを入力することも比較的労力を必要とし、更にキーワードを、後の検索に充分なように
記入することは実用上困難と判断した。
・ 「デジタル楽しみ村」大井様のご提案による「長〜いスライド」が有効と考え、これをいかに実現するか
を検討の結果の仕様である。
テスト用連結スライドショーは [ こちらから ]
2 方式
・ フレームページで連結表示機能、個別スライドショーHTMLを切替ながら画像のデータを収集

画面を構成するのは 3つのファイルによりフレーム構造
フレーム定義 comb_slide01.htm 指定により2つのフレーム slide_main.htm
と個別スライドショー auto_slide01.htm
slide_main.htmはauto_slide01.htmからの画像情報を受けながらスライドショー表示
slide_main.htmに記載されているテーマによりauto_slide01.htmを切り替えて個別スライドショーの画像を連結表示
この原理により異なるフォルダ、サーバーにある個別スライドショーの画像を連結して表示することができる
・ フォルダ・ファイル構造

・ ファイルの機能
images/ auto_slide.js (連結表示用にバージョンアップ)
従来は個別スライドショーの表示コントロールをしていたが、この機能はそのままで
連結表示時は 連結である識別により 個別の画像定義データを連結表示ページcomb_slide01.htmに
渡すことで、どのフォルダのデータも他のフォルダから取得することができる。
images/ comb_slide.js (連結表示用スクリプト:新規)
comb_slide01/ comb_slide01.htm : 連結表示用フレーム定義ページ
連結表示にはフレーム構造により実行するが複数フレームページの定義ファイル
連結スライドショーのリンクはこれに行う
その管理の下に2つのページを表示する
(1) comb_slide01/ slide_main.htm : 連結スライドショー表示用ページ
フレームの全ての画面領域に表示しスライドショーは1枚のページで表示されているように見える
連結表示するフォルダの定義を行っておく。 この指示により(2)の個別スライドショーHTMLページ
から個別画像のファイル名、説明文等 個別のslidedata.js 内データを吸い上げる
個別画像データは、slide_main.htm 内のフォーム;テキストエリアを介して通信を行う
(2) slide(n)/ auto_slide01.htm : 従来の個別スライドショー用ページ
フレームを構成するページであるが、表示高さを 0ピクセルとしているため見かけ上表示されない
連結表示であることの識別により、スライドショー画像を表示するのでなく、個別の画像定義データ
をslide_main.htm の指示の下、フォームに送信する
・ slide(n)/ slidedata.js : slide_main.htm のスライドショー実行条件設定
画像データは定義しないが slide_main.htm でのスライドショー表示・実行条件を定義する
3 設計方針
・ 従来のスライドショー(個別)機能に影響なく、連結表示もできるようにする
・ 従来のファイル構成等の変更する手間を最小限にする
− 変更するのは実行用スクリプト auto_slide.js をupバージョンに差し替える
このファイルは images
フォルダに共通で使用のため、複数スライドショーに対しても 1ファイルのみ
なので、これを差し替えるだけで済む
・ 連結スライドショーの機能は個別スライドショーと同等とする
但し、プリロード機能は無しとする
4 仕様詳細メモ
1) フォルダ定義 : 連結するスライドショーのフォルダを指定する
変数例
Thema[0,0] = ['[0]ディレクトリ名','[1]スライドショーファイル名','[2]テーマ名','[3]除外画像No.'];
Thema[0,1] = ['../slide01','slidecomb01.htm','テスト画像','7;8;9;11;12;13'];
[0] ディレクトリ名
複数スライドショーのフォルダからの相対パス、または絶対パス
(例)
../slide01','slidecomb01.htm
../slide02','slidecomb01.htm
../../../slideshow/065simantogawa
../../../slideshow/066huzi
[1] スライドショーファイル名
通常それまでの個別スライドショー表示HTML auto_slide01.htm
このファイル名称は変更可能としているためファイル名指定できるようにした
[2] テーマ名
複数テーマの 表題としてその時点で表示されている画像のテーマを表示する
[3] 除外画像No.
(例) 2;3;7-9;10 この指定により No. 2,3,7,8,9,10 が表示スキップされる
除外画像No. は 複数指定可 区切りに ; (半角セミコロン)を使用
連続除外には n-m n,mは数字 n
>m のみ可 -m m- は不可
( 実行側ページは事前にそのテーマの画像数を知っていないため
: どうしても実現する場合は テーマを切り替えた場合、そのテーマの最大画像数を吸い上げる
プロトコルを追加することで実現可能になるが現状では開発は後回しとする )
n-m のmは実在の画像数を越えても良いが、不要な極めて大きな数字を入れるとその大きさ分、
変数領域を確保するので動作が遅くなる等不都合が生じる、極めて大きな値の場合は動作不安定にもなる
2) 通信フォーム領域
comb_slide01/ slide_main.htm : 連結スライドショー表示用ページが、従来の個別スライドショー用ページ
slide(n)/ auto_slide01.htm と通信し、従来の個別スライドショーの画像定義ファイル slidedata.js の情報を
吸い上げ、これに基づいて slide_main.htm が画像を表示する
slide_main.htm がマスターとして指示を出し、auto_slide01.htm がこれに答える形で通信を行う
・ フォーム領域名 : corresp
No.
略号 |
名前 |
機能 |
幅 |
1 P |
PicNo |
slide_main.htm が指示する情報要求内容
指示が空白 :テーマ切替時の同期用
指示が数値 :画像番号、 画像の情報を要求する
指示が - :テーマの最大画像数を要求する |
3 |
2 R |
PicNoRep |
auto_slide01.htm が応答する内容
応答が数値 :要求された画像番号に対しての画像番号
、データが準備できたタイミングも意味する。
または最大画像数要求に対する画像数
応答が end :要求された画像番号が最大画像数を越えたことを意味する。
この場合 slide_main.htm は次のテーマのフォルダの auto_slide01.htmに切替た後
最初に表示する画像番号を PicNo に指示する
slide_main.htm が書き込む内容
PicNo に画像番号を指示して PicNoRep に応答があり slide_main.htm が情報を
吸い上げた確認のシェイクハンドとして PicNoRep をクリア(空白)にする |
3 |
3 F |
FileName |
auto_slide01.htm が応答し PicNo で指示された画像のファイル名を書き込む |
8 |
4 S |
Setumei |
auto_slide01.htm が応答し PicNo で指示された画像の画像説明文を書き込む |
8 |
5 Z |
Zikan |
auto_slide01.htm が応答し PicNo で指示された画像送り時間を書き込む |
5 |
6 H |
Henkakin |
auto_slide01.htm が応答し PicNo で指示された変化禁止情報を書き込む |
2 |
上記通信を行うことにより slide_main.htm が持つ個別 ディレクトリ情報とファイル名を合わせ画像にアクセスすることができる。
・ 通信手順
実行欄 M:マスタ=slide_main.htm S:スレーブ=auto_slide01.htm
CK:内容参照チェック WR:書き込み EX:実行
対象 :上記通信用フォームの略号で表示
1) 画像送り方向 正の場合
No. |
実行 |
対象フォーム |
処理 |
M |
S |
1 |
WR |
|
P |
空白書き込みし テーマ情報によりauto_slide01.htmをロード |
2 |
EX |
|
|
テーマ情報により スキップ画像番号解析→配列変数 SkipNo生成 |
3 |
WR |
|
R |
空白書き込みし それ以前の表示状態をクリア (前のテーマでの"end"表示等) |
4 |
WR |
|
P |
画像番号書き込み |
5 |
|
WR |
RFSZH |
画像番号に対する画像情報(ファイル名、説明等)書き込み |
6 |
CK |
|
R |
画像番号指示に対し応答書き込みがなされたかチェック
数値で P=Rの場合 :画像表示のため次のステップに進む
"end" の場合 テーマ番号を進め No.1の処理に飛ぶ |
7 |
EX |
|
|
画像情報に基づき画像、説明文表示 |
8 |
WR |
|
P |
画像番号を進め書き込み
画像送り時間に基づき時間後No. の処理に飛ぶ |
2) 画像送り方向 逆の場合 ; 上記No.3の後に次のシーケンス追加 (NO.4a,4bを追加、No.3,4は正方向と同じ)
No. |
実行 |
対象フォーム |
処理 |
M |
S |
3 |
WR |
|
R |
空白書き込みし それ以前の表示状態をクリア (前のテーマでの"end"表示等) |
4a |
WR |
|
P |
個別スライドショーの画像数要求のため コマンドとして - (半角マイナス)書き込み |
4b |
|
WR |
R |
個別スライドショーの画像数を応答書き込み |
4 |
WR |
|
P |
画像番号書き込み |
|