| 6 | |
| 7 | = Update communicatie = |
| 8 | |
| 9 | Communicatie tussen een SCC en de regserver gaat via JSON rpc calls. |
| 10 | |
| 11 | Een Syn-3 server vraagt aan de regserver om updates. Daarbij stuurt hij een lijst van de laatste versie van al zn geinstalleerde pakketjes mee. |
| 12 | De systeembeheerder kan met 'tag' en 'version' specificeren welk updates hij wil installeren. |
| 13 | |
| 14 | Deze aanvraag ziet er zo uit: |
| 15 | {{{ |
| 16 | array ( |
| 17 | 'server_id_string' => 'syn-3.46a8ab4ad64044.1912344', |
| 18 | 'lang_id' => 'nl', |
| 19 | 'tag' => 'released', |
| 20 | 'version' => '4.2', |
| 21 | 'installed' => |
| 22 | array ( |
| 23 | 'aaa_base' => |
| 24 | array ( |
| 25 | 'build' => '1', |
| 26 | 'arch' => 'noarch', |
| 27 | 'ver' => '10.0.0', |
| 28 | 'name' => 'aaa_base', |
| 29 | ), |
| 30 | 'acpid' => |
| 31 | array ( |
| 32 | 'build' => '1', |
| 33 | 'arch' => 'i486', |
| 34 | 'ver' => '1.0.3', |
| 35 | 'name' => 'acpid', |
| 36 | ), |
| 37 | ... |
| 38 | 'java_xerces' => |
| 39 | array ( |
| 40 | 'build' => '3993', |
| 41 | 'arch' => 'noarch', |
| 42 | 'ver' => '2_9_0', |
| 43 | 'name' => 'java_xerces', |
| 44 | ), |
| 45 | ), |
| 46 | ) |
| 47 | }}} |
| 48 | |
| 49 | Authenticatie gaat via de server id string. |
| 50 | |
| 51 | Hierna antwoord de regserver als volgt: |
| 52 | {{{ |
| 53 | array ( |
| 54 | 'updates' => |
| 55 | array ( |
| 56 | 0 => |
| 57 | array ( |
| 58 | 'id' => '1042', |
| 59 | 'req_opt_id' => '', |
| 60 | 'notes' => '', |
| 61 | 'deleted' => '0', |
| 62 | 'pkgname' => 'syn3_scripts-1.1-noarch-4276', |
| 63 | 'full' => '0', |
| 64 | 'version' => '', |
| 65 | 'pkgdesc' => |
| 66 | array ( |
| 67 | 'text' => 'Syn-3 systeem scripts', |
| 68 | ), |
| 69 | 'upddesc' => |
| 70 | array ( |
| 71 | 'text' => '', |
| 72 | ), |
| 73 | 'url' => 'http://www.syn-3.nl/mosaddphp/regserver_3/regserver/getupdate.php?server_id_string=syn-3.48692a2fa3a8f0.04795427&pkgname=syn3_scripts-1.1-noarch-4276', |
| 74 | 'filesize' => 47066, |
| 75 | 'filedate' => 1225321850, |
| 76 | 'tag' => 'test', |
| 77 | 'installed' => |
| 78 | array ( |
| 79 | 'build' => '4275', |
| 80 | 'arch' => 'noarch', |
| 81 | 'ver' => '1.1', |
| 82 | 'name' => 'syn3_scripts', |
| 83 | ), |
| 84 | ), |
| 85 | ), |
| 86 | 'proccessing' => 0, |
| 87 | 'versions' => |
| 88 | array ( |
| 89 | '4.2' => |
| 90 | array ( |
| 91 | 'version' => '4.2', |
| 92 | 'id' => '1623', |
| 93 | 'tag' => 'test', |
| 94 | ), |
| 95 | ), |
| 96 | 'version' => '4.2', |
| 97 | ) |
| 98 | }}} |
| 99 | |
| 100 | De updates array geeft terug welke updates de server moet installeren en in welke volgorde. De array bevat een boel extra informatie, zoals de omschrijving in de systeembeheerder zn eigen taal, en de huidig geinstalleerde versie van het pakketje. |
| 101 | |
| 102 | Verder worden de aanwezige Syn-3 versie tags meegeven, zodat de beheerder kan kiezen naar welke Syn-3 versie hij wil updaten. |
| 103 | |
| 104 | |