Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Student projects/Moodle IDE

From MoodleDocs

Note: This page outlines ideas for the Moodle IDE project. It's a specification under construction! If you have any comments or suggestions, please add them to the page comments.


This project is about creating a Moodle integrated development environment (IDE), based on Eclipse, so that new developers can begin developing Moodle in less time.

Ideas:

  • First release: Eclipse + Plugins + Moodle splashscreen + CVS Configuration + Apache + MySQL + Moodle CVS code. All preconfigured and ready out of the box.
  • Moodle project will automatically packs the Moodle version that is downloaded by the user
  • Check style plug-in alike to follow Coding Moodle Design Guidelines.
  • Development help (can be wiki pages to navigate offline)


Moodle IDE

Eclipse ✔

Selecting the base of the Integrated Development Environment (IDE) is one of the most important thing because it will be the key of the development process. I decided to start out with the latest version of PHPeclipse.

  • T1 Develop an Eclipse wizard that will automatically extract the Moodle and XAMPP zip files to create a Moodle project. If the user has already XAMPP installed, then the user should be able to specify the XAMPP .htdocs path

Splashscreen ✔

Moodle-current.jpg

CVS ✔

CVS plug-ins is already built into Eclipse. The discussion about this is that if there are too many X times of checking the new version of the Moodle and packs it, then there will be a huge server loads, with the addition that not everybody would want to always packs the new version when it's been released. So, creating plug-ins to bridge the user interface and the CVS script is one way that I think is more appropriate, but I'd like to do some more research on the CVS behavior.

  • T1 Research the behavior of CVS in Eclipse

Apache + MySQL ✔

This Windows version will be the first one that will be packed out of the box with the Moodle IDE.

  • T1 Configure the XAMPP plug-in for Moodle IDE

Plug-ins ✔

Screenshot

Environment

Environment.jpg

Releases

1.0.0

Features

  • Create a Moodle project
  • Apache, MySQL, and PHP
  • XDebug
  • Moodle CVS
  • Splashscreen

1.0.1

Features

  • More automation

1.0.2

Features

  • Moodle Browser
  • Checkstyle

1.0.3

Features

  • Installer

Installer will extract the Moodle IDE package in the specified user location, then create necessary shortcut that will be helpful for the user. At the end of the installation, the user will be able to decide to open the HTML readme after the installation or not.

  • Shortcuts on desktop and start menu

1.0.4

Features

  • Installer verification if the user has JRE installed, if not then download it, otherwise proceed installation
  • Relative preference configuration to allow installation anywhere without having to configure preference manually

1.0.5

Features

  • More automation on XDebug

1.0.6 *Updated*

Features

  • An option to Download the Moodle package then unpack it automatically to the project

Fixes

  • Add xdebug.remote_mode=req to the php.ini Apache configuration for XDebug
  • Enable php_curl.dll and php_openssl.dll
  • Change the memory_limit = 32M to memory_limit= 40M

Notes

Groups

so we have 3 different groups:

  • admin maintaining hacks on production site
    • they check out latest stable branch into dev server
    • test moodle
    • tweak moodle
    • copy test->production
    • upgrade test server - eclipse does wonderful merging job here
    • test changes
    • copy test -> production
  • contrib code developer
  • general other users learning PHP or Moodle coding

Important Dates

  • July 9, 2008: Midterm evaluation
  • August 11, 2008: Final week
    • Google: August 11: Suggested pencils down. Take a week to scrub code, write tests, improve documentation
    • Google: August 18: Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.
  • Google: September 1: Final evaluation deadline.
  • Google: September 3: Students can begin submitting required code samples to Google.

See also