Search code examples
phpxmljoomlainstallationcompression

Why is my Joomla! 2.5 Extension installing contents from the admin directory onto joomla but not from the site directory? (Code download available)


Okay so the problem is.. my joomla module is not installing correctly. Orginial contents of autobase.xml is based off the joomla 2.5 docs for HelloWorld. I have two directories in the com_autobase.zip called admin and site, For some unknown reason the files from site are not being transferred into Joomla/Components/Com_autobase. But instead the files from admin are being transferred both into Components/com_autobase and Administrator/Components/com_autobase

admin folder 'com_autobase.zip'

admin folder installer
(source: iforce.co.nz)

site folder 'com_autobase.zip'

site folder installer
(source: iforce.co.nz)

autobase.xml contents from 'com_autobase' and 'com_autobase/admin'.

<?xml version="1.0" encoding="utf-8"?>
<!-- $Id: helloworld.xml 14 2009-11-02 18:35:20Z chdemko $ -->
<extension type="component" version="1.6.0" method="upgrade">

<name>AutoBase</name>
<!-- The following elements are optional and free of formatting conttraints -->
<creationDate>July 2012</creationDate>
<authorUrl>http://www.triotech.co.nz</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!--  The version string is recorded in the components table -->
<version>0.0.24</version>
<!-- The description is optional and defaults to the name -->
<description>This application has been built using PHP in house at Trio Technology Ltd as a third party
application for the AutoBase Car Yard</description>

<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 1.6 -->
    <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>autobase.php</filename>
    <filename>controller.php</filename>
    <filename>definitions.php</filename>
    <filename>imageController.php</filename>
    <folder>views</folder>
    <folder>js</folder>
    <folder>css</folder>
    <folder>helpers</folder>
    <folder>models</folder>
    <folder>cache</folder>
    <folder>images</folder>
</files>

<administration>
    <!-- Administration Menu Section -->
    <menu>AutoBase!</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>autobase.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>
        <!-- views helpers section -->
        <folder>helpers</folder>
    </files>
</administration>

</extension>

'com_autobase.zip' INSTALLER package preview

package
(source: iforce.co.nz)

But when I install my packaged zip file, I get this error.. "File does not exist: admin/definitions.php" (which should be expected because this file is in the site diectory and not the admin directory).

joomla error
(source: iforce.co.nz)

Which is telling me its trying to find the files/folders that are located in the site directory, but with the admin directory. How can I get my extensions files from site and admin to be transferred to the correct location? on the joomla CMS.

site folder 'com_autobase.zip' (preview from windows, as you see the definitions.php is there).

site windows installer
(source: iforce.co.nz)

DOWNLOAD of the installer is available here


Solution

  • Ok found the solution to your problem. In the admin folder, delete the autobase.xml file and also add an index.html file to the cache folder. I think Joomla doesn't like installing folders that are empty. Once you have done this, it should install fine.

    Regards.