platform-update-home/doc/working/scheduler/scheduler.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (view) (download) (as text)

1 : dbirsan 1.3 <html>
2 :     <head>
3 : dejan 1.1 <title>Eclipse Update Scheduler</title>
4 :     <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
5 : dbirsan 1.3 </head>
6 :     <body>
7 : dejan 1.1 <h1>Eclipse Update Scheduler</h1>
8 :     <p>This document describes the new Eclipse 3.0 capability to automatically
9 :     detect and install feature updates. The capability is part of the plan item
10 :     <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37684">Improve Update
11 :     Manager search</a>.</p>
12 :     <h2>Proposed Behavior</h2>
13 :     <p>Eclipse Update will be able to search for updates to the installed features
14 : dejan 1.2 on a periodic basis without user assistance. The way this search is performed
15 : dejan 1.1 will be configurable by the user via the preference page. Users will be able to
16 :     configure scheduling and downloading options.</p>
17 :     <h3>Scheduling options</h3>
18 :     <p>Each time an Eclipse-based product starts, update scheduler plug-in will
19 :     activate based on the chosen scheduling. Users will be able to choose between:</p>
20 :     <ul>
21 :     <li>No automatic search</li>
22 :     <li>On each startup (default)</li>
23 :     <li>Every day at a specific time (i.e. 3:00PM) *</li>
24 :     <li>On a scheduled day of the week at a specific time (i.e. Monday 8:00AM) *</li>
25 :     </ul>
26 :     <p>* assuming the application is active. If the application is not active at a
27 :     scheduled time and the search is past due, it will immediately start on the next
28 :     startup</p>
29 :     <h3>Downloading options</h3>
30 :     <p>Scheduling options define occurrence of the automated search but do not
31 :     define what is actually happening when the search is due. Downloading options
32 :     control this behavior (this set of options is disabled if automatic search is
33 :     turned off). Users can choose between:</p>
34 :     <ul>
35 :     <li>Search for updates and notify me when they are available (default)</li>
36 :     <li>Download new updates automatically and notify me when ready to install
37 :     them</li>
38 :     </ul>
39 :     <p>In both cases, Update scheduler will create and initiate a search job (using
40 :     the
41 :     <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-core-home/plan_concurrency_intro.html">
42 :     new scheduling API from Platform Core</a>) that will execute in the background
43 :     when it is due based on the scheduling options. There will be no messages if no
44 :     updates were found. If there are updates, the behavior will depend on the
45 :     selected downloading option.</p>
46 :     <h4>Search and notify</h4>
47 :     <p>If search only is selected, a message box will open, notifying user that new
48 :     updates have been found:</p>
49 :     <p><font color="#0000FF">New updates have been found for this product. Do you want to
50 :     download them?</font></p>
51 :     <p><font color="#0000FF">[Yes] [No] [Later]</font></p>
52 :     <p>If 'Yes' is pressed, a Update wizard will open, listing detected updates. The
53 :     same wizard is used when search for updates has been manually initiated using
54 :     Help&gt;Software Updates&gt;New Updates. </p>
55 :     <p>If 'No' is pressed, dialog will close. If 'Later' is pressed, another dialog
56 :     will pop up allowing you to define when exactly to remind you: in 5 minutes, in
57 :     an hour, tomorrow etc. If you select something and press [OK], that will close
58 :     both the 'Later' dialog and the original message box. If 'Cancel' is pressed,
59 :     the 'Later' dialog will close while the message box will stay opened.</p>
60 : dejan 1.2 <h4>Download new updates</h4>
61 : dejan 1.1 <p>If the second option has been selected (download updates automatically), the
62 :     search job will be scheduled as before, but when new updates are found, the
63 :     download will commence immediately. When all the features have been successfully
64 :     downloaded into the temp. space, a different message box will show up:</p>
65 :     <p><font color="#0000FF">New updates have been found and downloaded. Do you want to install them?</font></p>
66 :     <p><font color="#0000FF">[Yes] [No] [Later]</font></p>
67 :     <p>If 'No' is pressed, dialog will close and all the data in the temporary space
68 :     will be deleted. If 'Yes' is pressed, installation will commence (only a
69 :     progress monitor will be shown - no wizards). 'Later' acts as described above.</p>
70 :     <p>When 'Later' option is chosen (in both cases) and the chosen interval
71 :     expires, a dialog will pop up to remind you about the pending updates. The
72 :     message will be the same for both options:</p>
73 :     <p><font color="#0000FF">There are pending updates waiting to be installed. Do you want to install
74 :     them now?</font></p>
75 :     <p><font color="#0000FF">[Yes] [No] [Later]</font></p>
76 :     <p>Install can be accepted (Yes), definitely declined (No) or postponed again
77 : dbirsan 1.3 (Later).</p>
78 :    
79 :     <h4>Issues</h4>
80 :     <ul>
81 :     <li>What happens when jobs overlap? When a new update is to be scheduled and the previous job is still running, do we stop that job, or let it run and don't schedule another?</li>
82 :     <li>Should jobs should start with a clean slate?
83 :     That is, if a previous job has been stopped (see previous issue), should the newly started job use the partial work from the other job?</li>
84 :     <li>The idea of Eclipse scheduled jobs is to avoid modal dialogs, but what if the update notification does happen
85 :     as another modal dialog (wizard, etc.) is up and we choose to launch the install?</li>
86 :     </ul>
87 :     </body>
88 :     </html>