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