<?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=Local%2Fsanitychecker%2Fview</id>
	<title>Local/sanitychecker/view - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.mipt.ru/index.php?action=history&amp;feed=atom&amp;title=Local%2Fsanitychecker%2Fview"/>
	<link rel="alternate" type="text/html" href="http://wiki.mipt.ru/index.php?title=Local/sanitychecker/view&amp;action=history"/>
	<updated>2026-05-08T02:39:06Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>http://wiki.mipt.ru/index.php?title=Local/sanitychecker/view&amp;diff=9139&amp;oldid=prev</id>
		<title>Олег Давидович: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://wiki.mipt.ru/index.php?title=Local/sanitychecker/view&amp;diff=9139&amp;oldid=prev"/>
		<updated>2024-10-18T06:54:58Z</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;Версия от 06:54, 18 октября 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=Local/sanitychecker/view&amp;diff=9138&amp;oldid=prev</id>
		<title>1&gt;Germanvaleroelizondo: fixed typo in download page &amp; updated versions supported</title>
		<link rel="alternate" type="text/html" href="http://wiki.mipt.ru/index.php?title=Local/sanitychecker/view&amp;diff=9138&amp;oldid=prev"/>
		<updated>2014-08-10T18:51:33Z</updated>

		<summary type="html">&lt;p&gt;fixed typo in download page &amp;amp; updated versions supported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This add-on provides an interface to implement sanity checks on Moodle.&lt;br /&gt;
&lt;br /&gt;
==Moodle version==&lt;br /&gt;
&lt;br /&gt;
Moodle 2.3 or newer&lt;br /&gt;
&lt;br /&gt;
==Installation for Moodle 2.3, 2.4, 2.5 and 2.6==&lt;br /&gt;
* Go to the right directory&lt;br /&gt;
* Before all, change your working directory to YOUR_MOODLE_DIRROOT/local where : YOUR_MOODLE_DIRROOT represents the root directory of your moodle site.&lt;br /&gt;
&lt;br /&gt;
===get the plugin===&lt;br /&gt;
* using git&lt;br /&gt;
* Clone the plugin repository by running :&lt;br /&gt;
 git clone https://github.com/eviweb/moodle-local_sanitychecker.git sanitychecker&lt;br /&gt;
&lt;br /&gt;
===using archive===&lt;br /&gt;
* Download the zip archive directly from github and uncompress under sanitychecker directory :&lt;br /&gt;
&lt;br /&gt;
 wget -c https://github.com/eviweb/moodle-local_sanitychecker/archive/master.zip   &lt;br /&gt;
 unzip master.zip &amp;amp;amp;&amp;amp;amp; mv moodle-local_sanitychecker-master sanitychecker   &lt;br /&gt;
 &lt;br /&gt;
===finalize the installation===&lt;br /&gt;
&lt;br /&gt;
* Authenticate with an administrator account and go to the notifications page to finish the install.&lt;br /&gt;
* This page is located under :&lt;br /&gt;
 http(s)://YOUR_MOODLE_SITE/admin/index.php&lt;br /&gt;
 where : YOUR_MOODLE_SITE is the domain of your moodle site.&lt;br /&gt;
&lt;br /&gt;
==How to use this feature==&lt;br /&gt;
*Once installed you will find a link under&lt;br /&gt;
 Settings &amp;gt; Site administration&lt;br /&gt;
* called Sanity checker. By clicking on it, you will be redirected to the plugin dashboard.&lt;br /&gt;
* Its table lists all the available sanity checkers under four columns :&lt;br /&gt;
&lt;br /&gt;
    Name : the implementation name&lt;br /&gt;
    Description : should describe what the checker is supposed to do&lt;br /&gt;
    Actions : here is displayed a dynamic link to run the actions to perform&lt;br /&gt;
    &amp;gt; check : to run the tests&lt;br /&gt;
    &amp;gt; resolve : in case a problem is found, apply the fix&lt;br /&gt;
    Information : displays contextual information about what is done&lt;br /&gt;
&lt;br /&gt;
*So choose which test you want to run and click on Run test.&lt;br /&gt;
* If a problem is found the previous action link is renamed Resolve issue.&lt;br /&gt;
* Click on it to apply the fix.&lt;br /&gt;
&lt;br /&gt;
==How to create a new sanity checker==&lt;br /&gt;
* implement the API&lt;br /&gt;
&lt;br /&gt;
===Create an implementation of the SanityChecker interface===&lt;br /&gt;
&lt;br /&gt;
interface SanityChecker&lt;br /&gt;
{&lt;br /&gt;
    /**&lt;br /&gt;
     * get the sanity checker name&lt;br /&gt;
     *&lt;br /&gt;
     * @return string       returns the name of this implementation&lt;br /&gt;
     */&lt;br /&gt;
    public function getName();&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * get the description of what this sanity check does&lt;br /&gt;
     *&lt;br /&gt;
     * @return string       returns the description of this implementation&lt;br /&gt;
     */&lt;br /&gt;
    public function getDescription();&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * perform the test&lt;br /&gt;
     *&lt;br /&gt;
     * @return boolean      returns true if the test succeeds, false if it fails&lt;br /&gt;
     */&lt;br /&gt;
    public function doCheck();&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * get information on the problem detected&lt;br /&gt;
     *&lt;br /&gt;
     * @return string       returns information related to the detected problem&lt;br /&gt;
     *                      or an empty string if there is no issue&lt;br /&gt;
     */&lt;br /&gt;
    public function getInformationOnIssue();&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * resolve the problem&lt;br /&gt;
     */&lt;br /&gt;
    public function resolveIssue();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===or extends the abstract DatabaseSanityChecker===&lt;br /&gt;
which is a class helper to perform sanity checks on database records.&lt;br /&gt;
&lt;br /&gt;
===register the service implementation===&lt;br /&gt;
&lt;br /&gt;
Add the class full name of your implementation on a new line in the&lt;br /&gt;
./classes/META-INF/services/evidev.moodle.plugins.sanitychecker&lt;br /&gt;
file.&lt;br /&gt;
&lt;br /&gt;
For now, you add to take care about providing a way to load your class by your own or to install it under the&lt;br /&gt;
./classes&lt;br /&gt;
directory.&lt;br /&gt;
&lt;br /&gt;
Each folder under the subtree of this directory, except&lt;br /&gt;
META-INF&lt;br /&gt;
, represents a part of the class namespace.&lt;br /&gt;
&lt;br /&gt;
* To illustrate this, the SanityChecker interface is declared under the namespace evidevmoodleplugins and is located at&lt;br /&gt;
 ./classes/evidev/moodle/plugins/SanityChecker.php&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [https://github.com/eviweb/moodle-local_sanitychecker/wiki Sanity Checker List wiki page]&lt;br /&gt;
&lt;br /&gt;
==Download page==&lt;br /&gt;
[https://moodle.org/plugins/view.php?plugin=local_sanitychecker https://moodle.org/plugins/view.php?plugin=local_sanitychecker]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
[[Category:Performance]]&lt;br /&gt;
[[Category:Site administration]]&lt;/div&gt;</summary>
		<author><name>1&gt;Germanvaleroelizondo</name></author>
	</entry>
</feed>