<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wiki.mipt.ru/index.php?action=history&amp;feed=atom&amp;title=Development%3AUpgrade_notification</id>
	<title>Development:Upgrade notification - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.mipt.ru/index.php?action=history&amp;feed=atom&amp;title=Development%3AUpgrade_notification"/>
	<link rel="alternate" type="text/html" href="http://wiki.mipt.ru/index.php?title=Development:Upgrade_notification&amp;action=history"/>
	<updated>2026-05-08T00:16:11Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>http://wiki.mipt.ru/index.php?title=Development:Upgrade_notification&amp;diff=12036&amp;oldid=prev</id>
		<title>Олег Давидович: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://wiki.mipt.ru/index.php?title=Development:Upgrade_notification&amp;diff=12036&amp;oldid=prev"/>
		<updated>2024-10-21T08:53:20Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 08:53, 21 октября 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Олег Давидович</name></author>
	</entry>
	<entry>
		<id>http://wiki.mipt.ru/index.php?title=Development:Upgrade_notification&amp;diff=12035&amp;oldid=prev</id>
		<title>1&gt;Skodak: /* Contrib modules */</title>
		<link rel="alternate" type="text/html" href="http://wiki.mipt.ru/index.php?title=Development:Upgrade_notification&amp;diff=12035&amp;oldid=prev"/>
		<updated>2009-10-06T11:25:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Contrib modules&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Moodle 2.0}}&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PROJECT STATE:&amp;#039;&amp;#039;&amp;#039; Proposal&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MAIN TRACKER ISSUE&amp;#039;&amp;#039;&amp;#039;: MDL-20438&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DISCUSSION AND COMMENTS&amp;#039;&amp;#039;&amp;#039;: n/a&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;AUTHOR&amp;#039;&amp;#039;&amp;#039;: [[User:Petr Škoda (škoďák)|Petr Škoda (škoďák)]] + feedback and ideas from other developers&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;TIME NEEDED FOR IMPLEMENTATION&amp;#039;&amp;#039;&amp;#039;: 5 days&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
The mandatory security measure is to always keep Moodle software up to date. This page describes new mechanism that notifies each admin about available Moodle upgrades.  At present upgrade information is available from moodle.org site, we are also sending new version notices via email to registered administrators. Unfortunately many sites are not upgraded regularly :-(&lt;br /&gt;
&lt;br /&gt;
The general idea is that each Moodle instance contacts regularly (every 7 days) moodle.org and fetches the latest version information. Admin is notified by own server when any new version available. The notification would be also printed on the security overview report, the site notification and the front page (only when admin logged in). Admins would be also notified when branch not maintained any more.&lt;br /&gt;
&lt;br /&gt;
The side effect would be that we could get much better version statistics, of course we need to provide an opt-out option ;-)&lt;br /&gt;
&lt;br /&gt;
=moodle.org side=&lt;br /&gt;
&lt;br /&gt;
==Official release info==&lt;br /&gt;
&lt;br /&gt;
Simple PHP script which accepts one optional parameter &amp;#039;&amp;#039;release&amp;#039;&amp;#039; (ex.:1.9.5+(Build:20091005)) and returns XML file which includes following info describing all branches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;UPTODATE_INFO component=&amp;quot;core&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;BRANCH version=&amp;quot;1.9&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;VERSION&amp;gt;2007101560&amp;lt;/VERSION&amp;gt;&lt;br /&gt;
   &amp;lt;RELEASE&amp;gt;1.9.6&amp;lt;/RELEASE&amp;gt;&lt;br /&gt;
   &amp;lt;MAINTENANCE_END /&amp;gt;&lt;br /&gt;
   &amp;lt;URL&amp;gt;http://moodle.org&amp;lt;/URL&amp;gt;&lt;br /&gt;
   &amp;lt;AUTHOR&amp;gt;Martin Dougiamas&amp;lt;/AUTHOR&amp;gt;&lt;br /&gt;
  &amp;lt;/BRANCH&amp;gt;&lt;br /&gt;
 &amp;lt;/UPTODATE_INFO&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example contains values that would be served after the release of Moodle 1.9.6.&lt;br /&gt;
&lt;br /&gt;
==Contrib details==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;UPTODATE_INFO component=&amp;quot;mod_book&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;BRANCH version=&amp;quot;1.9&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;VERSION&amp;gt;2008081402&amp;lt;/VERSION&amp;gt;&lt;br /&gt;
   &amp;lt;RELEASE&amp;gt;1.5beta&amp;lt;/RELEASE&amp;gt;&lt;br /&gt;
   &amp;lt;REQUIRES&amp;gt;2007101512&amp;lt;/REQUIRES&amp;gt;&lt;br /&gt;
   &amp;lt;MAINTENANCE_END /&amp;gt;&lt;br /&gt;
   &amp;lt;AUTHOR&amp;gt;Petr Skoda&amp;lt;/AUTHOR&amp;gt;&lt;br /&gt;
   &amp;lt;URL&amp;gt;http://moodle.org/mod/data/view.php?d=13&amp;amp;amp;rid=319&amp;amp;amp;filter=1&amp;lt;/URL&amp;gt;&lt;br /&gt;
  &amp;lt;/BRANCH&amp;gt;&lt;br /&gt;
 &amp;lt;/UPTODATE_INFO&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
&lt;br /&gt;
==Official releases==&lt;br /&gt;
All code is stored in admin report /admin/report/uptodate/*. New Function report_uptodate_fetch_info() - uses standard download_file_content() to fetch XML info from http://moodle.org/uptodate_info.php?release=1.9.5+(Build:20091005)&lt;br /&gt;
&lt;br /&gt;
The XML info is parsed and results stored in the config_plugins table:&lt;br /&gt;
* report_uptodate|enabled&lt;br /&gt;
* report_uptodate|status (0 - ok, 1 - needs update, 3 branch not maintained)&lt;br /&gt;
* report_uptodate|recommended_version&lt;br /&gt;
* report_uptodate|recommended_release&lt;br /&gt;
* report_uptodate|maintenance_end&lt;br /&gt;
* report_uptodate|last_fetched (date when fetched from moodle.org)&lt;br /&gt;
&lt;br /&gt;
The update function is triggered:&lt;br /&gt;
* every 7 days from cron.php&lt;br /&gt;
* after each upgrade&lt;br /&gt;
* when running security overview report&lt;br /&gt;
&lt;br /&gt;
User interface consists of:&lt;br /&gt;
# notification for admins - one time or nagging after each login&lt;br /&gt;
# admin setting - disable fetching of info from moodle.org&lt;br /&gt;
# security overview report integration - critical warning when report plugin not installed, disabled or not up-to-date&lt;br /&gt;
&lt;br /&gt;
==Contrib modules==&lt;br /&gt;
&lt;br /&gt;
Contrib modules could use different moodle.org URL for fetching of supported modules, it might also contain extra compatibility info with Moodle versions.&lt;br /&gt;
&lt;br /&gt;
All code is stored in admin report /admin/report/uptodate/*. New Function report_uptodate_fetch_info_contrib($component) - uses standard download_file_content() to fetch XML info from http://moodle.org/uptodate_info_contrib.php?component=mod_book&amp;amp;release=1.5beta&lt;br /&gt;
&lt;br /&gt;
==Needed core changes==&lt;br /&gt;
* improve messaging subsystem&lt;br /&gt;
* add plugin hook that is called after user login - needed for admin notification&lt;br /&gt;
* add full cron plugin support - needed for update&lt;br /&gt;
* add pre and post upgrade notification hooks for all plugins - needed for update after/before upgrade&lt;br /&gt;
* rewrite/improve plugin review page during upgrades/install&lt;br /&gt;
&lt;br /&gt;
=Potential problems=&lt;br /&gt;
# How to deal with weekly builds? - Should we include build date? What upgrade to recommend?&lt;br /&gt;
# How to deal with development snapshots? Show big warning in alpha versions (==before branching)?&lt;br /&gt;
#&lt;/div&gt;</summary>
		<author><name>1&gt;Skodak</name></author>
	</entry>
</feed>