PressSync ローカルプレビューの機能強化を行います

PressSyncのローカルプレビュー機能は、投稿内にMediaが指定されている場合、一旦Mediaをアップロードしてからで無いとプレビュー表示出来ないという制限がありました。

つまりローカルプレビューと言いながら通信環境が必須の機能なので、これはまずいという事でローカルだけで完結してプレビュー出来るようにしました。

気づかれている方も多いと思いますが、PressSyncのイメージタグの表現の仕方は二種類あります。


一つはそのものズバリの<img>タグで、もうひとつはアップロード直前のassets-library://から始まる例のアレです。

assets-library://から始まるタグはiPhone内の画像URLを示す文字列なのですが、「&presssync=1」以降にPressSync独自のパラメータを保持しています。

こちらのイメージタグ編集画面で設定した値を「&presssync=1」以降に保持しておき、アップロードがされた時にイメージタグを構築しているという仕組みです。


つまりPressSyncは画像がローカル状態でも様々なパラメータを与える事が現時点のリリースバージョンでも可能なのですが、プレビューの際にすぐに<img>タグに変換されてしまって、あんまり意味ないよな、と我ながら感じていました。

しかし今回の対応で、このややこしい仕組みが火を吹きます。

ローカルプレビューの場合は、以下のようなローカルイメージタグはアップロードを行わず、内部的に<img>タグに変換を行った上でプレビューを行います。


ローカルプレビューであっても、回り込みの設定や、リンクが正しく機能しているか?という確認が行えます。


最近リリースの頻度が多すぎるので、もうちょっと他の機能を実装してからまとめて申請します。


先日、不具合対応版を申請した所で、しかもそれがまだ承認されてませんし(^^;;

以上

via PressSync

PressSync(Pro,Free)の次期リリースバージョンについて(ローカルプレビューの不具合修正)

短いスパンで何度もアプリのアップデートを行ってしまい申し訳ありません。


本日のリリースバージョンから新規インストール直後のデフォルトのプレビュー方式を「ローカルプレビュー」に変更したのですが、そのローカルプレビューが正しく動作していない事が発覚しまして。

wordpressは改行に関してマークダウン的な解釈を行うのですが、ローカルプレビューではその考慮が漏れていました。

どういう問題が起きるかというと、適切に改行を入れて文章を書いているのに、一行にまとまってプレビューされてしまうという事態になります。

これの対策として次の機能を追加しました。

マークダウン解析機能

プレビュー時に入力されたテキストをマークダウン変換を行いプレビューするスイッチです。

自動改行はパラグラフ内の改行コードを自動的にBRに変換するか?というスイッチです。

特にマークダウンプラグインを使用していない場合、両方ともONの状態で使って頂くことになるかと思います。

以上

via PressSync

PressSyncにセルクマ用のURLエクスポートアクションを設定する方法

エクスポート用のURLアクションを追加するには、システム設定→エクスポート→URL Actionsから行います。

以下のURLスキームをURLに設定してください。

hatenabookmark:/entry?url=[link]&title=[post_title]&backurl=presssync%3a%2f%2f&backtitle=PressSync

「フォーマット」はデフォルト値をそのまま使うか空白を設定してください。

登録したURLアクションは、一覧画面各項目より呼び出せます。


以上

via PressSync

PressSyncの投稿画面内のサムネイル表示機能について

現時点においてPressSyncの「投稿画面内にカーソル上のMediaのサムネイルボタンを表示し、専用のイメージタグ編集画面でタグ編集出来る機能」はブログエディタの中でも唯一無二の機能ではないかと思っています。


但しサムネイル表示する為には一定の条件があります。


アプリを使ってて「あれ?出ない?」と混乱をきたす事があるかもしれないので条件を記しておきます。

投稿画面内にサムネイル表示させる為の条件

条件としてはMediaタブの一覧に読み込まれている事です。


なのでサムネイル表示されないという事が頻発する場合はMediaの同期件数を大きく設定してみてください。

写真を投稿していくうちにMediaの同期範囲外に押し出されたとしても、キャッシュにたまっていているのでサムネイル表示可能だったと思います。


(ただしデータベースの最適化を行うと同期範囲外のキャッシュは消えます)

イメージタグ編集画面では、リンク先を大中小から変更できたり、タイトルタグをMediaの情報から引っ張ってきたりと複雑な事を行っており、Mediaの情報が必須の画面になっている為このような仕様にしています。

以上

via PressSync

PressSync(Pro,Free)の次期リリースバージョンについて(昨日の続き)

昨日の予告時にTwitterで仕様の不備を指摘された件の修正ついでに簡単な機能を幾つか追加しました。


先ほど申請したので週末にはリリースされると思います。

タグ選択画面の「追加」ボタン




「タグを追加ボタン」は一覧の最下部にある為、タグ数が多いと、いちいちいちいち1番下にスクロールするのが手間です。

なのでタグ数が10件以上の場合、上下に「追加」ボタンを表示するようにしました。

写真からジオタグを取得出来るようにしました。




「wordpress.com」で採用されている位置情報を投稿に表示するプラグイン用のカスタムフィールドを設定する機能です。

現状は地図で設定することしかできませんが、カメラロール内の写真からもジオタグを取得出来るようにしました。

以上

via PressSync

PressSync(Pro,Free)の次期リリースバージョンについて

自動ログイン機能を無効にします

機能ダウンです。申し訳ありません。

この機能は内臓ブラウザを開く際にアプリでwp-login.phpにアクセスして自動的にログイン状態にするという機能です。

セキュリティ強化の為だと思うのですが、アプリからwp-login.phpを介して機械的にログインする…という行為をwordpress側で日々はじく努力がなされているようで、その都度アプリ側で対応するのは現実的ではないというのが自動ログイン機能廃止の理由です。

Mediaデフォルト設定の機能強化

現状の説明

アカウント設定画面のメディアのデフォルト値を設定するセクションに「リサイズパラメータを指定」という項目があります。

実はこの項目は「wordpress.com」でのみ意味をなす設定項目です。

「wordpress.com」にはメディアの大中小という概念がなく画像URLにサイズのパラメータを指定すると、自動的にサーバーがリサイズして画像を返してくるのです。便利ですね。

セルフホストの場合は意味が無い項目なので非表示にします。

デフォルト設定可能な項目を増やします




Display TypeはImgのsrcタグに設定する画像を指定します。今までは強制的に大が設定されていましたが、大中小から選択可能です。


セルフホスト(org)のみ有効です。

「リンク」はhrefタグの設定値を、オリジナル画像にするか添付ページにするか?という二択で指定可能ですす。


現状は強制的にオリジナル画像のURLにリンクしています。

以上

via PressSync

PressSync(Pro)の次期リリースバージョンについて

ブックマーク機能

Twitterにて某女史にご提案頂いた機能です。

アカウント設定画面よりブックマーク画面を呼び出せます。


右上の「+」ボタンよりブックマークの追加が行えます。





(制限事項として、ブックマーク一覧より投稿を開く場合、必ずサーバーから最新の情報を取得してから開きます。)

投稿IDの指定により追加が行えます。


投稿IDはダッシュボードなどでご確認下さい。


もう一つのブックマークの登録方法

一時的に同期件数を増やします。


検索用のテキストボックスにキーワードを入力して絞り込みます。


次期バージョンより投稿IDでもHITするようになります。


(ちなみにこの項目はカスタムフィールドの項目も検索対象です)


一覧各項目のアクセサリーボタンよりブックマークの登録及び解除が可能です。


PressSyncは同期範囲内の記事しか管理できなかったのですが、ブックマーク登録を使えばかなり昔の記事も手軽に編集可能になります。


流動的なネタで頻繁に修正しないといけないような投稿をブックマーク登録しておくと便利かもしれません。

以上

via PressSync

PressSync(Pro)の次期リリースバージョンについて

不具合修正

newPostスキームで渡されたテキストが二重にパーセントデコードされていました。


一回だけパーセントデコードするように修正します。

ローカルプレビュー機能の追加

ローカルでHTMLを組み立てて内蔵ブラウザで見せる簡易プレビュー機能です。


母体となるHTMLはユーザーによるカスタマイズ可能とします。

弱点としては私のようにマークダウンやショートコードを使っている場合、それらが変換されずそのまま出力されてしまいます。


(スクリーンショットにもありますが##といったマークダウンがそのまま出力されています)

メリットとしてはプレビューの為の事前準備処理時間がほぼゼロになるという事です。

リリース次期

先ほど申請したので一週間くらいでリリースされると思います。

以上

via PressSync

PressSyncのiOS7最適化に伴い変更される操作性について

PressSync特有の操作ではなく、iOS7標準の操作になります。

スワイプによる項目の削除




PressSyncは左右スワイプによりサーバー上のアイテムを大抵消す事が出来ます。


iOS6以前は右からでも左右どちらからでも削除メニューを呼び出せたのですが、iOS7では右から左にスワイプスワイプした時のみ削除メニューが呼び出せます。

フリックによる「戻る」画面遷移

PressSyncは「戻る」や画面を閉じるボタンを左上に配置するように極力統一して画面デザインを行っています。


戻る操作に該当するボタンのある画面は、画面左端から右にフリックすることで、前の画面に戻る事が出来ます。

ただし、PressSyncはユーザーに入力を行わせるアプリである為、画面を閉じる際の編集中チェックを随所で行いまくっています。

そのような画面は通常通り左上のボタンでしか画面を閉じれません。

via PressSync

サーバー環境が原因でPressSyncでログイン出来ないケースについて

ユーザー様から色々とバグレポートを頂きまして、コツコツと対応していたので、この問題はかなり解決が進んだ状態だと思っています。

ユーザー様からのご連絡でWordpressの環境に依存してログイン出来ないケースがある事が一つわかりましたので、ご紹介させて頂きます。

ログイン出来ない原因の一つ(サーバーの返すHTTPヘッダーが壊れている)

ログイン出来ない、というよりは、このサブタイトルの状況になると「全てのAPI呼び出しでエラーが発生する」という事態を招きます。


というわけで、いきなりログイン出来ないという状況に見舞われます。

WordPressのXMLRPC APIを呼び出すと、応答としてXML形式のデータが返ってきます。


このXMLデータを解析してPressSyncはアプリ内にデータを保持したり、処理を行ったりしています。
APIからの応答データはWebメソッドを介して呼び出しているので、Webブラウザで特定のページを開いた時と同じく、HTTP通信の応答としてデータを受け取ります。


応答データ内のHTTPヘッダに不正な値が設定されている場合、PressSyncではXMLを解析出来ず、APIの呼び出しに失敗する事があります。

HTTPヘッダーの何が壊れているのか?

HTTPヘッダー内には「content-length」という項目があります。
この項目の意味は、コンテント(PressSyncの場合はAPIの戻り値として期待するXML)の長さが設定されるのですが、使われているApacheや、PHPのバージョンによっては、正しい長さが設定されない事があるようです。

この「content-length」が実際よりも1バイトでも短く設定されている場合、XMLファイルとしては「>」といった終端を示す文字が無くなってしまうため、XMLファイルとして成立しなくなり、PressSyncが応答データ不正と判断します。

「content-length」を信じない、という対応も可能なのですが、これを行うと別のところで更に深刻な問題を生み出しそうな為、アプリとしてはこのケースを想定しない方針です。

もしログイン時にXMLのParse系エラーメッセージが出ている場合は、この問題の可能性が非常に高いです。


お使いのサーバーの返すHTTPヘッダーの妥当性を、ご確認頂ければと思います。

以上

via PressSync