Better method for searching JAVA
[jabaws.git] / TODO.txt
1 \r
2 Write help on \r
3  - execution stats\r
4  - new VM \r
5  - new properties e.g. jar\r
6  - registry\r
7  - merge developers help pages\r
8  - new menu bar background & page background(?)\r
9  - change log \r
10  - main page should point to JABA 1   \r
11  - Document the Limits for presets\r
12  - JAVA DOCS\r
13  - defaults changed - e.g. limits are disabled - explain how to enable\r
14  - cluster settings are commented out \r
15  - Describe requirements \r
16 Python > 2.2\r
17 Perl > 5.0\r
18 Java > 6\r
19 For compilation \r
20 C++\r
21 C\r
22 Gnu make\r
23    \r
24 - Check progress tracking on large sequence.\r
25 \r
26 - Add more detailed tests for webservices? \r
27 \r
28 - TODO write some help on the executable.properties within this file! \r
29 check that after binaries relocation build tasks point to correct locations!\r
30 \r
31 \r
32 add to help text: To disable a web service remove it from WEB-INF/sun-jaxws.xml descriptor\r
33 \r
34 rename jaba.war to jabaws.war and make sure jabaws context path is used throughout. \r
35 \r
36 \r
37 ? Replace conservation.Method with server.ws.Method and try building WS. If this does not work - get rid of Method\r
38 \r
39 integrate the above to tweak the size of the local job\r
40 \r
41 \r
42 (later) Add documentation on Presets, Parameters and Limits\r
43 (later) Explain how to define a limit\r
44 \r
45 Add test for repeated result collection from cluster engine\r
46 \r
47 \r
48 \r
49 DONE\r
50 \r
51 version 2\r
52 \r
53 DONE: Current stat collector has to rely on file dates! \r
54 DONE: Help information? - relative - client to add host and context info\r
55 DONE: statistics - result files \r
56 DONE: Good toString method for Limits (test with command line client -limits)\r
57 DONE: install JABA 1 stat server \r
58 DONE: Get path to Java executable from JAVA_HOME ? (for Jronn AACon) \r
59 \r
60 DONE:  GET rid of binaries/help directory!\r
61 DONE:  update binaries\r
62  DONE:  muscle binary version 3.8.31 for win/lin32/lin64 and sources, docs in website/prog_docs\r
63  DONE:  test Muscle on the cluster\r
64  DONE:  test Muscle compilation\r
65  DONE:  probcons up-to-date\r
66  DONE:  clustal up-to-date \r
67  DONE:  update tcoffee (8.99 latest) source code updated  docs updated \r
68  DONE:  tcoffee compilation for IA32 \r
69  DONE:  update Mafft (6.857 latest) for win/lin32/lin64 and sources, no docs updates\r
70 DONE:  make sure conf files are optional!\r
71 \r
72 Cluster stats: \r
73  DONE: cancelled should not be reported as incomplete!\r
74  DONE: ant task to clean up clean stat db task before packing web app\r
75  DONE: pack web apps with stat db (NOT TESTED!)\r
76  DONE: change input size bites\r
77  DONE: add help info for each column in the detailed job list table\r
78  DONE: replace default -1 with ? \r
79  DONE: delete and re-import the database to fix clustal input staff    \r
80 \r
81 DONE:  Test all WS as names from Executables were removed\r
82 DONE:  Add default names for input and output in every executable and use them consistently\r
83   throughts (e.g. in all WS). Best of all use the same name from SceletalExectuable \r
84   For statistics. \r
85 \r
86 DONE:  FIXED Conecting to JABAWS version 2 service\r
87   09-Feb-2011 15:27:53 compbio.ws.client.Jws2Client connect\r
88   INFO: Connected successfully!\r
89   Exception in thread "main" java.lang.NullPointerException\r
90         at compbio.ws.client.MetadataHelper.getParametersList(MetadataHelper.java:30)\r
91         at compbio.ws.client.Jws2Client.<init>(Jws2Client.java:179)\r
92         at compbio.ws.client.Jws2Client.main(Jws2Client.java:483)\r
93 \r
94 DONE:  ScoreManager should output scores properly \r
95 DONE:  Allow empty Parameters and Preset files! \r
96 DONE:  Check the WS input and reject it on submission rather then of access with error message\r
97 \r
98 DONE: Add registry service to query services status\r
99 DONE: Refactor web services checker to enable a programmatic access to its methods.\r
100 DONE: Finish the client\r
101 DONE: Add AACon ws\r
102 DONE: Add iupred ws http://iupred.enzim.hu/\r
103 DONE: Add globprot ws - does not report raw scores, just regions\r
104 DONE: Add ronn ws\r
105 DONE: Define limits for presets - if required\r
106 DONE: Add logging facility to WSTester so more details of the problem can be reported\r
107 DONE: Statistics collector for engines (number of operations/timing)\r
108 \r
109 \r
110 version 1\r
111 \r
112 DONE: LocalExecutor service must be shutdown on web application undeploy event not on JVM shutdown. \r
113       This is because JVM is still running even after web application is shut down!\r
114 DONE: Use absolute path for web site download links as archives are not included into distro!\r
115 DONE: Rearrange web site docs - add links to the top of the page to the topics discussed below\r
116 DONE: Put the documentation for various executables online\r
117 DONE: Make left gradient image one-two characters larger + change "For developer ->For Developers"\r
118 DONE: test local/cluster execution - test Load balancer\r
119 DONE: Improve SimpleWS client so it can be scripted against: give user alignment and accept parameters\r
120 DONE: Make a configuration tester class (check that configuration files point to the executables, and they can be executed)\r
121 DONE: PUT CLIENT JAR INTO WEB-INF/LIB - most likely need to get rid of dist prefix in the build file\r
122 DONE: Different packages for download and dundee. generic vs specific settings. \r
123 DONE: JAVADOC\r
124 DONE: Refactor EngineResourcesLeak tester to hide a map implementation!\r
125 DONE: Compile executables for linux in the most generic way\r
126 DONE: Make different log4j configuration files / web services logs.\r
127 DONE: System manual\r
128 DONE: Developer doc\r
129 DONE: How to\r
130 DONE: Prepare different packages\r
131 DONE: extract commonly used names into variable in the build script\r
132 DONE: Test for high load conditions (TestNG?)\r
133 DONE: (low) Fix: Started jobs with unknown completion status reported as FINISHED by  msaws.getJobStatus(taskId) (see SimpleWSClient)\r
134 DONE: fix compile binaries script\r
135 DONE: Make script to change executable flag for linux systems\r
136 DONE: jobsout must be created within war\r
137 DONE: enable relative paths for local engine conf temp dir\r
138 COUND NOT REPRODUCE: fix cluster job status - RUNNING -> UNDEFINED\r
139 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
140 DONE: fix build scripts after reorganising project\r
141 DONE: package as war file for deployment\r
142 DONE: package for jalview distro for local execution\r
143 DONE: reorganise project into independent chunks\r
144 DONE: test Parameter & Option toCommand method\r
145 DONE: Replace WS methods with new CommandBuilder.toCommand()\r
146 DONE: Setting default values is validated as external method \r
147 DONE: Refactoring to extract data model, and engines is performed\r
148 DONE: Default value is adopted for passing new Option values to server side\r
149 DONE: Converting Options to commands delegated to CommandBuilder  \r
150 DONE: Make Arguments mutable to facilitate default value setting for WS\r
151 DONE: Matrix files for alignment programme\r
152 DONE: Clean up testcases\r
153 DONE: Replace List<String> as command line parameters abstraction to dedicated CommandBuilder class \r
154 DONE: Parallel execution for tcoffee jobs\r
155 DONE: Copyright added\r
156 DONE: WRAP ProbCons\r
157 DONE: think about time limits and cluster parameters for parallel execution - NativeSpecs for cluster is implemented\r
158 DONE: (low) Use for WS: (@WebParam(name = "name") String name) {\r
159 DONE: Implement rough policy for runtimes (e.g. do not run excessively long tasks on the local machine if cluster is available)\r
160 DONE: Write tomcat conf to expose WS\r
161 DONE: access control to web.xml\r
162 DONE: Statistics collector for WS\r
163 DONE: implements limits for web services\r
164 DONE: WS clients must be able to connect to a web service given the service url. \r
165 e.i. ws URL should not be compiled in using wsimport, but determined from \r
166 the configuration file.  \r
167 \r
168 DONE: Could not find configuration files if run from within servlet container\r
169 DONE: Add ways to get engine based on the key for everything but submission of the new tasks \r
170 DONE: Add cache to Cluster JOBID - so that at least jobs for which results have not been collected is cached.\r
171 DONE: FINISHED overrides FINISHED with time stamp!\r
172 DONE: Consider think about JobStatus and StatFileStatus\r
173 DONE: a method to read 3 chars at the beginning of the file to indicate a progress is added\r
174 DONE: ConfiguredExecutable<?> al = sexec.getResults(jobId); || Alignment ?\r
175 DONE: ClustalW - OUTput must be set !\r
176 DONE: Add accessor methods to get a DUMP of the process output \r
177 DONE: FilePuller should be cached to avoid excessive fs exercise\r
178 DONE: Test List of the processes (ensure no memory leaks)\r
179 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
180 DONE: Persist the task list to enable later result collection on the server side\r
181 DONE Wrap TCoffee\r
182 DONE: improve parameters handling - new schema + update for all parameters\r
183 DONE: Cluster jobs report submitting and result collecting/finishing time (for sync jobs only(!)) and cluster jobid in the corresponding files  \r
184 DONE: Local jobs report starting and finising times in files with corresponding names in the task directory  \r
185 DONE: Generalize getResult method for MSA runners\r
186 DONE: Create test suits\r
187 DONE: Convert junit tests to TestNG\r
188 DONE: Redirect output & error streams to the named files as some processed need this  \r
189 DONE: Extract generilyzed class with most of the method for individual executable to use\r
190 DONE: Refit wrappers to use the generalised class to avoid duplication  \r
191 DONE: Pass environment variable settings to the executable\r
192 DONE: Complete AsyncExecutors implementation\r
193 DONE: Look to unify methods for engines\r
194 DONE: Provide way around of generated directory setup for test cases(?)\r
195 DONE: Fix the test cases for local engine (need to set directory on executable explicitly)\r
196 DONE: Make log files for processes err and out for local execution\r
197 DONE: Trace where AsyncExcel called with null Executable and attempts to create a new directory repeatedly\r
198 DONE: directory generator\r
199 DONE: tests for cancel \r
200 DONE tests for getStatus\r
201 DONE  ws async\r
202 DONE: parametrized clustal operations\r
203 DONE: test large datasets handling \r
204 DONE: write load balancer \r
205 DONE: (low) task persistance\r
206 DONE: Look at CancellableTask if with Sync and AsyncExecutor \r