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