TiddlyWiki(ティドリーウィキ)をホスティングし、運用していた先のTiddlySpot(ティドりースポット)が10月24日夜に突然消滅したと思って以降、私は誇張でなしに夜も満足に寝ていない。仕事も趣味も、思うに任せないからだ。
取り急ぎ、新たなTiddlyWikiの運用先として調査した結果、GitLab(ギットラボ)とNetlify(ネットリファイ)が良かろうと結論し、まずはGitLabで運用する方法を確立してから、GitLabのリポジトリをNetlifyへ使い回して運用すれば良いと考えた。
この辺のことは後述するが、11月4日になったばかりの今日、TiddlySpotにホスティングしていたTiddlyWikiをサルベージすることに成功したので、その方法を緊急で書いておく。
※2021/08/11追記
TiddlyWikiの記事と情報を整理するページを作成したので、最初はこちらの記事を参照することをオススメしておく。
自分のTiddlyWikiをローカルに保存する方法
何はともあれ、TiddlySpotが読み取り専用でもなんでも、復活して生きている内に自分のTiddlyWikiを引き上げる(サルベージする)のが先だ。
まずは、自分が運用していたTiddlySpotにアクセスする。URLは次のようになるだろう。
http://[ユーザID].tiddlyspot.com
Basic認証が掛かっている場合はユーザIDとパスワードを入力すると、図のような懐かしいTiddlyWikiが表示されるハズだ。
そこで、図右上赤枠の歯車アイコンをクリックする。
図のようにコントロールパネル画面から、図赤下線「保存」→赤下線「~TiddlySpot Saver」をクリックする。
図赤①のパスワードをクリアし、図赤枠②歯車アイコンをクリックして保存する。
すると(ブラウザによって挙動は違うが)無事TiddlyWikiのHTMLファイル「tiddlywiki.html」がローカルに保存される。
ちなみに、Firefoxの場合は図のようなダイアログが開くので、赤枠「OK」ボタンをクリックすればローカルにファイルが保存される。
ともあれ、バックアップが無い状況で運用していたTiddlyWikiがサルベージ出来たので、個人的にメチャクチャ嬉しいと同時に、モノスゴク安堵した。
これ以降は特に読む必要はないが、どんな経緯があったのか知りたい人はどうぞ。
TiddlySpotに関するこれまでの経緯
冒頭でも書いたようにTiddlySpotが、それまで運用していたTiddlyWikiと共に消滅したと思った私は、夜もロクに寝ずに善後策を調査して模索した。
そこで、まずはGitLabでTiddlyWikiを運用し、さらにGitLabのリポジトリからNetlifyへ運用先を移行しようと、急きょ次の記事を書いたのであった。
所期の目的としてGitLab PagesでTiddlyWikiを運用するのは、特に問題はない。
が、どうもNetlifyの方が良さげであるため、引き続き調査しながら検証しているが、NetlifyのStarterアカウント(無料で利用可能なアカウント)でどうすれば公開したTiddlyWikiにアクセス制限をかけられるのか、今も順調に行き詰まっている。
「それもこれも、TiddlySpotがっ!(#゚Д゚)」と思い、先日の夜中にふと「どうにもならんよな」と思いつつTiddlySpotを見てみると・・・あれ?!Σ(°Д°)
※テキトー訳
Tiddlyspotは、いくつかの技術的な問題により、データ復旧モードになりました。
これでサイトが利用可能になりますが、更新の保存と新しいサイトの作成はサポートされていません。
詳細と最新の更新については、tiddlyspot.blogspot.comを参照してください。
ご理解とご支援のメッセージをありがとうございます。
敬意を込めて。
サイモン
ひょっとすると、TiddlySpotともども消滅したと思っていた、ワシのTiddlyWikiは復活出来るのか!?Σ(゚Д゚ノ)ノ
早速、件(くだん)のtiddlyspot.blogspot.comを見てみると、TiddlySpotが消滅した10月24日に(実に7年ぶりに)ブログ記事「What happened to Tiddlyspot?」(TiddlySpotはどうなったのか?)が投稿されており、私がTiddlySpotの表示が変わっているのに気付いた28日の夜中(時間的には29日?)には、「Update on Tiddlyspot site recovery」(TiddlySpotサイトの回復に関する最新情報)が掲載されていた。
経緯を整理すると、次の通りのようだ。
- TiddlySpotでのTiddlyWikiのバックアップが、TiddlySpotを運用していたDreamHost(レンタルサーバ)の限界に近く、(TiddlySpot所有者による個人のバックアップが)「利用規約違反」とみなされて「DreamObjects」へ退避されてしまった(これにより、全てのTiddlyWikiがオンラインではなくなったので、私を含め「TiddlySpotが消滅した」ように見えた)
- TiddlySpotは最初の頃はクールだったが、古くなって所有者(サイモン氏)からも長年顧みられることもなく、廃止するアイデアも検討されていたため、現在どの程度の利用者がいるのか、どれほど深刻な問題になっているのか不明である(情報を寄せて欲しい)
- 全てのバックアップは(恐らく)「DreamObjects」で安全に保存されていると考えられるため、TiddlySpotによって深刻な影響が出ているとすると、DreamHostと交渉する必要がある(サポートチケット#9255564を発行済み)
- (10月28日のブログ記事投稿時点で)AWSを使用して全てのTiddlyWikiサイトをダウンロードするスクリプトに取り組んでおり、全てのTiddlyWikiが回復できそうだ(「プライベート」サイト=Basic認証しているサイトより、「パブリック」サイトの方が先に利用可能になる可能性がある)
- 将来的に完全に機能するTiddlySpotを復活させるアイデアは検討中なものの、まずはデータ復旧のみに焦点を当て、このブログで進捗状況を投稿する
そして次に当該ブログをチェックした29日の記事は、おおよそ次のことが書かれていた。
- 読み取り専用モードで利用可能なサイトにしたが、TiddlyWikiの更新の保存と新しいTiddlyWikiの作成はサポートはしていない
- この機会にバックアップを取って欲しい(ユーザ名に数字が含まれていると問題が出るバグがあったが、修正したので再度試して欲しい)
よっしゃ!コレでワシのTiddlyWikiも取り戻せるど!!(๑•̀ㅂ•́)و✧
って、あれ!?Σ(°Д°)
私の場合はユーザIDが「dajya-ranger」なので、URLは
http://dajya-ranger.tiddlyspot.com
となるが、ユーザIDがハイフン無しの次のURL
http://dajyaranger.tiddlyspot.com
にリダイレクトされて、404エラーにされてしまう。
ブログ記事「Sites available in read-only mode」(サイトは読み取り専用で利用可能)のコメント30件をナナメ読みすると、自分のTiddlyWikiにアクセス出来て、バックアップが取れた感謝のコメントが多く、中にはバックアップの方法が分からないとコメントしている人や、そういった人にバックアップ方法を書いた人はいたようだが、私のようにハイフン無しのURLにリダイレクトされてエラーが出る、といった人のコメントは無いようだ。
サイモン氏が書いたスクリプトコードの作りが甘いのか、こんな大バグ野郎で自分のTiddlyWikiがサルベージ出来ないのは非常に困るので、図の通り拙い英語で短く・的確(?)にコメントを投稿しておいた。
内容は次の通り。
私のサイト名は「dajya-ranger」で、URLが「http://dajya-ranger.tiddlyspot.com」です。
ブログのエントリーを見て自分のサイトにアクセスしてみましたが、「http://dajyaranger.tiddlyspot.com」にリダイレクトされて「404 Not Found Error」となってしまいます。
サイト名にハイフンが入っていると表示されないようですが、何か方法はありませんか。
そのまま特に何も進展せず、30日の夜から土日を経て今月3日の明治節(本来は明治天皇のお誕生日であって、1948(昭和23)年に現在の「文化の日」に改められた)も、私の作業も特に進展がないまま、ずーっとNetlifyでの調査・検証をしていた。
日付が4日に変わった頃、「もう馬犬 目 ぽ…_φ(゚∀゚ )アヒャ」と思い、調査・検証を切り上げて一杯やるか!
ここ数日放置しまくりのTwitterアカウントでツイッタランドをザックリ巡回し、試しに件のブログをチェックしてみると、新しい記事「Sites with hyphens in their names are recoverable now」(名前にハイフンが付いたサイトは現在回復可能です)が投稿されているではないか!
しかも4日の日付になっているので、投稿されたばかりだろう(時差的にどうなっているのかは知らん)。そして投稿内容は「Sorry about that.」(これは失礼しました)のみだ。
サイモン氏、エエんやで。( ̄ー ̄)
そこで、本稿冒頭に記述した通り、無事に自分のTiddlyWikiをサルベージしたのであった。
Netlifyの憂鬱
TiddlyWikiをNetlifyで運用する、私の目論見はこうだ。
GitLab PagesでTiddlyWikiを立ち上げ、さらにGitLabでのリポジトリを元にNetlifyでも同じくTiddlyWikiを立ち上げてGitLabと連携して運用すると、TiddlyWikiのセーバーはGitLabへ自分自身を書き換えてプッシュしてコミットするから、GitLab上で自動的にTiddlyWikiが再構成されると同時に、Netlifyへも自動的にその更新が掛かるハズである。
つまり、二重に同じTiddlyWikiが稼働することになるので、「フォールトトレラント的にミラーリングが可能なんじゃね?」と考えたのだ。
色々と検証してみると、GitLabのCI/CDとそのデプロイ速度よりもNetlifyの方が高速だし、URLもGitLabよりコンパクトに出来る(ちなみに自分が運用するTiddlyWikiサイトに独自ドメインを割り当てる気は今のところない)。
何よりも、Netlifyの方がサーバーレスでFunction指向のWebサービスをクラウドで作るといった、新しい技術トレンド(FaaS:Function as a Service)に最短距離で乗れそうな気がするのだ。
とは言え、静的サイトジェネレータのJekyllやGatsby、Hugo等とGitHub・GitLab・Netlifyを組み合わせ、単純な静的ブログサイトからCMS機能を含んだWebサイトを構築する記事や情報は割と沢山あるものの、肝心のTiddlyWikiをNetlifyで構築・運用する記事や情報がほとんど無い。
いや、正確に言うと、GitLabでTiddlyWiki用に作ったリポジトリをNetlifyから参照・連携してNetlify上で公開するだけなら、ほぼ秒で出来る。
問題は、NetlifyのStarterアカウント(無料で利用可能なアカウント)で、サイト全体のアクセス制御をTiddlyWikiで実現する方法が、全然分からないのだ。
図の通り、Proアカウント(月額19米ドル)であれば、サイト全体のパスワード制御や、Basic認証も可能なようだ。
そもそも私の英文読解力が低いのが致命的だが、Netlifyでの「Identity」の仕組みが「Identity Level 0」(無料)でどこにどう作用するのかしないのか、良く分からないでいる。
それに、サイト訪問者に対するOAuth2プロバイダ認証は、Starterアカウントでも可能なようだし、Netlify CMSの仕組みを応用すれば実現は可能だとアタリは付けているが、どう調べて良いのか途方に暮れている。
正確に言えば、OAuth2プロバイダ認証は静的サイトジェネレータ+Netlify CMSで実現している機能のハズなので、その辺から調査・検証すれば良いとは思うのだが、全く未知な静的サイトジェネレータとGitLab(もしくはGitHub)連携+Netlify CMS機能の学習からやるとすると、学習コストが高すぎて骨が折れる前に、軽く心が折れそうだ。
おわりに
私は元々Web系システムが本職ではないし、Web系の技術領域は広いから前提となる知識が幅広く必要で、数年前にAWSがLambdaでサーバーレスでどうのという話も、聞いた当時はピンと来ないレベルだった。
そもそも、TiddlyWikiを運用するのにサーバーレスのFaaSは、オーバースペック以外の何物でもないが、スケベ根性で「あわよくばついでに学んでしまえ!」と目論んだのが間違いの元だったのかも知れない。
それにTiddlyWiki自体はザックリ15年ほど前から存在しており、日本でも2007年か2008年頃には熱心なユーザがいて、当時2chなんかで情報交換もされていた記憶がある。HTML1ファイルの構成とシンプルだし、ブラウザ(当時はFirefox)があればどこでも使えるので、USBメモリで気軽に持ち運ぶことも可能だった。
日本では「オフラインで使うメモ帳」という認識のまま、ブラウザにアドインを入れれば手軽に使えるといった程度で、ブラウザのバージョンアップによって手軽に運用が出来なくなると、そのまま廃れてしまった感がある。
ところが難はあったものの、TiddlySpotやその他、ネット上に置いて便利に運用する使われ方もして来たハズなのに、なんでこんなにも情報が無いのだろう?現在進行形でTiddlyWikiについて記事を書いている日本人のサイトは、私のこのサイトぐらいしかないのか?
また、仮にNetlifyでお手軽にTiddlyWikiを運用するにしても、個人が運用するメモ帳だから、アクセス制御をしたいというニーズは普通にあると思うのだが、ネットに無防備に公開して気にならないのだろうか?(GitLabではプライベートリポジトリとしてサイトのアクセス制御が可能だし、最近GitHubでも無料でプライベートリポジトリが作成出来るようになったようだが)
TiddlyWikiが無いと仕事に支障が出るほど超絶便利なだけに、全てが解せないことばかりだ。
最後に蛇足ながら、TiddlySpotと私のTiddlyWikiがネット上から飛んでしまった時(てっきり消滅したと思ったが)、真っ先にInternet Archive: Wayback Machineでサルベージを試みた。
ところが、最初からTiddlySpotでBasic認証を掛けて運用していたせいで(?)一度も私のTiddlyWikiはキャプチャされることなく、アーカイブされることは無かったようだ。
Googleのネットキャッシュも同様の理由だと思うが、すぐに調べてみてもGoogleにキャッシュされていなかった。
普通に考えれば、Googleにキャッシュされないサイトが、Internet Archive: Wayback Machineにキャプチャされてアーカイブされるワケがねーよな。ε- (´ー`*)フッ
Warning: strpos() expects parameter 1 to be string, array given in /home/eware/dajya-ranger.com/public_html/wp-includes/compat.php on line 498
Warning: preg_match_all() expects parameter 2 to be string, array given in /home/eware/dajya-ranger.com/public_html/wp-includes/shortcodes.php on line 155
Array