<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mayankjain20</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mayankjain20"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/Special:Contributions/Mayankjain20"/>
	<updated>2026-04-22T23:11:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25203</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25203"/>
		<updated>2007-07-18T22:41:09Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Navigating Moodle with voice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&lt;br /&gt;
== Model ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Diagram1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Diagram2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Diagram3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Diagram4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Data Required for voice enabling links ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location or Script Code&lt;br /&gt;
&lt;br /&gt;
== Data Required for creating general links (not necessarily voice enabled) ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location(code for href attr)&lt;br /&gt;
* Script Code (code for onclick)&lt;br /&gt;
* Other attributes for &amp;quot;A&amp;quot; html tag.&lt;br /&gt;
* Other code besides anchor text to be inserted between opening and closing &amp;quot;A&amp;quot; tag(eg:- Image).&lt;br /&gt;
&lt;br /&gt;
A createlink function in weblib will allow the user to the following:&lt;br /&gt;
* Create a General Link&lt;br /&gt;
* Create a voice enabled link&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more] but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Diagram4.jpg&amp;diff=25202</id>
		<title>File:Diagram4.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Diagram4.jpg&amp;diff=25202"/>
		<updated>2007-07-18T22:38:29Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Diagram3.jpg&amp;diff=25201</id>
		<title>File:Diagram3.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Diagram3.jpg&amp;diff=25201"/>
		<updated>2007-07-18T22:38:17Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Diagram2.jpg&amp;diff=25200</id>
		<title>File:Diagram2.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Diagram2.jpg&amp;diff=25200"/>
		<updated>2007-07-18T22:37:57Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Diagram1.jpg&amp;diff=25199</id>
		<title>File:Diagram1.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Diagram1.jpg&amp;diff=25199"/>
		<updated>2007-07-18T22:37:38Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25198</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25198"/>
		<updated>2007-07-18T19:33:13Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Voicexmllib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voicexmllib===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Checks the browser version. If &amp;quot;greater than Opera 9.0 and voicexml is enabled&amp;quot; it returns true.&lt;br /&gt;
* Returns true/false.&lt;br /&gt;
&lt;br /&gt;
post_process_voice($output = &#039;&#039;, $alllinksvoiceenabled = true)&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code&lt;br /&gt;
* $alllinksvoiceenabled = true : By default all links will be made voice enabled&lt;br /&gt;
* $alllinksvoiceenabled = false : By default no link will be made voice enabled&lt;br /&gt;
* Parses the xhtml and generates voice code and puts in the head.&lt;br /&gt;
* Also gets voice code from body and places it in the head.&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
Includes voicexmllib.php&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
* Code for checking if voicexml is enabled. If it is &amp;quot;ob_start()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print_footer()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled. If it is &amp;quot;ob_end_clean()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @param string  $href Link Location&lt;br /&gt;
* @param string  $onclick script on link click( otherwise can be included with $otherattribute) &lt;br /&gt;
* @param string  $otherattribute For Links A tag&lt;br /&gt;
* @param string  $anchorhtml Data between opening and closing tags Anchor Text and Image etc:&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @param string  $voiceruletext Rule for the anchor text&lt;br /&gt;
* @param string  $voicetext voice text for some vague reason if it is different from anchor text&lt;br /&gt;
* @param string  $voicelink Link action for voice&lt;br /&gt;
* @param string  $voicescript Script action in voice&lt;br /&gt;
* @return string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
generatevoicetag()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a Voice Tag code&lt;br /&gt;
* @param string  $type Possible Values are voice(true/false), voiceruletext, voicetext, voicelink, voicescript &lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25197</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25197"/>
		<updated>2007-07-18T19:03:17Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Weblib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voicexmllib===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Checks the browser version. If &amp;quot;greater than Opera 9.0 and voicexml is enabled&amp;quot; it returns true.&lt;br /&gt;
* Returns true/false.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code&lt;br /&gt;
* Parses the xhtml and generates voice code and puts in the head.&lt;br /&gt;
* Also gets voice code from body and places it in the head.&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
Includes voicexmllib.php&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
* Code for checking if voicexml is enabled. If it is &amp;quot;ob_start()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print_footer()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled. If it is &amp;quot;ob_end_clean()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @param string  $href Link Location&lt;br /&gt;
* @param string  $onclick script on link click( otherwise can be included with $otherattribute) &lt;br /&gt;
* @param string  $otherattribute For Links A tag&lt;br /&gt;
* @param string  $anchorhtml Data between opening and closing tags Anchor Text and Image etc:&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @param string  $voiceruletext Rule for the anchor text&lt;br /&gt;
* @param string  $voicetext voice text for some vague reason if it is different from anchor text&lt;br /&gt;
* @param string  $voicelink Link action for voice&lt;br /&gt;
* @param string  $voicescript Script action in voice&lt;br /&gt;
* @return string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
generatevoicetag()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a Voice Tag code&lt;br /&gt;
* @param string  $type Possible Values are voice(true/false), voiceruletext, voicetext, voicelink, voicescript &lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=25181</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=25181"/>
		<updated>2007-07-18T09:12:19Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/test1.xml Navigation Test Page]&lt;br /&gt;
&lt;br /&gt;
    - Keywords are &amp;quot;Login&amp;quot;, &amp;quot;Course FullName 101&amp;quot;, &amp;quot;Moodle&amp;quot;, &amp;quot;June&amp;quot;&lt;br /&gt;
    - All links do not work :) !! this just tests the navigation code.&lt;br /&gt;
    &lt;br /&gt;
    FileName: index.php&lt;br /&gt;
    Condition: User not logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Added voicexml code to page&lt;br /&gt;
    		- voice xml form&lt;br /&gt;
    		- code to body section&lt;br /&gt;
    - Voice XML working on page&lt;br /&gt;
    - Keywords for page selected&lt;br /&gt;
    	      - Login&lt;br /&gt;
    	      - Course Fullname 101&lt;br /&gt;
    - Write Code for above keywords&lt;br /&gt;
    - Test&lt;br /&gt;
&lt;br /&gt;
    Navigation possiblities to be considered&lt;br /&gt;
    ----------------------------------------&lt;br /&gt;
        - External page&lt;br /&gt;
        - Internal page&lt;br /&gt;
        - new window&lt;br /&gt;
        - same window&lt;br /&gt;
        - javascript&lt;br /&gt;
&lt;br /&gt;
12. Take the HTML output of a page in Moodle and change a form to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/testFormFinal.xml Form Test Page]&lt;br /&gt;
&lt;br /&gt;
    - All the form elements are checkboxes here for simplicity.&lt;br /&gt;
    &lt;br /&gt;
    FileName: admin/settings.php?section=experimental&lt;br /&gt;
    Condition: User logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Select a form&lt;br /&gt;
    - Write voice xml code corresponding to that form&lt;br /&gt;
    - Identify all fields that need to be converted&lt;br /&gt;
    - Write voice xml code for each field for that form&lt;br /&gt;
    - Sync all voicexml form&#039;s fields with corresponding xhtml form fields&lt;br /&gt;
            - In case of multiple forms sync with form ids&lt;br /&gt;
    - All code goes into head section&lt;br /&gt;
    - Test&lt;br /&gt;
    - Main problem encountered was debugging due to multiple forms on page. Did the mistake of not &lt;br /&gt;
      linking the id of the form while &amp;quot;sync&amp;quot;ing the form fields. So if multiple forms are present &lt;br /&gt;
      field should be synced with form ids.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Forms&amp;diff=25180</id>
		<title>Development:Voice Forms</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Forms&amp;diff=25180"/>
		<updated>2007-07-18T09:12:01Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Filling Moodle Forms with voice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Filling Moodle Forms with voice ==&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25179</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25179"/>
		<updated>2007-07-18T09:11:47Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Required for voice enabling links ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location or Script Code&lt;br /&gt;
&lt;br /&gt;
== Data Required for creating general links (not necessarily voice enabled) ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location(code for href attr)&lt;br /&gt;
* Script Code (code for onclick)&lt;br /&gt;
* Other attributes for &amp;quot;A&amp;quot; html tag.&lt;br /&gt;
* Other code besides anchor text to be inserted between opening and closing &amp;quot;A&amp;quot; tag(eg:- Image).&lt;br /&gt;
&lt;br /&gt;
A createlink function in weblib will allow the user to the following:&lt;br /&gt;
* Create a General Link&lt;br /&gt;
* Create a voice enabled link&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more] but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25175</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25175"/>
		<updated>2007-07-18T09:03:11Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Voicexmllib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voicexmllib===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Checks the browser version. If &amp;quot;greater than Opera 9.0 and voicexml is enabled&amp;quot; it returns true.&lt;br /&gt;
* Returns true/false.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code&lt;br /&gt;
* Parses the xhtml and generates voice code and puts in the head.&lt;br /&gt;
* Also gets voice code from body and places it in the head.&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25173</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25173"/>
		<updated>2007-07-18T08:58:40Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Lib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voicexmllib===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code &lt;br /&gt;
* Gets voice code from body and places it in the head (correct location).&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25172</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25172"/>
		<updated>2007-07-18T08:58:25Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Voice XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===voicexmllib===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code &lt;br /&gt;
* Gets voice code from body and places it in the head (correct location).&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25171</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=25171"/>
		<updated>2007-07-18T08:57:55Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* index.php */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voice XML===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code &lt;br /&gt;
* Gets voice code from body and places it in the head (correct location).&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25044</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25044"/>
		<updated>2007-07-13T21:05:03Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Issues Considered */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Required for voice enabling links ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location or Script Code&lt;br /&gt;
&lt;br /&gt;
== Data Required for creating general links (not necessarily voice enabled) ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location(code for href attr)&lt;br /&gt;
* Script Code (code for onclick)&lt;br /&gt;
* Other attributes for &amp;quot;A&amp;quot; html tag.&lt;br /&gt;
* Other code besides anchor text to be inserted between opening and closing &amp;quot;A&amp;quot; tag(eg:- Image).&lt;br /&gt;
&lt;br /&gt;
A createlink function in weblib will allow the user to the following:&lt;br /&gt;
* Create a General Link&lt;br /&gt;
* Create a voice enabled link&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more] but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25043</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25043"/>
		<updated>2007-07-13T21:04:29Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Data Required for voice enabling links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Required for voice enabling links ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location or Script Code&lt;br /&gt;
&lt;br /&gt;
== Data Required for creating general links (not necessarily voice enabled) ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location(code for href attr)&lt;br /&gt;
* Script Code (code for onclick)&lt;br /&gt;
* Other attributes for &amp;quot;A&amp;quot; html tag.&lt;br /&gt;
* Other code besides anchor text to be inserted between opening and closing &amp;quot;A&amp;quot; tag(eg:- Image).&lt;br /&gt;
&lt;br /&gt;
A createlink function in weblib will allow the user to the following:&lt;br /&gt;
* Create a General Link&lt;br /&gt;
* Create a voice enabled link&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more]  but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25042</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25042"/>
		<updated>2007-07-13T21:04:07Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Data Required for voice enabling links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Required for voice enabling links ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location or Script Code&lt;br /&gt;
&lt;br /&gt;
== Data Required for creating general links (not necessarily voice enabled)&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script ?&lt;br /&gt;
* Link Location(code for href attr)&lt;br /&gt;
* Script Code (code for onclick)&lt;br /&gt;
* Other attributes for &amp;quot;A&amp;quot; html tag.&lt;br /&gt;
* Other code besides anchor text to be inserted between opening and closing &amp;quot;A&amp;quot; tag(eg:- Image).&lt;br /&gt;
&lt;br /&gt;
A createlink function in weblib will allow the user to the following:&lt;br /&gt;
* Create a General Link&lt;br /&gt;
* Create a voice enabled link&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more]  but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25037</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25037"/>
		<updated>2007-07-13T19:19:34Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Navigating Moodle with voice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Required for voice enabling links ==&lt;br /&gt;
* Anchor Text =&amp;gt; Corresponding Grammar Rule&lt;br /&gt;
* If it is a Link or Script&lt;br /&gt;
* Link Location or Script Code&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more]  but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Forms&amp;diff=25036</id>
		<title>Development:Voice Forms</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Forms&amp;diff=25036"/>
		<updated>2007-07-13T19:06:40Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Filling Moodle Forms with voice ==&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25035</id>
		<title>Development:Voice Navigation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Navigation&amp;diff=25035"/>
		<updated>2007-07-13T19:05:08Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&lt;br /&gt;
== Navigating Moodle with voice ==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Issues Considered ==&lt;br /&gt;
* Anchor Text rules resolved to some extent. This solves most cases[say 95% or more]  but is not perfect.&lt;br /&gt;
&lt;br /&gt;
== Open Issues ==&lt;br /&gt;
* Resolving anchor text names within a page so that resulting voice rules do not conflict. Also device a strategy make anchor texts phonetically different.&lt;br /&gt;
* Analyse if it is required to make links which are not visible to human eye on the page ( in span and div ) ie which get visible on calling scripts should not be made voice enabled.&lt;br /&gt;
* A computation intensive algorithm should not be devised as it will increase the loading time.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24250</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24250"/>
		<updated>2007-06-17T09:25:38Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* index.php */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voice XML===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code &lt;br /&gt;
* Gets voice code from body and places it in the head (correct location).&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;br /&gt;
&lt;br /&gt;
==index.php==&lt;br /&gt;
&lt;br /&gt;
* Change 1:Code added at beginning of index.php&lt;br /&gt;
    // Post Processing in case voiceXML is enabled&lt;br /&gt;
    if (voicexmlenabled()) {&lt;br /&gt;
        ob_start();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
* Change 2:Code Added at the end of index.php &lt;br /&gt;
    // Post Processing in case voiceXML is enabled&lt;br /&gt;
    if (voicexmlenabled()) {&lt;br /&gt;
        $output = ob_get_contents();&lt;br /&gt;
        $output = post_process_voice($output);&lt;br /&gt;
        ob_end_clean(); &lt;br /&gt;
        echo $output;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
* Alternatively - Better Solution &lt;br /&gt;
    Change 1 code included in print_header() function in weblib.php&lt;br /&gt;
    Change 2 code included in print_footer() function in weblib.php&lt;br /&gt;
&lt;br /&gt;
  - This will minimize the change in code. As all pages already have the above two functions. I have tested the code for index.php and need to extend it to other pages.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24249</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24249"/>
		<updated>2007-06-17T01:42:08Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Moodle Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voice XML===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code &lt;br /&gt;
* Gets voice code from body and places it in the head (correct location).&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;br /&gt;
&lt;br /&gt;
==index.php==&lt;br /&gt;
&lt;br /&gt;
* Code added at beginning of index.php&lt;br /&gt;
    // Post Processing in case voiceXML is enabled&lt;br /&gt;
    if (voicexmlenabled()) {&lt;br /&gt;
        ob_start();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
* Code Added at the end of index.php &lt;br /&gt;
    // Post Processing in case voiceXML is enabled&lt;br /&gt;
    if (voicexmlenabled()) {&lt;br /&gt;
        $output = ob_get_contents();&lt;br /&gt;
        $output = post_process_voice($output);&lt;br /&gt;
        ob_end_clean(); &lt;br /&gt;
        echo $output;&lt;br /&gt;
    }&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24248</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24248"/>
		<updated>2007-06-17T01:39:15Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Voice XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voice XML===&lt;br /&gt;
voicexmlenabled()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
&lt;br /&gt;
post_process_voice()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Post processes xhtml code &lt;br /&gt;
* Gets voice code from body and places it in the head (correct location).&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24247</id>
		<title>Development:Voice Changelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Changelog&amp;diff=24247"/>
		<updated>2007-06-17T01:36:03Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Weblib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
= Moodle Code =&lt;br /&gt;
&lt;br /&gt;
==Lib==&lt;br /&gt;
&lt;br /&gt;
===Voice XML===&lt;br /&gt;
voicexmlenabled(): Returns whether voicexml feature is enabled/allowed or not.&lt;br /&gt;
voicexmllib:anotherfunction(): bla bla bla&lt;br /&gt;
&lt;br /&gt;
===Weblib===&lt;br /&gt;
&lt;br /&gt;
print_header()&lt;br /&gt;
&lt;br /&gt;
* Modified&lt;br /&gt;
* Code for checking if voicexml is enabled and printing corresponding header information.&lt;br /&gt;
&lt;br /&gt;
createlink()&lt;br /&gt;
&lt;br /&gt;
* Added&lt;br /&gt;
* Outputs a HTML Link (A Tag) code and correspondingly also outputs&lt;br /&gt;
* the voice code for it if $voice is true.&lt;br /&gt;
* @usage print_location_comment(__FILE__, __LINE__);&lt;br /&gt;
* @param string $href Link Location &lt;br /&gt;
* @param string $linktext Link Text&lt;br /&gt;
* @param string $otherattributes&lt;br /&gt;
* @param boolean $voice Whether to output voice code&lt;br /&gt;
* @return string&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=24075</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=24075"/>
		<updated>2007-06-06T11:39:30Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/test1.xml Navigation Test Page]&lt;br /&gt;
&lt;br /&gt;
    - Keywords are &amp;quot;Login&amp;quot;, &amp;quot;Course FullName 101&amp;quot;, &amp;quot;Moodle&amp;quot;, &amp;quot;June&amp;quot;&lt;br /&gt;
    - All links do not work :) !! this just tests the navigation code.&lt;br /&gt;
    &lt;br /&gt;
    FileName: index.php&lt;br /&gt;
    Condition: User not logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Added voicexml code to page&lt;br /&gt;
    		- voice xml form&lt;br /&gt;
    		- code to body section&lt;br /&gt;
    - Voice XML working on page&lt;br /&gt;
    - Keywords for page selected&lt;br /&gt;
    	      - Login&lt;br /&gt;
    	      - Course Fullname 101&lt;br /&gt;
    - Write Code for above keywords&lt;br /&gt;
    - Test&lt;br /&gt;
&lt;br /&gt;
    Navigation possiblities to be considered&lt;br /&gt;
    ----------------------------------------&lt;br /&gt;
        - External page&lt;br /&gt;
        - Internal page&lt;br /&gt;
        - new window&lt;br /&gt;
        - same window&lt;br /&gt;
        - javascript&lt;br /&gt;
&lt;br /&gt;
12. Take the HTML output of a page in Moodle and change a form to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/testFormFinal.xml Form Test Page]&lt;br /&gt;
&lt;br /&gt;
    - All the form elements are checkboxes here for simplicity.&lt;br /&gt;
    &lt;br /&gt;
    FileName: admin/settings.php?section=experimental&lt;br /&gt;
    Condition: User logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Select a form&lt;br /&gt;
    - Write voice xml code corresponding to that form&lt;br /&gt;
    - Identify all fields that need to be converted&lt;br /&gt;
    - Write voice xml code for each field for that form&lt;br /&gt;
    - Sync all voicexml form&#039;s fields with corresponding xhtml form fields&lt;br /&gt;
            - In case of multiple forms sync with form ids&lt;br /&gt;
    - All code goes into head section&lt;br /&gt;
    - Test&lt;br /&gt;
    - Main problem encountered was debugging due to multiple forms on page. Did the mistake of not &lt;br /&gt;
      linking the id of the form while &amp;quot;sync&amp;quot;ing the form fields. So if multiple forms are present &lt;br /&gt;
      field should be synced with form ids.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=24045</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=24045"/>
		<updated>2007-06-04T21:34:37Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/test1.xml Navigation Test Page]&lt;br /&gt;
&lt;br /&gt;
    - Keywords are &amp;quot;Login&amp;quot;, &amp;quot;Course FullName 101&amp;quot;, &amp;quot;Moodle&amp;quot;, &amp;quot;June&amp;quot;&lt;br /&gt;
    - All links do not work :) !! this just tests the navigation code.&lt;br /&gt;
    &lt;br /&gt;
    FileName: index.php&lt;br /&gt;
    Condition: User not logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Added voicexml code to page&lt;br /&gt;
    		- voice xml form&lt;br /&gt;
    		- code to body section&lt;br /&gt;
    - Voice XML working on page&lt;br /&gt;
    - Keywords for page selected&lt;br /&gt;
    	      - Login&lt;br /&gt;
    	      - Course Fullname 101&lt;br /&gt;
    - Write Code for above keywords&lt;br /&gt;
    - Test&lt;br /&gt;
&lt;br /&gt;
    Navigation possiblities to be considered&lt;br /&gt;
    ----------------------------------------&lt;br /&gt;
        - External page&lt;br /&gt;
        - Internal page&lt;br /&gt;
        - new window&lt;br /&gt;
        - same window&lt;br /&gt;
        - javascript&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change a form to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/testFormFinal.xml Form Test Page]&lt;br /&gt;
&lt;br /&gt;
    - All the form elements are checkboxes here for simplicity.&lt;br /&gt;
    &lt;br /&gt;
    FileName: admin/settings.php?section=experimental&lt;br /&gt;
    Condition: User logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Select a form&lt;br /&gt;
    - Write voice xml code corresponding to that form&lt;br /&gt;
    - Identify all fields that need to be converted&lt;br /&gt;
    - Write voice xml code for each field for that form&lt;br /&gt;
    - Sync all voicexml form&#039;s fields with corresponding xhtml form fields&lt;br /&gt;
            - In case of multiple forms sync with form ids&lt;br /&gt;
    - All code goes into head section&lt;br /&gt;
    - Test&lt;br /&gt;
    - Main problem encountered was debugging due to multiple forms on page. Did the mistake of not &lt;br /&gt;
      linking the id of the form while &amp;quot;sync&amp;quot;ing the form fields. So if multiple forms are present &lt;br /&gt;
      field should be synced with form ids.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=24043</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=24043"/>
		<updated>2007-06-04T21:07:53Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/testNavigation.tar.gz Navigation Test Page]&lt;br /&gt;
&lt;br /&gt;
    - Keywords are &amp;quot;Login&amp;quot;, &amp;quot;Course FullName 101&amp;quot;, &amp;quot;Moodle&amp;quot;, &amp;quot;June&amp;quot;&lt;br /&gt;
    - All links do not work :) !! this just tests the navigation code.&lt;br /&gt;
    &lt;br /&gt;
    FileName: index.php&lt;br /&gt;
    Condition: User not logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Added voicexml code to page&lt;br /&gt;
    		- voice xml form&lt;br /&gt;
    		- code to body section&lt;br /&gt;
    - Voice XML working on page&lt;br /&gt;
    - Keywords for page selected&lt;br /&gt;
    	      - Login&lt;br /&gt;
    	      - Course Fullname 101&lt;br /&gt;
    - Write Code for above keywords&lt;br /&gt;
    - Test&lt;br /&gt;
&lt;br /&gt;
    Navigation possiblities to be considered&lt;br /&gt;
    ----------------------------------------&lt;br /&gt;
        - External page&lt;br /&gt;
        - Internal page&lt;br /&gt;
        - new window&lt;br /&gt;
        - same window&lt;br /&gt;
        - javascript&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change a form to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/testForm.tar.gz Form Test Page]&lt;br /&gt;
&lt;br /&gt;
    - All the form elements are checkboxes here for simplicity.&lt;br /&gt;
    &lt;br /&gt;
    FileName: admin/settings.php?section=experimental&lt;br /&gt;
    Condition: User logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Select a form&lt;br /&gt;
    - Write voice xml code corresponding to that form&lt;br /&gt;
    - Identify all fields that need to be converted&lt;br /&gt;
    - Write voice xml code for each field for that form&lt;br /&gt;
    - Sync all voicexml form&#039;s fields with corresponding xhtml form fields&lt;br /&gt;
            - In case of multiple forms sync with form ids&lt;br /&gt;
    - All code goes into head section&lt;br /&gt;
    - Test&lt;br /&gt;
    - Main problem encountered was debugging due to multiple forms on page. Did the mistake of not &lt;br /&gt;
      linking the id of the form while &amp;quot;sync&amp;quot;ing the form fields. So if multiple forms are present &lt;br /&gt;
      field should be synced with form ids.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_VoiceXML&amp;diff=24032</id>
		<title>Development:Voice VoiceXML</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_VoiceXML&amp;diff=24032"/>
		<updated>2007-06-04T17:55:58Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* VoiceXML Technology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
== VoiceXML Technology ==&lt;br /&gt;
* [http://www.voicexml.org/ VoiceXML.org]&lt;br /&gt;
* [http://www.w3.org/Voice/ W3C Voice Standards]&lt;br /&gt;
* [http://www.w3.org/TR/voicexml20/ W3C VoiceXML Version 2.0]&lt;br /&gt;
&lt;br /&gt;
== XHTML + VoiceXML Technology ==&lt;br /&gt;
* [http://www.voicexml.org/specs/multimodal/x+v/12/ X+V specifications]&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
* [[Development:Voice VoiceXML Examples|VoiceXML Examples]]&lt;br /&gt;
* [http://www.youtube.com/watch?v=FSp4RJ8U3Ts Voice Web Form example video]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_Timelog&amp;diff=23999</id>
		<title>Development:Voice Timelog</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_Timelog&amp;diff=23999"/>
		<updated>2007-06-04T04:12:56Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* June 07 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== June 07 ==&lt;br /&gt;
&lt;br /&gt;
=== 31/05/07 - 02/06/07 ===&lt;br /&gt;
&lt;br /&gt;
- Converted moodle output of a page to voice enabled for Navigation. &lt;br /&gt;
&lt;br /&gt;
- Converted moodle output of a page to voice enabled for Forms Testing.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice_ToDo&amp;diff=23998</id>
		<title>Development:Voice ToDo</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice_ToDo&amp;diff=23998"/>
		<updated>2007-06-04T04:08:02Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* ToDo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
Here we will put the tasks we need to complete. If no tasks assigned, then keep on with the timeplan.&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=23997</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=23997"/>
		<updated>2007-06-04T04:07:03Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/test1.xml Navigation Test Page]&lt;br /&gt;
&lt;br /&gt;
    - Keywords are &amp;quot;Login&amp;quot;, &amp;quot;Course FullName 101&amp;quot;, &amp;quot;Moodle&amp;quot;, &amp;quot;June&amp;quot;&lt;br /&gt;
    - All links do not work :) !! this just tests the navigation code.&lt;br /&gt;
    &lt;br /&gt;
    FileName: index.php&lt;br /&gt;
    Condition: User not logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Added voicexml code to page&lt;br /&gt;
    		- voice xml form&lt;br /&gt;
    		- code to body section&lt;br /&gt;
    - Voice XML working on page&lt;br /&gt;
    - Keywords for page selected&lt;br /&gt;
    	      - Login&lt;br /&gt;
    	      - Course Fullname 101&lt;br /&gt;
    - Write Code for above keywords&lt;br /&gt;
    - Test&lt;br /&gt;
&lt;br /&gt;
    Navigation possiblities to be considered&lt;br /&gt;
    ----------------------------------------&lt;br /&gt;
        - External page&lt;br /&gt;
        - Internal page&lt;br /&gt;
        - new window&lt;br /&gt;
        - same window&lt;br /&gt;
        - javascript&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change a form to make it Voice enabled. &lt;br /&gt;
    Check out the page @ [http://mayankjain20.googlepages.com/testFormFinal.xml Form Test Page]&lt;br /&gt;
&lt;br /&gt;
    - All the form elements are checkboxes here for simplicity.&lt;br /&gt;
    &lt;br /&gt;
    FileName: admin/settings.php?section=experimental&lt;br /&gt;
    Condition: User logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Select a form&lt;br /&gt;
    - Write voice xml code corresponding to that form&lt;br /&gt;
    - Identify all fields that need to be converted&lt;br /&gt;
    - Write voice xml code for each field for that form&lt;br /&gt;
    - Sync all voicexml form&#039;s fields with corresponding xhtml form fields&lt;br /&gt;
            - In case of multiple forms sync with form ids&lt;br /&gt;
    - All code goes into head section&lt;br /&gt;
    - Test&lt;br /&gt;
    - Main problem encountered was debugging due to multiple forms on page. Did the mistake of not &lt;br /&gt;
      linking the id of the form while &amp;quot;sync&amp;quot;ing the form fields. So if multiple forms are present &lt;br /&gt;
      field should be synced with form ids.&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=23943</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=23943"/>
		<updated>2007-06-01T21:48:14Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. Check out the page @ [http://mayankjain20.googlepages.com/test1.xml Navigation Test Page]&lt;br /&gt;
    - Keywords are &amp;quot;Login&amp;quot;, &amp;quot;Course FullName 101&amp;quot;, &amp;quot;Moodle&amp;quot;, &amp;quot;June&amp;quot;&lt;br /&gt;
    - All links do not work :) !! this just tests the navigation code.&lt;br /&gt;
    &lt;br /&gt;
    FileName: index.php&lt;br /&gt;
    Condition: User not logged in.&lt;br /&gt;
    Steps to Convert&lt;br /&gt;
    ----------------&lt;br /&gt;
    - Source Code saved.&lt;br /&gt;
    - Additions to html Tag&lt;br /&gt;
    		xmlns:ev=&amp;quot;http://www.w3.org/2001/xml-events&amp;quot; &lt;br /&gt;
    		xmlns:ss=&amp;quot;http://www.w3.org/2001/10/synthesis&amp;quot; &lt;br /&gt;
    		xmlns:xv=&amp;quot;http://www.voicexml.org/2002/xhtml+voice&amp;quot;&lt;br /&gt;
    - Added voicexml code to page&lt;br /&gt;
    		- voice xml form&lt;br /&gt;
    		- code to body section&lt;br /&gt;
    - Voice XML working on page&lt;br /&gt;
    - Keywords for page selected&lt;br /&gt;
    	      - Login&lt;br /&gt;
    	      - Course Fullname 101&lt;br /&gt;
    - Write Code for above keywords&lt;br /&gt;
    - Test&lt;br /&gt;
&lt;br /&gt;
    Navigation possiblities to be considered&lt;br /&gt;
    ----------------------------------------&lt;br /&gt;
        - External page&lt;br /&gt;
        - Internal page&lt;br /&gt;
        - new window&lt;br /&gt;
        - same window&lt;br /&gt;
        - javascript&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=23942</id>
		<title>Development:Tasks completed</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Tasks_completed&amp;diff=23942"/>
		<updated>2007-06-01T21:37:33Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Tasks Completed =&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
11. Take the HTML output of a page in Moodle and change all its link tags to make it Voice enabled. Check out the page @ [http://mayankjain20.googlepages.com/test1.xml Navigation Test Page]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23555</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23555"/>
		<updated>2007-05-23T17:35:06Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
VoiceXML Pizza Order Form - [http://www.uwplatt.edu/auralCSS/pizza.xml Demonstration]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
&lt;br /&gt;
Student :  [http://mayankjain20.googlepages.com Mayank Jain]&lt;br /&gt;
&lt;br /&gt;
Mentor  :  [http://moodle.org/user/view.php?id=153093&amp;amp;course=1 David Horat]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23527</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23527"/>
		<updated>2007-05-23T11:39:10Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Contacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
VoiceXML Pizza Order Form - [http://www.uwplatt.edu/auralCSS/pizza.xml Demostration]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
&lt;br /&gt;
Student :  [http://mayankjain20.googlepages.com Mayank Jain]&lt;br /&gt;
&lt;br /&gt;
Mentor  :  [http://moodle.org/user/view.php?id=153093&amp;amp;course=1 David Horat]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23526</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23526"/>
		<updated>2007-05-23T11:38:41Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
VoiceXML Pizza Order Form - [http://www.uwplatt.edu/auralCSS/pizza.xml Demostration]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
&lt;br /&gt;
Student : Mayank Jain [http://mayankjain20.googlepages.com]&lt;br /&gt;
&lt;br /&gt;
Mentor  : David Horat [http://moodle.org/user/view.php?id=153093&amp;amp;course=1]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23524</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23524"/>
		<updated>2007-05-23T11:37:58Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Tasks Completed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on [http://dev.opera.com/articles/voice/ Opera Website] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Sample Pizza Order Form - Nice Demostration [http://www.uwplatt.edu/auralCSS/pizza.xml]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
&lt;br /&gt;
Student : Mayank Jain [http://mayankjain20.googlepages.com]&lt;br /&gt;
&lt;br /&gt;
Mentor  : David Horat [http://moodle.org/user/view.php?id=153093&amp;amp;course=1]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23517</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23517"/>
		<updated>2007-05-23T11:35:08Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Tasks Completed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on Opera Website[http://dev.opera.com/articles/voice/] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
8. Added an experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated. &lt;br /&gt;
&lt;br /&gt;
9. Created a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code (lib/voicexml/voicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
10. Created a unit test for voicexmllib to test all functionality in voicexmllib.php in (lib/simpletest/testvoicexmllib.php).&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Sample Pizza Order Form - Nice Demostration [http://www.uwplatt.edu/auralCSS/pizza.xml]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
&lt;br /&gt;
Student : Mayank Jain [http://mayankjain20.googlepages.com]&lt;br /&gt;
&lt;br /&gt;
Mentor  : David Horat [http://moodle.org/user/view.php?id=153093&amp;amp;course=1]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23439</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23439"/>
		<updated>2007-05-22T10:20:19Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Contacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on Opera Website[http://dev.opera.com/articles/voice/] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Sample Pizza Order Form - Nice Demostration [http://www.uwplatt.edu/auralCSS/pizza.xml]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
&lt;br /&gt;
Student : Mayank Jain [http://mayankjain20.googlepages.com]&lt;br /&gt;
&lt;br /&gt;
Mentor  : David Horat [http://moodle.org/user/view.php?id=153093&amp;amp;course=1]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23410</id>
		<title>Development:Voice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:Voice&amp;diff=23410"/>
		<updated>2007-05-21T18:58:15Z</updated>

		<summary type="html">&lt;p&gt;Mayankjain20: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Voice}}&lt;br /&gt;
{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Moodle Voice is a project for embedding VoiceXML support into Moodle Core.&lt;br /&gt;
&lt;br /&gt;
== Project Status ==&lt;br /&gt;
Analysis and Requirement Extraction Phase&lt;br /&gt;
&lt;br /&gt;
== Tasks Completed ==&lt;br /&gt;
&lt;br /&gt;
1. Read All Coding guidelines.&lt;br /&gt;
&lt;br /&gt;
2. Read through the Moodle Developer Information&lt;br /&gt;
&lt;br /&gt;
3. Setup of the php-eclipse environment done.&lt;br /&gt;
&lt;br /&gt;
4. Downloaded and installed moodle code from CVS&lt;br /&gt;
   Repository used : eu.cvs.moodle.org&lt;br /&gt;
5. Setup of Opera done&lt;br /&gt;
   Tested and Learnt opera browser voice support commands(opera 9.01)&lt;br /&gt;
&lt;br /&gt;
6. Read Understood and Tested all Voice Examples on Opera Website[http://dev.opera.com/articles/voice/] &lt;br /&gt;
&lt;br /&gt;
7. Read on voicexml intricacies - needed to analyse moodle output to identify what could be converted and what not.&lt;br /&gt;
&lt;br /&gt;
== Current Focus ==&lt;br /&gt;
&lt;br /&gt;
1. Describing the functionality to be made voice enabled within this project.&lt;br /&gt;
&lt;br /&gt;
2. Add and experimental option called &amp;quot;VoiceXML&amp;quot; so only when this variable is checked, VoiceXML code is generated.&lt;br /&gt;
&lt;br /&gt;
3. Create a php lib for VoiceXML to put all functionality of VoiceXML and to be used by the rest of the code.&lt;br /&gt;
&lt;br /&gt;
4. Modify weblib.php and formslib.php intensively to use the VoiceXML lib and output VoiceXML code along with the html code if the VoiceXML variable is set.&lt;br /&gt;
&lt;br /&gt;
5. Create a set of tests for every function and the integration of several functions to assure that the functionlity is the expected one.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Sample Pizza Order Form - Nice Demostration [http://www.uwplatt.edu/auralCSS/pizza.xml]&lt;br /&gt;
&lt;br /&gt;
== Contacts ==&lt;br /&gt;
Please feel free to chip-in with your suggestions.&lt;br /&gt;
Student : Mayank Jain [http://mayankjain20.googlepages.com]&lt;br /&gt;
Mentor  : David Horat [http://moodle.org/user/view.php?id=153093&amp;amp;course=1]&lt;/div&gt;</summary>
		<author><name>Mayankjain20</name></author>
	</entry>
</feed>