J2.5:Developing a MVC Component/Adding an update server
From Joomla! Documentation
< J2.5:Developing a MVC Component(Difference between revisions)
(1.6 is not supported anymore) |
m (Removed external link.) |
||
| (8 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | {{version/tutor|2.5}} | |
| − | + | {{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}} | |
| − | + | ||
| − | {{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla! | + | |
== Introduction == | == Introduction == | ||
| − | This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla! | + | This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!2.5]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this. |
== Adding a updateserver definition == | == Adding a updateserver definition == | ||
| Line 14: | Line 12: | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
| − | <extension type="component" version=" | + | <extension type="component" version="2.5.0" method="upgrade"> |
<name>COM_HELLOWORLD</name> | <name>COM_HELLOWORLD</name> | ||
| Line 29: | Line 27: | ||
<description>COM_HELLOWORLD_DESCRIPTION</description> | <description>COM_HELLOWORLD_DESCRIPTION</description> | ||
| − | <!-- Runs on install/uninstall/update; New in | + | <!-- Runs on install/uninstall/update; New in 2.5 --> |
<scriptfile>script.php</scriptfile> | <scriptfile>script.php</scriptfile> | ||
| Line 42: | Line 40: | ||
</sql> | </sql> | ||
</uninstall> | </uninstall> | ||
| − | <update> <!-- Runs on update; New in | + | <update> <!-- Runs on update; New in 2.5 --> |
<schemas> | <schemas> | ||
<schemapath type="mysql">sql/updates/mysql</schemapath> | <schemapath type="mysql">sql/updates/mysql</schemapath> | ||
| Line 135: | Line 133: | ||
<maintainerurl>http://yourdomain.com</maintainerurl> | <maintainerurl>http://yourdomain.com</maintainerurl> | ||
<section>some-section</section> | <section>some-section</section> | ||
| − | <targetplatform name="joomla" version=" | + | <targetplatform name="joomla" version="2.5" /> |
</update> | </update> | ||
<update> | <update> | ||
| Line 155: | Line 153: | ||
<maintainerurl>http://yourdomain.com</maintainerurl> | <maintainerurl>http://yourdomain.com</maintainerurl> | ||
<section>some-section</section> | <section>some-section</section> | ||
| − | <targetplatform name="joomla" version=" | + | <targetplatform name="joomla" version="2.5" /> |
</update> | </update> | ||
<update> | <update> | ||
| Line 196: | Line 194: | ||
<maintainerurl>http://yourdomain.com</maintainerurl> | <maintainerurl>http://yourdomain.com</maintainerurl> | ||
<section>some-section</section> | <section>some-section</section> | ||
| − | <targetplatform name="joomla" version=" | + | <targetplatform name="joomla" version="2.5" /> |
</update> | </update> | ||
<update> | <update> | ||
| Line 216: | Line 214: | ||
<maintainerurl>http://yourdomain.com</maintainerurl> | <maintainerurl>http://yourdomain.com</maintainerurl> | ||
<section>some-section</section> | <section>some-section</section> | ||
| − | <targetplatform name="joomla" version=" | + | <targetplatform name="joomla" version="2.5" /> |
</update> | </update> | ||
<update> | <update> | ||
| Line 245: | Line 243: | ||
You need to add a new update-node every time you publish a new release, as well as for each Joomla! version. (you will need a distinct update node for each targetplatform) | You need to add a new update-node every time you publish a new release, as well as for each Joomla! version. (you will need a distinct update node for each targetplatform) | ||
| − | |||
| − | |||
| − | |||
| − | |||
== See Also == | == See Also == | ||
*[[Deploying an Update Server]] | *[[Deploying an Update Server]] | ||
| + | *[[Managing Component Updates with Joomla!1.6 - Part 1]] | ||
== Contributors == | == Contributors == | ||
| Line 259: | Line 254: | ||
[[Category:Development]] | [[Category:Development]] | ||
| − | [[ | + | [[Category:Joomla! 1.6]] |
| − | [[ | + | [[Category:Joomla! 1.7]] |
| − | [[ | + | [[Category:Joomla! 2.5]] |
Revision as of 18:13, 30 September 2012
Introduction
This tutorial is part of the Developing a Model-View-Controller (MVC) Component for Joomla!2.5 tutorial. You are encouraged to read the previous parts of the tutorial before reading this.
Adding a updateserver definition
To add a updateserver functionality adjust the helloworld.xml to look like this.
helloworld.xml
<?xml version="1.0" encoding="utf-8"?> <extension type="component" version="2.5.0" method="upgrade"> <name>COM_HELLOWORLD</name> <!-- The following elements are optional and free of formatting constraints --> <creationDate>November 2009</creationDate> <author>John Doe</author> <authorEmail>john.doe@example.org</authorEmail> <authorUrl>http://www.example.org</authorUrl> <copyright>Copyright Info</copyright> <license>License Info</license> <!-- The version string is recorded in the components table --> <version>0.0.15</version> <!-- The description is optional and defaults to the name --> <description>COM_HELLOWORLD_DESCRIPTION</description> <!-- Runs on install/uninstall/update; New in 2.5 --> <scriptfile>script.php</scriptfile> <install> <!-- Runs on install --> <sql> <file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file> </sql> </install> <uninstall> <!-- Runs on uninstall --> <sql> <file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file> </sql> </uninstall> <update> <!-- Runs on update; New in 2.5 --> <schemas> <schemapath type="mysql">sql/updates/mysql</schemapath> </schemas> </update> <!-- Site Main File Copy Section --> <!-- Note the folder attribute: This attribute describes the folder to copy FROM in the package to install therefore files copied in this section are copied from /site/ in the package --> <files folder="site"> <filename>index.html</filename> <filename>helloworld.php</filename> <filename>controller.php</filename> <folder>views</folder> <folder>models</folder> <folder>language</folder> </files> <media destination="com_helloworld" folder="media"> <filename>index.html</filename> <folder>images</folder> </media> <administration> <!-- Administration Menu Section --> <menu img="../media/com_helloworld/images/tux-16x16.png">COM_HELLOWORLD_MENU</menu> <!-- Administration Main File Copy Section --> <!-- Note the folder attribute: This attribute describes the folder to copy FROM in the package to install therefore files copied in this section are copied from /admin/ in the package --> <files folder="admin"> <!-- Admin Main File Copy Section --> <filename>index.html</filename> <filename>config.xml</filename> <filename>access.xml</filename> <filename>helloworld.php</filename> <filename>controller.php</filename> <!-- SQL files section --> <folder>sql</folder> <!-- tables files section --> <folder>tables</folder> <!-- models files section --> <folder>models</folder> <!-- views files section --> <folder>views</folder> <!-- controllers files section --> <folder>controllers</folder> <!-- helpers files section --> <folder>helpers</folder> </files> <languages folder="admin"> <language tag="en-GB">language/en-GB/en-GB.com_helloworld.ini</language> <language tag="en-GB">language/en-GB/en-GB.com_helloworld.sys.ini</language> </languages> </administration> <!-- UPDATESERVER DEFINITION --> <updateservers> <!-- Note: No spaces or linebreaks allowed between the server tags --> <server type="extension" priority="1" name="HelloWorld Update Site">http://yourdomain.com/update/helloworld-update.xml</server> </updateservers> </extension>
You also need to put a XML-file on your server which contains all update-informations.
helloworld-update.xml
<?xml version="1.0" encoding="utf-8"?> <updates> <update> <name>HelloWorld</name> <description>HelloWorld Component</description> <element>com_helloworld</element> <type>component</type> <version>1.5.0</version> <infourl title="HalloWorld URL">http://yourdomain.com</infourl> <downloads> <downloadurl type="full" format="zip">http://yourdomain.com/files/com_helloworld-1.5.0-final.zip</downloadurl> </downloads> <tags> <tag>some-tag</tag> </tags> <maintainer>HelloWorld Inc.</maintainer> <maintainerurl>http://yourdomain.com</maintainerurl> <section>some-section</section> <targetplatform name="joomla" version="2.5" /> </update> <update> <name>HelloWorld</name> <description>HelloWorld Component</description> <element>com_helloworld</element> <type>component</type> <version>1.5.0</version> <infourl title="HalloWorld URL">http://yourdomain.com</infourl> <downloads> <downloadurl type="full" format="zip">http://yourdomain.com/files/com_helloworld-1.5.0-final.zip</downloadurl> </downloads> <tags> <tag>some-tag</tag> </tags> <maintainer>HelloWorld Inc.</maintainer> <maintainerurl>http://yourdomain.com</maintainerurl> <section>some-section</section> <targetplatform name="joomla" version="2.5" /> </update> <update> <name>HelloWorld</name> <description>HelloWorld Component</description> <element>com_helloworld</element> <type>component</type> <version>1.5.0</version> <infourl title="HalloWorld URL">http://yourdomain.com</infourl> <downloads> <downloadurl type="full" format="zip">http://yourdomain.com/files/com_helloworld-1.5.0-final.zip</downloadurl> </downloads> <tags> <tag>some-tag</tag> </tags> <maintainer>HelloWorld Inc.</maintainer> <maintainerurl>http://yourdomain.com</maintainerurl> <section>some-section</section> <targetplatform name="joomla" version="2.5" /> </update> <update> <name>HelloWorld</name> <description>HelloWorld Component</description> <element>com_helloworld</element> <type>component</type> <version>1.5.1</version> <infourl title="HelloWorld URL">http://yourdomain.com</infourl> <downloads> <downloadurl type="full" format="zip">http://yourdomain.com/files/com_helloworld-1.5.1-final.zip</downloadurl> </downloads> <tags> <tag>some-tag</tag> </tags> <maintainer>HelloWorld Inc.</maintainer> <maintainerurl>http://yourdomain.com</maintainerurl> <section>some-section</section> <targetplatform name="joomla" version="2.5" /> </update> <update> <name>HelloWorld</name> <description>HelloWorld Component</description> <element>com_helloworld</element> <type>component</type> <version>1.5.1</version> <infourl title="HelloWorld URL">http://yourdomain.com</infourl> <downloads> <downloadurl type="full" format="zip">http://yourdomain.com/files/com_helloworld-1.5.1-final.zip</downloadurl> </downloads> <tags> <tag>some-tag</tag> </tags> <maintainer>HelloWorld Inc.</maintainer> <maintainerurl>http://yourdomain.com</maintainerurl> <section>some-section</section> <targetplatform name="joomla" version="2.5" /> </update> <update> <name>HelloWorld</name> <description>HelloWorld Component</description> <element>com_helloworld</element> <type>component</type> <version>1.5.1</version> <infourl title="HelloWorld URL">http://yourdomain.com</infourl> <downloads> <downloadurl type="full" format="zip">http://yourdomain.com/files/com_helloworld-1.5.1-final.zip</downloadurl> </downloads> <tags> <tag>some-tag</tag> </tags> <maintainer>HelloWorld Inc.</maintainer> <maintainerurl>http://yourdomain.com</maintainerurl> <section>some-section</section> <targetplatform name="joomla" version="2.5" /> </update> </updates>
You need to add a new update-node every time you publish a new release, as well as for each Joomla! version. (you will need a distinct update node for each targetplatform)