Next version of JABA
[jabaws.git] / TODO.txt
1 TODO: \r
2 \r
3 DONE: LocalExecutor service must be shutdown on web application undeploy event not on JVM shutdown. \r
4 This is because JVM is still running even after web application is shut down!\r
5 \r
6 \r
7 Good toString method for Limits (test with command line client -limits)\r
8 \r
9 Add facility to distribute other results of the calculations like the trees and annotation file for probcons. \r
10 \r
11 Use absolute path for web site download links as archives are not included into distro! \r
12 \r
13 \r
14 (later) Define limits for presets\r
15 \r
16 Add documentation on Presets, Parameters and Limits\r
17 \r
18 Explain how to define a limit\r
19 \r
20 Rearrange web site docs - add links to the top of the page to the topics discussed below\r
21 \r
22 Put the documentation for various executables online\r
23 \r
24 Pack the test cases and build file to run them in one of the distributives \r
25 \r
26 Add test for repeated result collection from cluster engine \r
27 \r
28 Add logging facility to WSTester so more details of the problem can be reported\r
29 \r
30 Make left gradient image one-two characters larger + change "For developer ->For Developers"\r
31 \r
32 PART DONE: test local/cluster execution - test Load balancer\r
33 \r
34 (low) Statistics collector for engines (number of operations/timing)\r
35 \r
36 (later) WRAP Amps\r
37 \r
38 (later) Implement utility to rerun died tasks\r
39 \r
40 (later) Progress bars - talk about (1. Proper time assessment vs low hustle option - dumping output to screen)\r
41 \r
42 (later) Add recognition for executables for the different architectures\r
43 \r
44 (later) use Latch to manage engine reservations. Reservations for parallel jobs? \r
45 \r
46 DONE\r
47 DONE: Improve SimpleWS client so it can be scripted against: give user alignment and accept parameters\r
48 DONE: Make a configuration tester class (check that configuration files point to the executables, and they can be executed)\r
49 DONE: PUT CLIENT JAR INTO WEB-INF/LIB - most likely need to get rid of dist prefix in the build file\r
50 DONE: Different packages for donwload and dundee. generic vs specific settings. \r
51 DONE: JAVADOC\r
52 DONE: Refactor EngineResourcesLeak tester to hide a map implementation!\r
53 DONE: Compile executables for linux in the most generic way\r
54 DONE: Make different log4j configuration files / web services logs.\r
55 DONE: System manual\r
56 DONE: Developer doc\r
57 DONE: How to\r
58 DONE: Prepare different packages\r
59 DONE: extract commonly used names into variable in the build script\r
60 DONE: Test for high load conditions (TestNG?)\r
61 DONE: (low) Fix: Started jobs with unknown completion status reported as FINISHED by  msaws.getJobStatus(taskId) (see SimpleWSClient)\r
62 DONE: fix compile binaries script\r
63 DONE: Make script to change executable flag for linux systems\r
64 DONE: jobsout must be created within war\r
65 DONE: enable relative paths for local engine conf temp dir\r
66 COUND NOT REPRODUCE: fix cluster job status - RUNNING -> UNDEFINED\r
67 DONE: throw JobSubmission exception with appropriate method instead - (low) code discoverer/tester for ws - e.g. after war deployment to find out what actually works\r
68 DONE: fix build scripts after reorganising project\r
69 DONE: package as war file for deployment\r
70 DONE: package for jalview distro for local execution\r
71 DONE: reorganise project into independent chunks\r
72 DONE: test Parameter & Option toCommand method\r
73 DONE: Replace WS methods with new CommandBuilder.toCommand()\r
74 DONE: Setting default values is validated as external method \r
75 DONE: Refactoring to extract data model, and engines is performed\r
76 DONE: Default value is adopted for passing new Option values to server side\r
77 DONE: Converting Options to commands delegated to CommandBuilder  \r
78 DONE: Make Arguments mutable to facilitate default value setting for WS\r
79 DONE: Matrix files for alignment programme\r
80 DONE: Clean up testcases\r
81 DONE: Replace List<String> as command line parameters abstraction to dedicated CommandBuilder class \r
82 DONE: Parallel execution for tcoffee jobs\r
83 DONE: Copyright added\r
84 DONE: WRAP ProbCons\r
85 DONE: think about time limits and cluster parameters for parallel execution - NativeSpecs for cluster is implemented\r
86 DONE: (low) Use for WS: (@WebParam(name = "name") String name) {\r
87 DONE: Implement rough policy for runtimes (e.g. do not run excessively long tasks on the local machine if cluster is available)\r
88 DONE: Write tomcat conf to expose WS\r
89 DONE: access control to web.xml\r
90 DONE: Statistics collector for WS\r
91 DONE: implements limits for web services\r
92 DONE: WS clients must be able to connect to a web service given the service url. \r
93 e.i. ws URL should not be compiled in using wsimport, but determined from \r
94 the configuration file.  \r
95 \r
96 DONE: Could not find configuration files if run from within servlet container\r
97 DONE: Add ways to get engine based on the key for everything but submission of the new tasks \r
98 DONE: Add cache to Cluster JOBID - so that at least jobs for which results have not been collected is cached.\r
99 DONE: FINISHED overrides FINISHED with time stamp!\r
100 DONE: Consider think about JobStatus and StatFileStatus\r
101 DONE: a method to read 3 chars at the beginning of the file to indicate a progress is added\r
102 DONE: ConfiguredExecutable<?> al = sexec.getResults(jobId); || Alignment ?\r
103 DONE: ClustalW - OUTput must be set !\r
104 DONE: Add accessor methods to get a DUMP of the process output \r
105 DONE: FilePuller should be cached to avoid excessive fs exercise\r
106 DONE: Test List of the processes (ensure no memory leaks)\r
107 PART DONE - On the client on shutdown remember the task list - server tasks could be loaded and executed from saved run configurations, client should decide for themselves what they want\r
108 DONE: Persist the task list to enable later result collection on the server side\r
109 DONE Wrap TCoffee\r
110 DONE: improve parameters handling - new schema + update for all parameters\r
111 DONE: Cluster jobs report submitting and result collecting/finishing time (for sync jobs only(!)) and cluster jobid in the corresponding files  \r
112 DONE: Local jobs report starting and finising times in files with corresponding names in the task directory  \r
113 DONE: Generalize getResult method for MSA runners\r
114 DONE: Create test suits\r
115 DONE: Convert junit tests to TestNG\r
116 DONE: Redirect output & error streams to the named files as some processed need this  \r
117 DONE: Extract generilyzed class with most of the method for individual executable to use\r
118 DONE: Refit wrappers to use the generalised class to avoid duplication  \r
119 DONE: Pass environment variable settings to the executable\r
120 DONE: Complete AsyncExecutors implementation\r
121 DONE: Look to unify methods for engines\r
122 DONE: Provide way around of generated directory setup for test cases(?)\r
123 DONE: Fix the test cases for local engine (need to set directory on executable explicitly)\r
124 DONE: Make log files for processes err and out for local execution\r
125 DONE: Trace where AsyncExcel called with null Executable and attempts to create a new directory repeatedly\r
126 DONE: directory generator\r
127 DONE: tests for cancel \r
128 DONE tests for getStatus\r
129 DONE  ws async\r
130 DONE: parametrized clustal operations\r
131 DONE: test large datasets handling \r
132 DONE: write load balancer \r
133 DONE: (low) task persistance\r
134 DONE: Look at CancellableTask if with Sync and AsyncExecutor \r