Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Student projects/Moodle IDE.

Talk:Student projects/Moodle IDE

From MoodleDocs

Moodle IDE target groups

  1. Administrators maintaining production sites
  2. Future developers - learning PHP and Moodle
  3. Contrib developers and translators

Administrators

  • A lot of new administrators are using Windows platform on their desktops.
  • Very few administrator know about the benefits of using cvs.

Often people install testing versions of Moodle on Windows desktops. Then they migrate to data or reinstall Moodle on real servers (Linux and MySQL/PostgreSQL is this the recommended solution ;) First steps are nearly always with zipped Moodle package or Windows installer. Soon many people start to experiment with minor code changes or contrib modules. Problems start appearing during the first upgrade, patching files from official zipped package over and over again often involves a lot of hair pulling. Some admins decide to do they own fork, which might seem like a good idea at first but later often turns out as disaster (especially during major upgrades). Moodle IDE could be one of easy solutions for patching and merging.

The recommended administration strategy is:

  1. initial cvs checkout from stable Moodle branch into test server or dev workstation
  2. testing with real data, tweaking PHP files, installation of contrib modules
  3. pack PHP files and deploy on production servers
  4. update cvs on test server, merge changes, installed updated mods, etc.
  5. test with production data on development server (it is recommended to use $CFG->nomailever = true; in config.php)
  6. pack PHP files and again deploy on production servers
  7. update .... (each month?)

Major upgrades require much more testing and customisation.

When could be Moodle IDE most useful for admins?

  • admin running Windows on desktop
  • not using CVS yet
  • no editor preference
  • starting with PHP

Benefits for amins in situation above:

  • easy installation and automatic setup
  • good PHP editor (PHP Eclipse)
  • very good cvs client - merging and patches
  • database viewer/editor included

Expected installer features:

  • installer should ask if PHP, MyQSL and Apache already installed - probably already installed, but may not be
  • create database if not exists yet or select existing database
  • configuration of Xdebug
  • configuration of Virtual host pointing to newly created Eclipse workspace folder
  • creation of moodledata folder outside of virtual host directory
  • preconfiguration of PHPEclipse

Expected Eclipse workspace features:

  • preconfigured database editor/viewer
  • preconfigured PHPEclipse settings
  • simplified cvs wizard - read only Moodle cvs mirrors with anonymous access
  • simplified Moodle project wizard

Nice to have features:

  • deployment to production server

Future developers

Groups of potential Moodle developers, they want to start with code modifications as soon as possible. They often start without anything installed, they may be also working from classroom PCs.

Expected installer features:

  • install everything as soon as possible including PHP, MySQL and Apache
  • configure xdebug
  • create test database
  • configure virtual host and empty workspace
  • preconfigure Eclipse
  • PHP docs
  • easy access to Moodle docs and howtos
  • YUI, javascript and other web docs

Expected Eclipse workspace features

  • proconfigured PHPEclipse settings
  • preconfigured database editor/viewer
  • simplified Moodle project wizard

Nice to have features:

  • ideally everything should work without Internet access

Contrib developers and translators

Again Windows folk do not know much about cvs, this could be easier way than plain text editor + TortoiseCVS. Both contrib devs and translators have specific needs, they share the need to push code into central cvs server.

Expected Eclipse workspace features:

  • simplified cvs wizard - read/write access to main cvs server
  • coding style hints or docs