ホームページ開発ツール>サンプル8

サンプル8


 myFTPsync 2.0a1

 同期に特化した、シンプルなFTPソフトです。


注)画面は2.0a1のものです。

 本サンプルはフリーウェアです。ご自由に改造していただいて構いません。
 本サンプルはXojo 2016 Release 3 (ML)で作成しました。

【サンプルの説明】
  1. ローカル(パソコン)とサーバをFTPで接続し、両者の同期(ローカルにサーバを合わせる)を取ります。
  2. 同期の内訳は以下のとおりです。
    (1)ローカルにあってサーバにないファイル、フォルダをアップロード
    (2)ローカル、サーバともにあって、ローカルの修正日時がサーバより新しいファイルをアップロード
    (3)サーバにあってローカルにないファイル、フォルダを削除
  3. 同期モードは、アップロードのみ、アップロード&削除の2種類から選択できます。
    (アップロードのみでは上記(1)(2)、アップロード&削除では(1)(2)(3)が対象になります。)
  4. 同期処理は、変更箇所の取得とファイル操作の2つのフェイズに分かれています。そのため、必要であればユーザ側で追加したり、取り消したりできます。
  5. サーバの設定やローカルフォルダの場所をデータセットとして保存、呼び出しができます。
  6. サーバ側の修正日時を補正できます。サーバがUTC(GMT)を採用している等の理由により、ローカル(例えば日本時間)との差によって更新がないと看做されてしまうケースに対処します。
【ver.1との違い】
  1. プロジェクトは、Xojo 2016 Release 3 (ML)で作成しています。
  2. ビルドされたものは、Cocoaアプリケーションになります。
  3. 2013 Release 1以降、CocoaアプリではThreadからコントロールにアクセスできなくなったため、Timerを使う方式に変更しています。
  4. ツールバーはCocoaのDeclareで実装しています。
  5. FTPサーバ設定の項目に、サーバの改行コード(テキストのアップロード時に適用。LF.CR+LF,CRから選択)を追加しています。
  6. FTPサーバ設定のうち、パスワードは暗号化して保存しています。
  7. 改行コードの追加及びパスワードの暗号化により、初期設定ファイルの形式が異なります。(初回起動時にver.1形式の初期設定ファイルが見つかった場合は設定を継承します。この時、サーバの改行コードはLFが適用されます。)
【サンプル(ソース)についての注意事項】
  1. テストは限られたサーバでしか行っていません。接続検証は利用者個々の環境で確認して下さい。
  2. エラー処理は最低限しか行っていません。必要に応じて追加して下さい。
    (特に、ファイル転送が途中で失敗したりサーバから予期せぬ応答があった場合の対応は、未検証です。)
  3. FTPのみです。SFTP, FTPS等の対応は行っていません。必要なら追加して下さい。
  4. ファイルタイプ(AsciiかBinaryかの判定用)リストは、テキストエディタで編集することは可能ですが、本サンプル上で編集することはできません。必要なら追加して下さい。
  5. 暗号化はパスワードについてのみ行い、その他の項目及びプライベートキーは対象外としています。必要なら対策して下さい。
  6. Bundle Identifierは暫定的なものです。必要なら改変して下さい。
  7. 上記各点について、作者はサポートいたしません。
【サンプル(アプリケーション)についての注意事項】
 デジタル署名(Code Sign)は付加していません。デジタル署名のないアプリケーションの起動方法については、こちらをご覧下さい。

【本ソフトをサンプルとして公開することについて】
 本ソフトをサンプルとして公開するのは、以下の2つの理由によります
(1) コア部分(FTPソケット)が、ソース公開されているものを使わせて頂いているため、それに倣った。
(2) FTPはサーバによって仕様が異なるため、作者側で全てに対応することは困難と判断し、利用者側で改変できるようにした。

【謝辞】
 本ソフトでは、FTPソケットおよびその付帯処理に、Brian F. Jones氏が作成した「RB FTP」を使わせて頂きました。有用なソースコードを公開されている作者様、および日本国内での再配布元HPの作者様に、感謝の意を表します。
 Brian F. Jones氏のホームページ:http://fly.hiwaay.net/~brjones/(現在存在しないようです。)
 プロジェクトのダウンロードサイト
 http://rbftp.at.infoseek.co.jp/(こちらも、現在存在しないようです。)

【インストール方法】
 ダウンロード後に解凍してできたフォルダを、ディスク内の任意の場所に置いてください。

【アンインストール方法】
(1) インストールしたフォルダを、ゴミ箱に捨ててください。
(2) 「myFTPsync初期設定」フォルダを、ゴミ箱に捨ててください。下記フォルダ内にあります。
 ・ユーザ/<ユーザ名>/ライブラリ/Preferences/

【更新履歴】
・ver.2 新規作成
(ver.1の更新履歴はこちらをご覧下さい。)

【既知の問題点と対策】
・ファイル名にアンダーバーが含まれていると、ファイル比較時に齟齬が生じる場合があることが確認できています。
 これは、並べ替えに使っているSort()と、比較に使っているStrComp()(いずれもXojoのAPI)で、アンダーバーの評価が異なることが原因と考えられます。
 なので、Sort()を、StrComp()ベースの自作メソッドに置き換えれば齟齬が解消し、正しい比較が行えるようになります。
(2021.09.06追記)

【解凍についてのご注意】
 ファイルは、zip形式で圧縮されています。(dmg形式ではありません。)

myFTPsync 2.0a1(4.2MByte)をダウンロード


[Home]  [MacSoft]  [Donation]  [History]