Magento has a very powerful admin configuration system. It allows you to create config forms to be able to configure your custom modules from admin panel, also to enable users to modify it.

t’s quite simple to do – and it should only take you a few minutes to implement this. But, the options are endless. You can add all sorts of custom configurable options that you can edit in the admin panel very easily.

Here my simplified module:

local/SWT/Mymodule/etc/config.xml

<?xml version=”1.0″?>
<config>
<modules>
<SWT_Mymodule>
<version>0.1.0</version>
</SWT_Mymodule>
</modules>
<global>
<models>
<mymodule>
<class>SWT_Mymodule_Model</class>
</mymodule>
</models>
<helpers>
<mymodule>
<class>SWT_Mymodule_Helper</class>
</mymodule>
</helpers>
<resources>
<mymodule_setup>
<setup>
<module>SWT_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
</resources>
</global>

<adminhtml>
<acl>
<resources>
<admin>
<children>
<system>
<children>
<config>
<children>
<mymodule>
<title>My Module Section</title>
</mymodule>
</children>
</config>
</children>
</system>
</children>
</admin>
</resources>
</acl>
<translate>
<modules>
<SWT_Mymodule>
<files>
<default>SWT.csv</default>
</files>
</SWT_Mymodule>
</modules>
</translate>
</adminhtml>

<default>
<mymodule>
<mymoduleconfig>
<host><![CDATA[localhost]]></host>
<active>1</active>
</mymoduleconfig>
</mymodule>
</default>
</config>

local/SWT/Mymodule/etc/system.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<config>
<tabs>
<mymodule translate=”label” module=”mymodule”>
<label>SWT</label>
<sort_order>200</sort_order>
</mymodule>
</tabs>
<sections>
<mymodule translate=”label” module=”mymodule”>
<label>My Module</label>
<tab>mymodule</tab>
<frontend_type>text</frontend_type>
<sort_order>102</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<schedep translate=”label”>
<label>My Module Settings</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>

<active translate=”label”>
<label>Enabled</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</active>
</fields>
</schedep>
</groups>
</mymodule>
</sections>
</config>

local/SWT/Mymodule/Helper/Data.php

<?php

class SWT_Mymodule_Helper_Data extends Mage_Core_Helper_Abstract {

}

?>

local/SWT/Mymodule/Model/Mymodule.php

<?php

class SWT_Mymodule_Model_Mymodule extends Mage_Core_Model_Abstract
{

protected function _construct()
{
$this->_init(‘mymodule/mymodule’);
}

protected function _beforeSave()
{
return parent::_beforeSave();
}

}

 

If you want to protect your Magento backend against attackers, you can follow below mentioned steps to change your admin url/path.

Follow these steps to change the admin URL/path.

Step1 :

First, open the local.xml configuration file in your favorite text editor, or use the Text Editor in the cPanel File Manager. The file is usually located in the app/etc/ directory under your Magento installation. Locate the following code segment:

<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[admin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>

 

Now, replace admin with your new admin path. This should be something personal which is hard to guess, use only letters or numbers – no special characters, then save the file.

Step 2 – Refresh Cache

The final step is to refresh your cache. Use an FTP client to delete the content of the var/cache/ directory, or use the following SSH command.

rm -rf var/cache/*

Step 3

The change is now complete and you should try to log in via the new admin url – http://domain/adminpath/, replacing ‘adminpath’ with the path you chose in the step above. If everything went fine, you should now be presented with the Admin Panel login screen at the new URL. The old admin login URL should return a 404 error message.

Moodle was designed to help foster online learning communities. It has an active development and support group (very important for open-source projects) and has users in over 150 countries.

Moodle was built following social constructionist pedagogy as a virtual learning environment.

Moodle ?
verb – the process of lazily meandering through something; doing things as it occurs to you to do them; an enjoyable tinkering that often leads to insight and creativity.
If you’re writing a proposal, say it means: Modular Object-Oriented Dynamic Learning Environment
Either applies to both to the way Moodle was developed, and to the constructivist pedagogy that guided the original users group.

Anyone who uses Moodle is a Moodler.

What is Social Constructivism?

People actively construct new knowledge as they interact with their environment.
Everything you read, see, hear, feel, and touch is tested against your prior knowledge
Knowledge is strengthened if you can use it successfully in your wider environment.
You are not just a memory bank passively absorbing information, nor can knowledge be “transmitted” to you just by reading something or listening to someone.
Learning is particularly effective when constructing something for others to experience

Social Constructivism extends the above ideas into a social group constructing things for one another, collaboratively creating a small culture of shared artifacts with shared meanings.

Moodle is provided freely as Open Source software (under the GNU Public License).
Basically this means Moodle is copyrighted, but that you are allowed to copy, use and modify Moodle provided that you agree to:
provide the source to others;
not modify or remove the original license and copyrights,

and apply this same license to any derivative work.

Is there some system administrator in you?

Moodle runs without modification on Unix, Linux, Windows, Mac OS X, Netware and any other system that supports PHP 4.3.0+

Designed in a modular way – allows flexibility to add/remove functionality at many levels.
Upgrades easily – has an internal system to upgrade its own databases and repair itself over time.
Requires only one database, generally SQL, and can share it with other applications if necessary. (MySQL 4.1.16+).
Includes comprehensive database abstraction that supports many major brands of database.

Emphasis on security – forms are all checked, data validated, cookies encrypted etc.

Calendar

The Calendar allows you to enter events in various categories (User, Course and Site). You have the option to also show upcoming events, assignments etc., and recent activity in the course.