Enhance usability of "Add Path"
|Reported by:||Leon||Owned by:||Ryan J Ollos|
Description (last modified by )
When a user adds a new Subversion Path via the "Add Path" dialog, the user must provide the precise path details (example: I do this by browsing to the desired repository path, copy + pasting the path details, and trimming unnecessary characters). If the path is mistyped, or a path is not-precise due to unnecessary characters (example: extra '/' at the end), the path may be invalid.
The plugin interface currently does not provide any techniques to combat or limit the introduction of such user entry problems.
- In addition to the current technique of going through the "Add Path" process (where a path is just typed in), enhance the interface by providing either:
- Validate a Path
- Browse for a Path
Discussion of Options:
- Validate a Path: If a user types a path in, give them the option to "Validate Path"... which would check if the path they entered is valid or not. If invalid, perhaps give the user some output to help diagnose the problem.
Of course, the extent of this 'diagnose output' could be curtailed due to security concerns. Which is why #2 is recommended below since it provides the same functionality as browsing the repository via the Trac web based system. This prevents providing any additional, unnecessary details about the system Trac is hosted on.
- Browse for a Path:
Currently Trac's "Browse Source" toolbar button takes users to a website where users can browse a repository via their web browser.
Using the "Browse Source" idea, the "Add Path" process can become more interactive. If a user wants to "Add Path":
- User clicks "Search for Path to Add"
- Users selects a path in the browser window
- The path selected shows up in the "Add Path" dialog
- User pushes "Add" and path is added
Recommendation: Option 2, AKA: "Browse for a Path"
- Option 2 can also prevent common mistakes:
- When adding a path, users may sometimes not include the "repository" portion of the path entry (when it *is* needed)
Example: suppose there are 2 repositories: svn_repo_a and svn_repo_b
a___________directory_in_this_repository(appearing in svn_repo_a)
a_different_directory_in_this_repository(appearing in svn_repo_b)
When browsing, the browser window would know the repository name and the directory name the user is currently viewing:
That is, suppose "a_different_directory_in_this_repository" doesn't exist in "svn_repo_a" (for instance). It would be impossible to add a path entry for "a_different_directory_in_this_repository" for svn_repo_a . That is because paths be inferred through the what the user is viewing.
These entries are thus generated and placed into the svn Autz config file: