PHP Remote File Transfer UI Spec

Author: Leon Barnard
Date: 2008/03/03
Version: DRAFT

This document is a specification of the NetBeans IDE Remote File Transfer dialogs for PHP Projects.

Table of contents:

Introduction

NetBeans PHP project users will have the ability to automatically upload files to a remote file server (as described in the New Project Wizard UI Spec), however we would also like to provide the ability to manually upload and download files from remote file server inside the IDE. Use cases include: users that develop on a local "test" server and would like to upload files periodically to a "production" server; users that rely primarily on one FTP server, but sometimes want to upload their files elsewhere; and users that want to download existing files for use in NetBeans.

This functionality will be invoked via a context menu accessible from the Project node.

Use Cases and Scenarios

Upload

The user would like to upload files from their PHP project to a remote server. This may include users who have configured their project to use a local server and want to upload their files, users who have configured their project to use a remote server, but have chosen not to have files uploaded automatically, or users who have configured their project to use a particular remote server, but want to upload files to a different remote server.

If the user has already configured an FTP connection (in the new project wizard, for example), they would like to have this connection available to them. Also, they would like the ability to create a new connection here in a way that doesn't dramatically interrupt their workflow.

Scenario:
  1. The user right-clicks on a PHP project node and selects "Upload" from the Project context menu.
  2. A dialog is launched that allows users to select the files they wish to upload. If the user has already configured an FTP connection, the name of the connection will be shown in the "Connection Name" field. Additionally, the user name and host name of the connection will be listed below the connection name, to server as a reminder for the user. Also, the initial directory specified when the connection was set up will be shown in the "Upload Folder" field.
  3. If the user does not already have an FTP connection configured, or if they want to create a new one, they may click on the "New..." button to the right of the "Connection Name" field. The "New..." button will launch a New Remote File Transfer Connection window. This dialog allows the user to create a new remote file transfer connection. Once they have entered the connection details and press "OK", they are returned to the Upload Files dialog, with the newly-created connection selected.
  4. If the user would like to change the location where the files are uploaded to, they may click the "Browse..." button next to the "Upload Folder" field. This action will invoke the Select Upload Folder dialog, which will connect to the remote server and display a listing of its folders. If the IDE is unable to establish the connection, an error message dialog will appear describing the problem. The user may then navigate to the folder where they would like to upload their files. Clicking "OK" will return them to the Uplaod Files dialog, where the folder they selected will be shown in the "Upload Folder" field.
  5. The files that are located inside the current PHP project are shown with checkboxes next to them in a box with the label "Select files to Upload:". The files shown will mirror what is listed in the Files tab, except that the "nbproject" folder will not be shown. The file(s) or folder that were selected in the project tree when the user invoked the Upload action will be shown as checked inside this box. Users can select multiple files in the project tree to see multiple files shown as checked when the dialog is opened. Selecting a folder will also select all files inside the selected folder.
  6. Finally, the user chooses how to handle overwriting files on the server. Three choices are given: "Overwrite without asking"; "Ask for each file"; and "Do not overwrite files". The user's selection will be shown as selected the next time the dialog is opened.
  7. When the user clicks "Upload" the files will be uploaded and the upload status will be shown in the Output window.

Visualization:

Upload Files dialog New Remote File Transfer Connection dialog Select Upload Folder dialog - connecting Select Upload Folder dialog - connected

Download

The user may have existing files on a remote file server that they would like to bring into their local file system to edit inside of NetBeans. If the user has already configured an FTP connection (in the new project wizard, for example), they would like to have this connection available to them. Also, they would like the ability to create a new connection here in a way that doesn't dramatically interrupt their workflow.

Scenario:
  1. The user right-clicks on a PHP project node and selects "Download" from the Project context menu.
  2. A dialog is launched that prompts the user to connect to a remote file server. Existing FTP connections will be shown in the "Connection Name" field.
  3. If the user does not already have an FTP connection configured, or if they want to create a new one, they may click on the "New..." button to the right of the "Connection Name" field. The "New..." button will launch a New Remote File Transfer Connection window. This dialog allows the user to create a new remote file transfer connection. Once they have entered the connection details and press "OK", they are returned to the Connect to Remote File Server dialog, with the newly-created connection selected.
  4. When the user clicks "Connect", NetBeans will attempt to connect to the selected remote file server. A progress bar and a status message will be shown during this time.
  5. If the connection is successful, the dialog is replaced by the Download Files dialog, which shows a directory listing of the contents of the file server (the initial directory specified in the FTP connection details is shown by default). The user can navigate through the directory structure by using the drop-down folder list or the "up" button.
  6. Once the user has selected the desired directory, they can use checkboxes next to the files and folder inside the directory to choose the files they wish to download.
  7. The user then selects the project folder to download the files to.
  8. Finally, the user chooses how to handle overwriting files on the local file system. Three choices are given: "Overwrite without asking"; "Ask for each file"; and "Do not overwrite files". The user's selection will be shown as selected the next time the dialog is opened.
  9. Pressing the "Download" button will download the files. The status will be shown in the Output window.
  10. If the connection is interrupted while the Download Files dialog is open, a message will appear telling the user that the connection has been lost and will provide them with an opportunity to try to reconnect.

Visualization:

Connect to Remote File Server dialog - not connected Connect to Remote File Server dialog - connecting Download Files dialog Connection Lost dialog

Synchronize

TBD

Specification

Figure 1. Upload Files dialog

Figure 2. New Remote File Transfer Connection dialog

Figure 3. Select Upload Folder dialog - connecting

Figure 4. Select Upload Folder dialog - connected

Figure 5. Connect to Remote File Server dialog - not connected

Figure 6. Connect to Remote File Server dialog - connecting

Figure 7. Download Files dialog

Figure 8. Connection Lost dialog

Project Features

About this Project

ui was started in November 2009, is owned by Jiří Kovalský, and has 43 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close