TODO
Version 15 (Etienne Pallier, 08/10/2016 04:48 pm)
1 | 1 | Paul Carensac | h1. TODO |
---|---|---|---|
2 | 1 | Paul Carensac | |
3 | 1 | Paul Carensac | List of tasks by application, and general tasks (organization, tools, ...) |
4 | 1 | Paul Carensac | |
5 | 1 | Paul Carensac | {{>toc}} |
6 | 1 | Paul Carensac | |
7 | 1 | Paul Carensac | --- |
8 | 1 | Paul Carensac | |
9 | 1 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}General tasks% |
10 | 1 | Paul Carensac | |
11 | 3 | Etienne Pallier | |
12 | 11 | Etienne Pallier | * DJANGO : |
13 | 12 | Etienne Pallier | |
14 | 11 | Etienne Pallier | * Upgrade to Django 1.10 |
15 | 13 | Etienne Pallier | * Remplacer le serveur web de "dev" (manage runserver) par un vrai serveur web pour la "prod" (Apache pour les fichiers statiques + serveur d'application Python pour le code Python, par exemple gunicorn) |
16 | 11 | Etienne Pallier | (cf https://projects.irap.omp.eu/projects/pyros/wiki/Project_Development#Serveur-Web) |
17 | 4 | Etienne Pallier | |
18 | 9 | Etienne Pallier | * COMET installation : Include in the install_requirements.sh script (by using stable official version for Python 3 (when available) on Linux (and Mac) and Windows 10 |
19 | 3 | Etienne Pallier | |
20 | 10 | Etienne Pallier | * GIT : Create a "dev" branch (do not write anymore on the "master" branch) |
21 | 7 | Etienne Pallier | |
22 | 14 | Etienne Pallier | * DOC: |
23 | 14 | Etienne Pallier | |
24 | 14 | Etienne Pallier | * TESTS: |
25 | 14 | Etienne Pallier | |
26 | 14 | Etienne Pallier | * Unit tests |
27 | 14 | Etienne Pallier | * Functional tests (with Celery and simulators) |
28 | 14 | Etienne Pallier | |
29 | 14 | Etienne Pallier | * LAUNCH: |
30 | 14 | Etienne Pallier | |
31 | 14 | Etienne Pallier | * Start simulators |
32 | 14 | Etienne Pallier | * Start Celery |
33 | 14 | Etienne Pallier | * Start pyros |
34 | 14 | Etienne Pallier | |
35 | 14 | Etienne Pallier | * USE: |
36 | 14 | Etienne Pallier | |
37 | 14 | Etienne Pallier | * Administration of the database: http://localhost:8000/admin |
38 | 15 | Etienne Pallier | * Interacting with Pyros: http://localhost:8000 |
39 | 1 | Paul Carensac | |
40 | 15 | Etienne Pallier | * Watch the environment: Devices, Site, Weather |
41 | 15 | Etienne Pallier | * Watch the schedule: Schedule |
42 | 15 | Etienne Pallier | * Watch the data processing (workflow): System (Dashboard) |
43 | 15 | Etienne Pallier | * Submit a Routine Request (and get results): Routines |
44 | 15 | Etienne Pallier | * Simulate an Alert: Alerts (TODO) |
45 | 15 | Etienne Pallier | * Manual operations on the Telescope : Devices/Telescope (TODO) |
46 | 15 | Etienne Pallier | * Manage users : Users |
47 | 14 | Etienne Pallier | |
48 | 14 | Etienne Pallier | |
49 | 14 | Etienne Pallier | |
50 | 1 | Paul Carensac | --- |
51 | 1 | Paul Carensac | |
52 | 1 | Paul Carensac | h2. %{margin-left:0px; font-weight:bold; font-size:25px; display:block; color:red;}Applications tasks% |
53 | 2 | Paul Carensac | |
54 | 2 | Paul Carensac | h3. Dashboard |
55 | 2 | Paul Carensac | |
56 | 2 | Paul Carensac | * Create the backoffice views as the modules are integrated in pyros |
57 | 2 | Paul Carensac | * Think about a system of permissions |
58 | 2 | Paul Carensac | |
59 | 2 | Paul Carensac | h3. Scheduler |
60 | 2 | Paul Carensac | |
61 | 2 | Paul Carensac | * views |
62 | 2 | Paul Carensac | |
63 | 2 | Paul Carensac | * Link the main page to the current schedule instead of the simulation page |
64 | 2 | Paul Carensac | * Show user sequences in the schedules (with links) |
65 | 2 | Paul Carensac | * Give accces to old schedules (day / days before / all end-night plannings / all plannings) |
66 | 2 | Paul Carensac | * Give access to the refused sequences of a schedule, and the reasons of rejects |
67 | 2 | Paul Carensac | |
68 | 2 | Paul Carensac | * scheduler |
69 | 2 | Paul Carensac | |
70 | 2 | Paul Carensac | * Change the system to determine night start/end (they must be given in parameter, only if first_schedule is True) |
71 | 2 | Paul Carensac | * Store the reasons of rejects (create a new attribute, in shs ?) |
72 | 2 | Paul Carensac | * What is the 'flag' attribute ? (@AK) |
73 | 2 | Paul Carensac | * Do not create the execute_sequence tasks if it's not the night (- 120 seconds) |
74 | 2 | Paul Carensac | * Priority and quota computing |
75 | 2 | Paul Carensac | * Quotas evolution |
76 | 2 | Paul Carensac | * Blank space filling |
77 | 2 | Paul Carensac | * At the end of a scheduling send, it to the IC ? |
78 | 2 | Paul Carensac | |
79 | 2 | Paul Carensac | h3. Alert Manager |
80 | 2 | Paul Carensac | |
81 | 2 | Paul Carensac | * Web : |
82 | 2 | Paul Carensac | |
83 | 2 | Paul Carensac | * Print if there is an alert in progress in the main page |
84 | 2 | Paul Carensac | * Link the alerts to their status and results |
85 | 2 | Paul Carensac | |
86 | 2 | Paul Carensac | * Connect to a real VOEvent broker |
87 | 2 | Paul Carensac | |
88 | 2 | Paul Carensac | * Determine the communication with FSC for strategy change |
89 | 2 | Paul Carensac | |
90 | 2 | Paul Carensac | * VOEvents : |
91 | 2 | Paul Carensac | |
92 | 2 | Paul Carensac | * Extract the good fields (see AK Q&A 07/01/2016) |
93 | 2 | Paul Carensac | * Fill the request & alerts objects |
94 | 2 | Paul Carensac | * Use strategies to build a request |
95 | 2 | Paul Carensac | * Possibility to change the default strategy |
96 | 2 | Paul Carensac | * Handle VOEvent updates |
97 | 2 | Paul Carensac | * Be careful to not create 2 alerts for a same GRB, seen by 2 different satellites |
98 | 2 | Paul Carensac | |
99 | 2 | Paul Carensac | |
100 | 2 | Paul Carensac | h3. Analyzer |
101 | 2 | Paul Carensac | |
102 | 2 | Paul Carensac | * Apply the calibrations in the right function |
103 | 2 | Paul Carensac | * Apply the analyses only if it's a GRB |
104 | 2 | Paul Carensac | * Implement the analyses |
105 | 2 | Paul Carensac | * Send analyses to FSC |
106 | 2 | Paul Carensac | |
107 | 2 | Paul Carensac | |
108 | 2 | Paul Carensac | h3. Majordome |
109 | 2 | Paul Carensac | |
110 | 2 | Paul Carensac | * TaskManager |
111 | 2 | Paul Carensac | |
112 | 2 | Paul Carensac | * When a sequence is cancelled, give back the quota to the user |
113 | 2 | Paul Carensac | * In case of alert, do not stop the ongoing plan, and make the instruments abort |
114 | 2 | Paul Carensac | |
115 | 2 | Paul Carensac | * execute_sequence |
116 | 2 | Paul Carensac | |
117 | 2 | Paul Carensac | * Add the PLC checks at start (to see if we do the slew) |
118 | 2 | Paul Carensac | * Use the global telescope (instead of creating one here) |
119 | 2 | Paul Carensac | * Give first_schedule as false when a scheduling is launched |
120 | 2 | Paul Carensac | * Remove the default countdown (1, for tests) |
121 | 2 | Paul Carensac | |
122 | 2 | Paul Carensac | * system_pause |
123 | 2 | Paul Carensac | |
124 | 2 | Paul Carensac | * Abort the isntruments |
125 | 2 | Paul Carensac | * Stop the execution tasks |
126 | 2 | Paul Carensac | |
127 | 2 | Paul Carensac | * system_restart |
128 | 2 | Paul Carensac | |
129 | 2 | Paul Carensac | * Start a scheduling |
130 | 2 | Paul Carensac | |
131 | 2 | Paul Carensac | * change_obs_conditions |
132 | 2 | Paul Carensac | |
133 | 2 | Paul Carensac | * Change sequences status (if needed) |
134 | 2 | Paul Carensac | * If some status changed, re-launch a scheduling |
135 | 2 | Paul Carensac | |
136 | 2 | Paul Carensac | |
137 | 2 | Paul Carensac | h3. Monitoring |
138 | 2 | Paul Carensac | |
139 | 2 | Paul Carensac | * views |
140 | 2 | Paul Carensac | |
141 | 2 | Paul Carensac | * Move the dashboard here |
142 | 2 | Paul Carensac | * Print the instrument status |
143 | 2 | Paul Carensac | * Print PLC informations (with the evolution) |
144 | 2 | Paul Carensac | * In the dashboard screens, put scroll on each screen to see the old logs |
145 | 2 | Paul Carensac | |
146 | 2 | Paul Carensac | * Monitoring task |
147 | 2 | Paul Carensac | |
148 | 2 | Paul Carensac | * Uncomment the scheduling at the beginning |
149 | 2 | Paul Carensac | * Implement night start/end computation |
150 | 2 | Paul Carensac | * Initialize communication with the instruments |
151 | 2 | Paul Carensac | * Configure intruments at start |
152 | 2 | Paul Carensac | * Send software versions to the IC |
153 | 2 | Paul Carensac | * Initialize connection with PLC |
154 | 2 | Paul Carensac | * After the starting actions, loop to wait for the instruments configuration to be finished |
155 | 2 | Paul Carensac | * Ask PLC for status |
156 | 2 | Paul Carensac | * Ask filter wheel for status |
157 | 2 | Paul Carensac | * Store the instruments & PLC status |
158 | 2 | Paul Carensac | * Send all status to IC |
159 | 2 | Paul Carensac | * Analyse PLC status (obs conditions, ...) |
160 | 2 | Paul Carensac | * Create tasks of obs condition changes |
161 | 2 | Paul Carensac | |
162 | 2 | Paul Carensac | |
163 | 2 | Paul Carensac | h3. Observation Manager |
164 | 2 | Paul Carensac | |
165 | 2 | Paul Carensac | * execute_plan : |
166 | 2 | Paul Carensac | |
167 | 2 | Paul Carensac | * Use the cameras at a global level instead of creating them here (same for the filter wheels) |
168 | 2 | Paul Carensac | * Uncomment the instruments_ready waiting function |
169 | 2 | Paul Carensac | * Uncomment the observation_ending waiting function |
170 | 2 | Paul Carensac | * Try to remove code duplication |
171 | 2 | Paul Carensac | * Determine what needs to be done at the end of an observation |
172 | 2 | Paul Carensac | |
173 | 2 | Paul Carensac | * create_calibrations : |
174 | 2 | Paul Carensac | |
175 | 2 | Paul Carensac | * Make the calibration images |
176 | 2 | Paul Carensac | * Generate super images |
177 | 2 | Paul Carensac | * Send them to the IC |
178 | 2 | Paul Carensac | |
179 | 2 | Paul Carensac | |
180 | 2 | Paul Carensac | h3. Routine Manager |
181 | 2 | Paul Carensac | |
182 | 2 | Paul Carensac | * Web |
183 | 2 | Paul Carensac | |
184 | 2 | Paul Carensac | * Put the goods fields (for coordinates etc) |
185 | 2 | Paul Carensac | * Only propose the objects that matches the conditions (ex: scientific programs of the user only) |
186 | 2 | Paul Carensac | * Do all the needed checks |
187 | 2 | Paul Carensac | * Add automatic computation of JD1/JD2 |
188 | 2 | Paul Carensac | * Add checkbox for JD / GD |
189 | 2 | Paul Carensac | * Add options : copy my sequence on x days, and authorise report |
190 | 2 | Paul Carensac | * Add ETC-IS simulation |
191 | 2 | Paul Carensac | * Add help for new users (and for it the first time an account come on the page) |
192 | 2 | Paul Carensac | |
193 | 2 | Paul Carensac | * Do more checks at unserialization |
194 | 2 | Paul Carensac | |
195 | 2 | Paul Carensac | * views |
196 | 2 | Paul Carensac | |
197 | 2 | Paul Carensac | * When saving, do more checks on coordinates, jd1/2 etc |
198 | 2 | Paul Carensac | * Uncomment filter for alerts removing |
199 | 2 | Paul Carensac | * When submitting, use the monitoring to determine sequences status |
200 | 2 | Paul Carensac | * When submitting, modify the first_schedule to False, when scheduling |
201 | 2 | Paul Carensac | * When unsubmitting, uncomment the check for EXED and EXING removing |
202 | 2 | Paul Carensac | * When unsubmitting, uncomment the scheduling and change the first_schedule to False |
203 | 2 | Paul Carensac | |
204 | 2 | Paul Carensac | |
205 | 2 | Paul Carensac | h3. User Manager |
206 | 2 | Paul Carensac | |
207 | 2 | Paul Carensac | * Password recovery |
208 | 2 | Paul Carensac | * Profile page |
209 | 2 | Paul Carensac | * User validation by administrator / commission |
210 | 2 | Paul Carensac | * Handle permissions and access |
211 | 2 | Paul Carensac | |
212 | 2 | Paul Carensac | |
213 | 2 | Paul Carensac | h3. Common |
214 | 2 | Paul Carensac | |
215 | 2 | Paul Carensac | * Network communication for every instrument |
216 | 2 | Paul Carensac | * Change the 'first_schedule' to False at the end of RequestBuilder.validate() |