<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anu1601cs</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anu1601cs"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Anu1601cs"/>
	<updated>2026-10-01T19:34:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=505554</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=505554"/>
		<updated>2018-08-23T14:23:17Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; Improved Override Management &amp;lt;br /&amp;gt;Documentation&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Introduction == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; This project adds an update checking feature to Joomla so that if a template overrides core file is changed or updated, it notifies the user that one of the core files of their template overrides is changed with the update, to avoid security issues or functionality issue and they can adjust their override before anyone can notice.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Project repository link:&amp;lt;/translate&amp;gt;&#039;&#039;&#039; https://github.com/joomla-projects/gsoc18_override_management&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Getting a head-start with Improved Override Management == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Notes === &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; If you are new to Joomla development, and don&#039;t know much about Template Manager and Overrides, please read:&amp;lt;/translate&amp;gt;&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; How to use the Template Manager&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Layout Overrides in Joomla&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; Supported Overrides&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; Diff View&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Override - Quick Icon Notification Plugin&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; Installer - Override Plugin&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; Updated - Override History&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Types of overrides supported by this feature == &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else and js, css overrides.&lt;br /&gt;
This feature supports these override files listed in Create Override tab. Example:&amp;lt;/translate&amp;gt; &lt;br /&gt;
[[File:Selection 035-&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Diff view between core and override files == &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; Buttons like this:&amp;lt;/translate&amp;gt; &lt;br /&gt;
[[File:Selection 027-&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|Buttons]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location of the core file and diff view in the template manager.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Selection 028-&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
You can not edit the core file.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== How diff view is working === &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; When you click on any override file to edit it, it calls a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of the override file in the template. Example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of the file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of the core file if it exists.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
For showing the diff between the core and override files we used [https://github.com/kpdecker/jsdiff jsdiff] library.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Override - Quick Icon Notification Plugin == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. When overrides are updated then the quick icon shows something like in the example below:&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Selection 020-&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|Quick Icon|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; When you click on it, it will redirect you to Templates which contain the list of your templates with their description. You&#039;ll see a new column header &#039;&#039;&#039;Overrides&#039;&#039;&#039; showing the number of override updated which belongs to the template. If nothing has been updated in the template override it will show a Up to date badge.&amp;lt;/translate&amp;gt; &lt;br /&gt;
[[File:Selection 022-&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|Templates|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== How quick icon is working === &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; It makes an AJAX call to the &amp;lt;tt&amp;gt;TemplateController.php&amp;lt;/tt&amp;gt; which returns the information and displays a notification when such overrides are updated.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Selection 024-&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|Enable|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:39--&amp;gt; If you click on the quick icon you will be redirected to the &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can edit the settings of the plugin.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Installer - Override Plugin == &amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; This plugin is the main part of this feature. It allows to find the correct updated overrides during the extension install or update and Joomla update.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025-&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|Installer Override|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== How installer override plugin is working === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt; This plugin works on 6 events:&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updated - Override History == &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
You can access this from the Updated Files tab in a template.&lt;br /&gt;
This is a list view that shows the list of updated overrides which do belongs to that template.&amp;lt;/translate&amp;gt; &lt;br /&gt;
[[File:Selection 029-&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; en&amp;lt;/translate&amp;gt;.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; There are many options available to manage list. Where you can check the status of override file history whether is checked or not, created date, date of change and update action like: whether it belongs to (Joomla Update, Extension Update or Extension Install).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; &#039;&#039;&#039;Note&#039;&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;Watch video tutorial, how to use this feature.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;video-container&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:YouTube|id=l0_jFjswObI}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018{{#translation:}}]]&lt;br /&gt;
[[Category:Development{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla!_4.x{{#translation:}}]]&lt;br /&gt;
[[Category:Tutorials{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497214</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497214"/>
		<updated>2018-07-29T14:49:35Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of the core files of their template overrides is changed with the update, to avoid security issues or functionality issue and they can adjust their override before anyone can notice.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project repository link :&#039;&#039;&#039; https://github.com/joomla-projects/gsoc18_override_management&lt;br /&gt;
&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
== Types of overrides supported by this feature ==&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else and js, css overrides.&lt;br /&gt;
This feature supports these override files listed in Create Override tab. Example : &lt;br /&gt;
[[File:Selection 035.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
== Diff view between core and override files ==&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location of the core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
&lt;br /&gt;
=== How diff view is working ===&lt;br /&gt;
When you click on any override file to edit it, it calls a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of the override file in the template. Example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of the file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of the core file if it exists.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override files we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
== Override - Quick Icon Notification Plugin ==&lt;br /&gt;
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. When overrides are updated then the quick icon shows something like in the example below:&lt;br /&gt;
[[File:Selection 020.png|center|Quick Icon|800px]]&lt;br /&gt;
When you click on it, it will redirect you to Templates which contain the list of your templates with their description. You&#039;ll see a new column header &#039;&#039;&#039;Overrides&#039;&#039;&#039; showing the number of override updated which belongs to the template. If nothing has been updated in the template override it will show a Up to date badge. &lt;br /&gt;
[[File:Selection 022.png|center|Templates|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How quick icon is working ===&lt;br /&gt;
It makes an AJAX call to the &amp;lt;tt&amp;gt;TemplateController.php&amp;lt;/tt&amp;gt; which returns the information and displays a notification when such overrides are updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&lt;br /&gt;
[[File:Selection 024.png|center|Enable|800px]]&lt;br /&gt;
If you click on the quick icon you will be redirected to the &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can edit the settings of the plugin.&lt;br /&gt;
&lt;br /&gt;
== Installer - Override Plugin ==&lt;br /&gt;
This plugin is the main part of this feature. It allows to find the correct updated overrides during the extension install or update and Joomla update. &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025.png|center|Installer Override|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How installer override plugin is working ===&lt;br /&gt;
This plugin works on 6 events :&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&lt;br /&gt;
Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
&lt;br /&gt;
== Updated - Override History ==&lt;br /&gt;
You can access this from the Updated Files tab in a template.&lt;br /&gt;
This is a list view that shows the list of updated overrides which do belongs to that template. &lt;br /&gt;
[[File:Selection 029.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
There are many options available to manage list. Where you can check the status of override file history whether is checked or not, created date, date of change and update action like: whether it belongs to (Joomla Update, Extension Update or Extension Install).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497213</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497213"/>
		<updated>2018-07-29T14:46:43Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Types of overrides supported by this feature */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of the core files of their template overrides is changed with the update, to avoid security issues or functionality issue and they can adjust their override before anyone can notice.&lt;br /&gt;
&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
== Types of overrides supported by this feature ==&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else and js, css overrides.&lt;br /&gt;
This feature supports these override files listed in Create Override tab. Example : &lt;br /&gt;
[[File:Selection 035.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
== Diff view between core and override files ==&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location of the core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
&lt;br /&gt;
=== How diff view is working ===&lt;br /&gt;
When you click on any override file to edit it, it calls a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of the override file in the template. Example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of the file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of the core file if it exists.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override files we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
== Override - Quick Icon Notification Plugin ==&lt;br /&gt;
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. When overrides are updated then the quick icon shows something like in the example below:&lt;br /&gt;
[[File:Selection 020.png|center|Quick Icon|800px]]&lt;br /&gt;
When you click on it, it will redirect you to Templates which contain the list of your templates with their description. You&#039;ll see a new column header &#039;&#039;&#039;Overrides&#039;&#039;&#039; showing the number of override updated which belongs to the template. If nothing has been updated in the template override it will show a Up to date badge. &lt;br /&gt;
[[File:Selection 022.png|center|Templates|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How quick icon is working ===&lt;br /&gt;
It makes an AJAX call to the &amp;lt;tt&amp;gt;TemplateController.php&amp;lt;/tt&amp;gt; which returns the information and displays a notification when such overrides are updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&lt;br /&gt;
[[File:Selection 024.png|center|Enable|800px]]&lt;br /&gt;
If you click on the quick icon you will be redirected to the &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can edit the settings of the plugin.&lt;br /&gt;
&lt;br /&gt;
== Installer - Override Plugin ==&lt;br /&gt;
This plugin is the main part of this feature. It allows to find the correct updated overrides during the extension install or update and Joomla update. &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025.png|center|Installer Override|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How installer override plugin is working ===&lt;br /&gt;
This plugin works on 6 events :&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&lt;br /&gt;
Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
&lt;br /&gt;
== Updated - Override History ==&lt;br /&gt;
You can access this from the Updated Files tab in a template.&lt;br /&gt;
This is a list view that shows the list of updated overrides which do belongs to that template. &lt;br /&gt;
[[File:Selection 029.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
There are many options available to manage list. Where you can check the status of override file history whether is checked or not, created date, date of change and update action like: whether it belongs to (Joomla Update, Extension Update or Extension Install).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_035-en.png&amp;diff=497212</id>
		<title>File:Selection 035-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_035-en.png&amp;diff=497212"/>
		<updated>2018-07-29T14:40:19Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Supported&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497206</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497206"/>
		<updated>2018-07-29T14:12:29Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Diff view between core and override files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of the core files of their template overrides is changed with the update, to avoid security issues or functionality issue and they can adjust their override before anyone can notice.&lt;br /&gt;
&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
== Types of overrides supported by this feature ==&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else.&lt;br /&gt;
This feature supports these override files listed in Create Override tab. Example : &lt;br /&gt;
&amp;lt;tt&amp;gt;TODO://&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Diff view between core and override files ==&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location of the core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
&lt;br /&gt;
=== How diff view is working ===&lt;br /&gt;
When you click on any override file to edit it, it calls a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of the override file in the template. Example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of the file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of the core file if it exists.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override files we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
== Override - Quick Icon Notification Plugin ==&lt;br /&gt;
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. When overrides are updated then the quick icon shows something like in the example below:&lt;br /&gt;
[[File:Selection 020.png|center|Quick Icon|800px]]&lt;br /&gt;
When you click on it, it will redirect you to Templates which contain the list of your templates with their description. You&#039;ll see a new column header &#039;&#039;&#039;Overrides&#039;&#039;&#039; showing the number of override updated which belongs to the template. If nothing has been updated in the template override it will show a Up to date badge. &lt;br /&gt;
[[File:Selection 022.png|center|Templates|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How quick icon is working ===&lt;br /&gt;
It makes an AJAX call to the &amp;lt;tt&amp;gt;TemplateController.php&amp;lt;/tt&amp;gt; which returns the information and displays a notification when such overrides are updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&lt;br /&gt;
[[File:Selection 024.png|center|Enable|800px]]&lt;br /&gt;
If you click on the quick icon you will be redirected to the &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can edit the settings of the plugin.&lt;br /&gt;
&lt;br /&gt;
== Installer - Override Plugin ==&lt;br /&gt;
This plugin is the main part of this feature. It allows to find the correct updated overrides during the extension install or update and Joomla update. &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025.png|center|Installer Override|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How installer override plugin is working ===&lt;br /&gt;
This plugin works on 6 events :&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&lt;br /&gt;
Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
&lt;br /&gt;
== Updated - Override History ==&lt;br /&gt;
You can access this from the Updated Files tab in a template.&lt;br /&gt;
This is a list view that shows the list of updated overrides which do belongs to that template. &lt;br /&gt;
[[File:Selection 029.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
There are many options available to manage list. Where you can check the status of override file history whether is checked or not, created date, date of change and update action like: whether it belongs to (Joomla Update, Extension Update or Extension Install).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497178</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497178"/>
		<updated>2018-07-29T14:00:41Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* How diff view is working */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of the core files of their template overrides is changed with the update, to avoid security issues or functionality issue and they can adjust their override before anyone can notice.&lt;br /&gt;
&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
== Types of overrides supported by this feature ==&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else.&lt;br /&gt;
This feature supports these override files listed in Create Override tab. Example : &lt;br /&gt;
&amp;lt;tt&amp;gt;TODO://&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Diff view between core and override files ==&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location of core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
&lt;br /&gt;
=== How diff view is working ===&lt;br /&gt;
When you click on any override file to edit it, it calls a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of the override file in the template. Example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of the file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of the core file if it exists.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override files we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
== Override - Quick Icon Notification Plugin ==&lt;br /&gt;
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. When overrides are updated then the quick icon shows something like in the example below:&lt;br /&gt;
[[File:Selection 020.png|center|Quick Icon|800px]]&lt;br /&gt;
When you click on it, it will redirect you to Templates which contain the list of your templates with their description. You&#039;ll see a new column header &#039;&#039;&#039;Overrides&#039;&#039;&#039; showing the number of override updated which belongs to the template. If nothing has been updated in the template override it will show a Up to date badge. &lt;br /&gt;
[[File:Selection 022.png|center|Templates|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How quick icon is working ===&lt;br /&gt;
It makes an AJAX call to the &amp;lt;tt&amp;gt;TemplateController.php&amp;lt;/tt&amp;gt; which returns the information and displays a notification when such overrides are updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&lt;br /&gt;
[[File:Selection 024.png|center|Enable|800px]]&lt;br /&gt;
If you click on the quick icon you will be redirected to the &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can edit the settings of the plugin.&lt;br /&gt;
&lt;br /&gt;
== Installer - Override Plugin ==&lt;br /&gt;
This plugin is the main part of this feature. It allows to find the correct updated overrides during the extension install or update and Joomla update. &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025.png|center|Installer Override|800px]]&lt;br /&gt;
&lt;br /&gt;
=== How installer override plugin is working ===&lt;br /&gt;
This plugin works on 6 events :&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&lt;br /&gt;
Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
&lt;br /&gt;
== Updated - Override History ==&lt;br /&gt;
You can access this from the Updated Files tab in a template.&lt;br /&gt;
This is a list view that shows the list of updated overrides which do belongs to that template. &lt;br /&gt;
[[File:Selection 029.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
There are many options available to manage list. Where you can check the status of override file history whether is checked or not, created date, date of change and update action like: whether it belongs to (Joomla Update, Extension Update or Extension Install).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These information are only history so if you checked the updated override changes then, you can delete the history, as not needed anymore.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497021</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497021"/>
		<updated>2018-07-26T19:25:50Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Getting a head-start with Improved Override Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
=== Types of overrides support this feature ===&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else.&lt;br /&gt;
This features to support these overrides files listed in Create Override tab. Example : &lt;br /&gt;
&amp;lt;tt&amp;gt;TODO://&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== Diff view between core and override file ===&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location fo core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|left]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
==== How diff view is working ====&lt;br /&gt;
When you click on any override file to edit it call a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of override file in template, example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of core file if exist.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override file we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
=== Override - Quick Icon Notification Plugin ===&lt;br /&gt;
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. Take an example when overrides are updated then quick icon shows something like this.&lt;br /&gt;
[[File:Selection 020.png|center|Quick Icon]]&lt;br /&gt;
And when you click on this it will redirect you to this templates. Which contains the list of templates you have with all its description. And, now you will see one more information that is &#039;&#039;&#039;Override&#039;&#039;&#039; which show a badge like: Number of override updated which belongs to the template. If nothing has updated in the template override it will show up to date badge. &lt;br /&gt;
[[File:Selection 022.png|center|Templates]]&lt;br /&gt;
==== How quick icon is working ====&lt;br /&gt;
It makes AJAX call to the TemplateController.php which returns the information and displays a notification when such overrides are updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&lt;br /&gt;
[[File:Selection 024.png|center|Enable]]&lt;br /&gt;
And, when you click on the quick icon you will get redirect to &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can change settings of the plugin.&lt;br /&gt;
=== Installer - Override Plugin ===&lt;br /&gt;
This plugin is the main part of this feature which find the correct updated overrides during the extension install or update and Joomla update. &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025.png|Installer Override]]&lt;br /&gt;
&lt;br /&gt;
==== How installer override plugin is working ====&lt;br /&gt;
This plugin works on 6 events :&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&lt;br /&gt;
Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
&lt;br /&gt;
=== Updated - Override History ===&lt;br /&gt;
You can access this on Updated Files tab in a template manager.&lt;br /&gt;
This is a list view shows the list of updated overrides which do belongs to that template. &lt;br /&gt;
[[File:Selection 029.png|center]]&lt;br /&gt;
&lt;br /&gt;
There are many options available to manage list. Where you can check the status of override file history whether is checked or not checked, created date, date of change and update action like: whether it belongs to (Joomla Update,  Extension Update or Extension Install).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These informations are only history so if you checked the updated override changes then, you can delete the history. Because, it&#039;s no more need.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_029-en.png&amp;diff=497020</id>
		<title>File:Selection 029-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_029-en.png&amp;diff=497020"/>
		<updated>2018-07-26T19:14:36Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497019</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497019"/>
		<updated>2018-07-26T18:38:55Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Getting a head-start with Improved Override Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
=== Types of overrides support this feature ===&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else.&lt;br /&gt;
This features to support these overrides files listed in Create Override tab. Example : &lt;br /&gt;
&amp;lt;tt&amp;gt;TODO://&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== Diff view between core and override file ===&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location fo core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|left]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
==== How it is working ====&lt;br /&gt;
When you click on any override file to edit it call a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of override file in template, example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of core file if exist.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override file we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
=== Override - Quick Icon Notification Plugin ===&lt;br /&gt;
A quick icon notification plugin which shows the notification in cpanel and it shows the total updated overrides from all templates. Take an example when overrides are updated then quick icon shows something like this.&lt;br /&gt;
[[File:Selection 020.png|center|Quick Icon]]&lt;br /&gt;
And when you click on this it will redirect you to this templates. Which contains the list of templates you have with all its description. And, now you will see one more information that is &#039;&#039;&#039;Override&#039;&#039;&#039; which show a badge like: Number of override updated which belongs to the template. If nothing has updated in the template override it will show up to date badge. &lt;br /&gt;
[[File:Selection 022.png|center|Templates]]&lt;br /&gt;
==== How quick icon is working ====&lt;br /&gt;
It makes AJAX call to the TemplateController.php which returns the information and displays a notification when such overrides are updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quick icon notification plugin only works or able to fetch data if &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin is enabled. If &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; is disabled then you will see this error message in quick icon.&lt;br /&gt;
[[File:Selection 024.png|center|Enable]]&lt;br /&gt;
And, when you click on quick icon you will get redirect to &amp;lt;tt&amp;gt;installer/override&amp;lt;/tt&amp;gt; plugin settings where you can change settings of plugin.&lt;br /&gt;
=== Installer - Override Plugin ===&lt;br /&gt;
This plugin is a main part of this features which find the correct updated overrides during the extension install or update and joomla update. &lt;br /&gt;
&lt;br /&gt;
[[File:Selection 025.png|Installer Override]]&lt;br /&gt;
&lt;br /&gt;
This plugin works on 6 events :&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onInstallerBeforeInstaller&lt;br /&gt;
*onInstallerAfterInstaller&lt;br /&gt;
*onJoomlaBeforeUpdate&lt;br /&gt;
*onJoomlaAfterUpdate&lt;br /&gt;
&lt;br /&gt;
Which collect all overrides core file &amp;lt;tt&amp;gt;md5_file()&amp;lt;/tt&amp;gt; hash before update and after update then compairs both values. Then, find the correct changed or updated file. And, store information in &amp;lt;tt&amp;gt;#__templates_overrides&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
&lt;br /&gt;
=== Updated - Override History ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_025-en.png&amp;diff=497018</id>
		<title>File:Selection 025-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_025-en.png&amp;diff=497018"/>
		<updated>2018-07-26T18:34:24Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installer Override&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_024-en.png&amp;diff=497015</id>
		<title>File:Selection 024-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_024-en.png&amp;diff=497015"/>
		<updated>2018-07-26T17:52:11Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Enable&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_022-en.png&amp;diff=497014</id>
		<title>File:Selection 022-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_022-en.png&amp;diff=497014"/>
		<updated>2018-07-26T17:20:18Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Templates&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_020-en.png&amp;diff=497013</id>
		<title>File:Selection 020-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_020-en.png&amp;diff=497013"/>
		<updated>2018-07-26T17:15:48Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quick icon&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497012</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=497012"/>
		<updated>2018-07-26T17:10:36Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Getting a head-start with Improved Override Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
=== Types of overrides support this feature ===&lt;br /&gt;
It does not support Alternative Layout in which filename get renamed to something else.&lt;br /&gt;
This features to support these overrides files listed in Create Override tab. Example : &lt;br /&gt;
&amp;lt;tt&amp;gt;TODO://&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== Diff view between core and override file ===&lt;br /&gt;
This feature shows the difference between the core file and the override file. When you open any override file to edit you can see two buttons or switchers in the top right corner of the page if core file of that file is exited.&lt;br /&gt;
&lt;br /&gt;
Buttons like this : &lt;br /&gt;
[[File:Selection 027.png|center|Buttons]]&lt;br /&gt;
Here, you can control the hide and show view of diff view and core file view. &lt;br /&gt;
In the next image, you will see the location fo core file and diff view in the template manager.&lt;br /&gt;
[[File:Selection 028.png|left]]&lt;br /&gt;
&lt;br /&gt;
You can not edit the core file.&lt;br /&gt;
==== How it is working ====&lt;br /&gt;
When you click on any override file to edit it call a function method &amp;lt;tt&amp;gt;getCoreFile&amp;lt;/tt&amp;gt; which receives the two parameters &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; of override file in template, example : &amp;lt;tt&amp;gt;/html/layouts/joomla/form/field/user.php&amp;lt;/tt&amp;gt; and the client path of file whether it belongs to &amp;lt;tt&amp;gt;Site&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Administrator&amp;lt;/tt&amp;gt;. Then, based on these information it returns the path of core file if exist.&lt;br /&gt;
&lt;br /&gt;
For showing the diff between the core and override file we used [https://github.com/kpdecker/jsdiff jsdiff] library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_028-en.png&amp;diff=497011</id>
		<title>File:Selection 028-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_028-en.png&amp;diff=497011"/>
		<updated>2018-07-26T16:37:53Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DIff view&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_027-en.png&amp;diff=497010</id>
		<title>File:Selection 027-en.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_027-en.png&amp;diff=497010"/>
		<updated>2018-07-26T16:29:25Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Button&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Selection_026.png&amp;diff=496892</id>
		<title>File:Selection 026.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Selection_026.png&amp;diff=496892"/>
		<updated>2018-07-22T15:36:33Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Supported&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496891</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496891"/>
		<updated>2018-07-22T15:11:57Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Getting a head-start with Improved Override Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
&lt;br /&gt;
=== Types of overrides support this feature ===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496799</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496799"/>
		<updated>2018-07-22T14:45:07Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Getting a head-start with Improved Override Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
#[[S:MyLanguage/J3.x:How_to_use_the_Template_Manager|How to use the Template Manager]]&lt;br /&gt;
#[[S:MyLanguage/Layout_Overrides_in_Joomla|Layout Overrides in Joomla]]&lt;br /&gt;
&lt;br /&gt;
Now, if you got familiar with how to use Template Manager and types of Overrides in Joomla. Then, let&#039;s go through this project features.&lt;br /&gt;
* Supported Overrides&lt;br /&gt;
* Diff View&lt;br /&gt;
* Override - Quick Icon Notification Plugin&lt;br /&gt;
* Installer - Override Plugin&lt;br /&gt;
* Updated - Override History &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496764</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496764"/>
		<updated>2018-07-22T10:38:12Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
== Getting a head-start with Improved Override Management ==&lt;br /&gt;
=== Notes ===&lt;br /&gt;
If you are new to Joomla! development, and don&#039;t know much about Template Manager and Overrides, please read&lt;br /&gt;
# [https://docs.joomla.org/J3.x:How_to_use_the_Template_Manager How to use the Template Manager]&lt;br /&gt;
# [https://docs.joomla.org/Layout_Overrides_in_Joomla Layout Overrides in Joomla]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496763</id>
		<title>J4.x:Improved Override Management</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Improved_Override_Management&amp;diff=496763"/>
		<updated>2018-07-22T10:01:36Z</updated>

		<summary type="html">&lt;p&gt;Anu1601cs: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
Improved Override Management &amp;lt;br /&amp;gt;Documentation}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This project adds an update checking feature to Joomla that if the template overrides core file is changed or updated, it notifies the user that one of core file of his template overrides is changed with the update, to avoid security issues or functionality issue and he can adjust his override before anyone can notice.&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anu1601cs</name></author>
	</entry>
</feed>