Ghub Tool Directory Structure
Search
- 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 | }}} |