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

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 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

Optional

Plug-ins

Screenshot

Create a new Project

Page 1

Sc1.jpg

Page 2

Sc2.jpg Sc2-1.jpg Sc2-2.jpg Sc2-3.jpg

Page 3

Sc3.jpg

Workspace

Workspace

  • T1 Implementations
    • XAMPP location
      • If XAMPP is already installed, specify the htdocs path, otherwise specify XAMPP zip package installer
    • Moodle location & Eclipse-Apache
      • Specify the Moodle zip package that the user would like to use in the project
        • If the XAMPP zip package installer is specified, install XAMPP in the users computer
        • Extract the Moodle zip package to the XAMPP htdocs location
        • Populate the project folder with the Moodle package files
    • CVS
      • If the user has an account, connect to the CVS with the specified account
      • Otherwise connect the user with an anonymous account
    • Eclipse-Browser
      • When the user run the project, the first page would be start up Moodle installer page that will guide the user for the Moodle installation process and create necessary database tables
      • Once it's set up, the user could see the Moodle is running in Eclipse in real time
      • Extracting files from the Moodle package to setup the Moodle project
  • T2 Checkstyle
    • XML customization to follow Moodle Design Guidelines
  • T3 Documentations
  • T4 Customization
    • Splashscreen

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

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