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

PressSync次期バージョンにてiOS7対応版をリリースします

タイトルの通りです。


先ほど申請したところです。

iOS6から7はUI周りが大きく変わっています。


PressSyncはiOS5以降からサポートしている都合、全環境で同じ動作になるように実装する事自体が難易度が高く、一旦はUIだけの対応版をリリースさせていただきます。

以上

via PressSync

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

なんか呟いてると、それだけで周知しているつもりになってしまうのですが、たぶんそんな事はないのでちゃんと記しておきます(^^;

カスタム投稿タイプ、カスタムタクソノミーに対応

Pro版、広告版ともに対応します。

同期件数の最大値を200件から2000件に引き上げます。

この対応はPro版のみになります。

カスタム投稿タイプは主にCMSで使うという性質上、最大同期件数引き上げておく必要がある、、、と漠然と感じて漠然と上げました。

ただ、同期件数を増やすと、アプリ起動時に一覧に読み込む件数が各タブを合計すると数千件に及ぶ可能性があります。
iOSアプリは何秒以内に起動しなければOSにアプリを殺されてしまうという仕様があり、iPhone4や、3GSなど、パフォーマンスの低い端末ではこの制限に引っ掛かる可能性がある事に申請してから気がつきました。

アプリが起動しなくなると、ユーザーが同期件数を減らす事も出来なくなり、デッドロック状態になってしまうため、これはイカンという事でセルフリジェクトを計画しています。


起動処理に安全措置を組み込んだ上で再度リリースします。

フリー版の方が先に新機能実装という形になってしまいそうです。申し訳ありません。

via PressSync

PressSync、開発に際しての拘りポイント(OS標準のUndoManagerを壊さない)

これは5年前にWindows Mobile向けにHatenaSyncを作った時から意識していた事でした。

UndoManagerとは文字通りUndo(元に戻す)、Redo(やり直し)を司る、おおよそ普通のOSには備わっている機能です。

iOSの場合、直近の文字入力を取り消したい場合、iPhoneをシェイクすると出てくるあれです。





ハードウェアキーボード利用時は、Ctrl+Z、Ctrl+Shift+ZでUndo、Redoを呼び出せます。

何も考えずにテキストエディタ系のアプリを作ると、何かの機能を呼び出した瞬間にUndoManagerの履歴が消えて、そこから過去に辿れなくなったりするのですが、HatenaSyncシリーズやPressSyncはどのような操作を行っても過去の状態に戻れるように意識して作っています。

ただ、ひょっとしたらバグはあるかもしれない^^;

とは言ってもたいそうな事はしていなくて、壊さないように気をつけているだけですね。

via PressSync