Ghub Tool Directory Structure

by Jeanette Sperhac

Version 1
by (unknown)
Version 2
by (unknown)

Deletions or items before changed

Additions or items after changed

1 When developing tools, use the recommended Hub tool directory structures and save yourself some grief.
2
3 ==Hub Application Space Directory Structure==
4
5 This is the actual directory structure of your tool's installed home on the Hub. The developer of the tool has read access to all directories except src/.
6
7 As the developer of the tool, you can run your tool from the command line (using e.g. middleware/invoke) in these directories.
8 * If the tool is Installed, it can be run from the dev/ subdirectory;
9 * if Published, it can be run from the current/subdirectory.
10
11 {{{
12 /apps/toolname/
13 dev/ - symlink to most recent Installed release
14 r1/ - release 1
15 ...
16 rn/ - release n
17 current/ - symlink to most recent Approved release
18
19 bin/ - contains binaries (executables)
20 data/ - any needed data, optional
21 doc/ - documentation, optional
22 examples/ - examples of tool use, optional
23 middleware/ - contains invoke script
24 rappture/ - contains tool.xml (must point to bin directory)
25 src/ - contains source code and Makefile
26 }}}
27
28 ==User's Tool Development Directory Structure==
29
30 Each user has a workspace to use for tool development. Setting up your workspace with a test/ area and a repo/ for each Tool you develop minimizes headaches.
31
32 Once a tool has been Registered, users can access the Workspace tool to run an xterm, create the directory structure, test and troubleshoot tools, and check out the Subversion repository contents for ''toolname''.
33
34 Recommended user workspace structure:
35
36 {{{
37 ~/apps/toolname/
38 test/ - test subdirectory, for testing tool's basic functionality, without GUI
39 repo/ - project directory structure checked out from Subversion repository
40
41 bin/ - contains binaries (executables)
42 data/ - any needed data, optional
43 doc/ - documentation, optional
44 examples/ - examples of tool use, optional
45 middleware/ - contains invoke script
46 rappture/ - contains tool.xml (must point to bin directory)
47 src/ - contains source code and Makefile
48 }}}
49
50 From the hub team:
51
52 "The initial project directory structure is set by contribtool. Upper level directories include src, bin, rappture, data, examples, doc, and middleware. To operate smoothly within the HUB infrastructure it is expected that these directories be left intact although they may remain empty."
53
54 from https://nanohub.org/answers/question/374
55
56 +
[[Anchor(user-session)]]
57 ==User Session Information==
58
59 When testing and troubleshooting your Tools on the Hub, you can make use of your own user session information. Refer to the following subdirectories of your home directory for session and result data:
60
61 {{{
62 ~/data/
63 sessions/ - uniquely numbered sessions opened by the user
64 results/ - results generated in sessions, identified by session number
65 }}}