Skip to Content - Skip to Navigation

Moodle Enhancements

Summary and status of Moodle enhancements in collaboration with the ACPAC Online Learning Commitee 

Moodle Enhancement Request Form

Error: Error transforming XML with XSLT.
Execution of the 'document()' function was prohibited. Use the XsltSettings.EnableDocumentFunction property to enable it. An error occurred at (40,2).
Line: 0
Position: 0

at Ektron.Cms.EkXml.XSLTransform1(String XmlDoc, String XsltDoc, Boolean XsltAsFile, Boolean XmlAsFile, XsltArgumentList XsltArgs, Boolean ReturnExceptionMessage, XmlResolver DocumentResolver, Double cacheInterval, String applicationPath, Boolean secureOverride)


XML:
<Requests><Request ID="4" OLC_Rank="1" Status="Closed" Type="config" Request_Date="2010-01-05" Completed_Date="2010-04-13" Requestor="D. Smith-Sherwood"><Description>Activate the Spanish Language Pack</Description> <TechnicalScope></TechnicalScope> <Notes><p>Installed the Español - España (es_es) and Español - Internacional (es) Language Packs.</p> <p> </p> </Notes> <D2L></D2L> </Request> <Request ID="1" OLC_Rank="1" Status="Closed" Type="config" Request_Date="2010-01-21" Completed_Date="2010-05-24" Requestor="IT Services"><Description>Reduce the number of gradebook aggregation methods in order to reduce confusion and misinterpretation while maintaining core methods.</Description> <TechnicalScope></TechnicalScope> <Notes>Provide notice via Moodle Announcment area.</Notes> <D2L></D2L> </Request> <Request ID="5" OLC_Rank="1" Status="Closed" Type="config" Request_Date="2010-01-21" Completed_Date="2010-05-24" Requestor="IT Services"><Description>Change default aggregation method to "Sum of Grades" for all new courses. This is assumed to be the default, but it currently is not the default.</Description> <TechnicalScope></TechnicalScope> <Notes>Provide notice via Moodle announcement area.</Notes> <D2L></D2L> </Request> <Request ID="2" OLC_Rank="1" Status="Closed" Type="project" Request_Date="2009-12-01" Completed_Date="2010-08-12" Requestor="Multiple"><Description>Implement internal E-Mail</Description> <TechnicalScope></TechnicalScope> <Notes>Added the Quickmail Module. </Notes> <D2L></D2L> </Request> <Request ID="6" OLC_Rank="1" Status="Escalated" Type="project" Request_Date="2010-02-17" Requestor="P. Kornfeld"><Description>Implement direct integration with Respondus</Description> <TechnicalScope></TechnicalScope> <Notes>Single-SignOn Authentication issue.  Escalated to vendor.</Notes> <D2L></D2L> </Request> <Request ID="7" OLC_Rank="2" Status="Escalated" Type="project" Request_Date="2010-02-03" Requestor="N. Evans"><Description>Investigate integration of Turning Technologies data into the Moodle Gradebook</Description> <TechnicalScope></TechnicalScope> <Notes>Single-SignOn Authentication issue.  Escalated to vendor.</Notes> <D2L></D2L> </Request> <Request ID="8" OLC_Rank="4" Status="Closed" Type="project" Request_Date="2010-01-20" Completed_Date="2010-08-12" Requestor="C. LeBlond"><Description>Investigate the jmol filter</Description> <TechnicalScope></TechnicalScope> <Notes><p><a href="http://docs.moodle.org/en/Jmol_filter">http://docs.moodle.org/en/Jmol_filter</a></p> <p>Related to the 2D chemical Structure Question Type.</p> </Notes> <D2L></D2L> </Request> <Request ID="9" OLC_Rank="4" Status="Closed" Type="project" Request_Date="2010-02-25" Completed_Date="2010-08-12" Requestor="J. Fair"><Description>New quiz question type: 2D chemical structure; submit answer using 2D editor</Description> <TechnicalScope></TechnicalScope> <Notes><p><a href="http://moodle.org/mod/data/view.php?d=13&amp;rid=296&amp;filter=1" class="moz-txt-link-freetext">http://moodle.org/mod/data/view.php?d=13&amp;rid=296&amp;filter=1</a></p> <p>Related to the JMOL Filter.</p> </Notes> <D2L></D2L> </Request> <Request ID="11" OLC_Rank="5" Status="Closed" Type="project" Request_Date="2010-03-17" Completed_Date="2010-08-12" Requestor="N. Yost"><Description>Function to permit enrolled students to update course-specific calendar</Description> <TechnicalScope></TechnicalScope> <Notes>Contact the IT Support Center for this to be changed in a course.</Notes> <D2L></D2L> </Request> <Request ID="11" OLC_Rank="6" Status="Closed" Type="project" Request_Date="2010-01-06" Completed_Date="2010-08-12" Requestor="J. Fair"><Description>Investigate options for internal "flash card" module</Description> <TechnicalScope></TechnicalScope> <Notes><p><a href="/WorkArea/linkit.aspx?LinkIdentifier=id&amp;ItemID=58547" title="StudyMate">StudyMate</a> is a current alternative.</p> <p>The requested Flashcard Module: <a href="http://docs.moodle.org/Flashcard_module">http://docs.moodle.org/Flashcard_module</a></p> <p>Recommended not installing this Module.</p> </Notes> <D2L></D2L> </Request> <Request ID="3" OLC_Rank="1" Status="Closed" Type="feature" Request_Date="2009-06-05" Completed_Date="2009-06-30" Requestor="T. O'Neil"><Description>When updating activities, there is a section called 'Common Module Settings'. The last one has a misspelled word: 'categorized' has a 'z'.</Description> <TechnicalScope></TechnicalScope> <Notes>This was a language pack issue that was fixed.</Notes> <D2L></D2L> </Request> <Request ID="12" OLC_Rank="1" Status="Submitted" Type="feature" Request_Date="2009-06-05" Requestor="T. O'Neil"><Description>Implement a "private reply" option in Forums</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-22077">MDL-22077</a></Notes> <D2L></D2L> </Request> <Request ID="13" OLC_Rank="1" Status="Submitted" Type="feature" Request_Date="2009-06-03" Requestor="T. O'Neil"><Description>Add an end date option to change the end date when using the weekly Format.</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-22078">MDL-22078</a></Notes> <D2L></D2L> </Request> <Request ID="15" OLC_Rank="1" Status="Submitted" Type="feature" Request_Date="2009-06-03" Requestor="T O'Neil"><Description>Default the participant list to 'Students' instead of 'All' for the dropdown select list.</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-22079">MDL-22079</a></Notes> <D2L></D2L> </Request> <Request ID="19" OLC_Rank="1" Status="Submitted" Type="feature" Request_Date="2010-03-29" Requestor="P. Bhagat"><Description>Investigate hide/unhide of the Course Total column so it will not hide then entire gradebook for the students.</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-19704">MDL-19704</a></Notes> <D2L></D2L> </Request> <Request ID="00182001" OLC_Rank="-1" Status="Closed" Type="feature" Request_Date="2010-07-13" Completed_Date="2010-07-22" Requestor="L. Sciulli"><Description>Implement a way to force a student to start additional attempts at a quiz within a certain period of time.</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-23256">MDL-23256</a> Moodle.org will not implement.  See the Tracker for more info.</Notes> <D2L></D2L> </Request> <Request ID="00181822" OLC_Rank="-1" Status="Submitted" Type="feature" Request_Date="2010-07-09" Requestor="K. Ramassini"><Description>Would like to have the ability to give a student extra time to take a quiz.</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-7315" title="MDL-7315">MDL-7315</a></Notes> <D2L></D2L> </Request> <Request OLC_Rank="-1" Status="Submitted" Type="feature" Request_Date="2010-09-21" Requestor="P. Bhagat"><Description>Currently, if a student leaves a quiz/assignment open (does not “submit”), the instructor is unable to grade it until it the session is closed out. The IT Support Center has been helping faculty by manually closing it after signing in as the student. We are seeking a way for the instructor to control such a session.</Description> <TechnicalScope></TechnicalScope> <Notes>Tracker ID: <a href="http://tracker.moodle.org/browse/MDL-3030">MDL-3030</a></Notes> <D2L></D2L> </Request> <Request OLC_Rank="0" Status="Submitted" Type="project" Request_Date="2010-09-21" Requestor="J. Racchini "><Description>Add an attendance feature separate or integrated into the gradebook. This would allow the instructor to keep track of attendance and allow the student to see his/her absences. I know some other LMS's utilize this (ie Seton Hill University's Griffengate). </Description> <TechnicalScope></TechnicalScope> <Notes></Notes> <D2L></D2L> </Request> <Request ID="00192667" OLC_Rank="0" Status="Submitted" Type="feature" Request_Date="2010-10-14" Requestor="S. Mukasa"><Description>Please enable Hot Potatoes in Moodle in order to easily create embedded answers (Cloze) on Moodle question types. See: http://docs.moodle.org/en/Hot_Potatoes</Description> <TechnicalScope></TechnicalScope> <Notes></Notes> <D2L></D2L> </Request> </Requests>



XSLT:
<xsl:stylesheet version="1.0" extension-element-prefixes="msxsl" exclude-result-prefixes="msxsl js dl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:js="urn:custom-javascript" xmlns:dl="urn:datalist" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" /><xsl:strip-space elements="*" /><xsl:param name="userId" select="''" /><xsl:param name="currentDate" /><xsl:param name="currentDateTime" /><xsl:param name="baseURL" select="''" /><xsl:param name="LangType" select="''" /><dl:root><datalist name="ID0ELD"><item value="Submitted">Submitted</item><item value="Open">Open</item><item value="Closed">Closed</item><item value="Prioritized">Prioritized</item><item value="Researching">Researching</item><item value="Escalated">Escalated</item><item value="Testing">Testing</item></datalist><datalist name="ID0EQE"><item value="config">Configuration Change</item><item value="project">Project</item><item value="feature">Feature Request</item></datalist></dl:root><xsl:template name="safeUri"><xsl:param name="uri" select="''" /><xsl:variable name="uri-lang"><xsl:choose><xsl:when test="string-length($LangType) &gt; 0 and contains($uri,'&amp;LangType=-1')"><xsl:value-of select="substring-before($uri,'&amp;LangType=-1')" /><xsl:value-of select="concat('&amp;LangType=',$LangType)" /><xsl:value-of select="substring-after($uri,'&amp;LangType=-1')" /></xsl:when><xsl:when test="contains($uri,'&amp;LangType=-1')"><xsl:value-of select="substring-before($uri,'&amp;LangType=-1')" /><xsl:value-of select="substring-after($uri,'&amp;LangType=-1')" /></xsl:when><xsl:otherwise><xsl:value-of select="$uri" /></xsl:otherwise></xsl:choose></xsl:variable><xsl:choose><xsl:when test="starts-with($uri-lang,'//') or contains($uri-lang,':')"><xsl:value-of select="$uri-lang" /></xsl:when><xsl:when test="starts-with($uri-lang,'/') or substring($baseURL,string-length($baseURL),1)='/'"><xsl:value-of select="concat($baseURL,$uri-lang)" /></xsl:when><xsl:otherwise><xsl:value-of select="concat($baseURL,'/',$uri-lang)" /></xsl:otherwise></xsl:choose></xsl:template><xsl:template match="/" xml:space="preserve"><div class="design_group" id="Requests" title="Requests" ektdesignns_name="Requests" ektdesignns_caption="Requests" ektdesignns_nodetype="element" ektdesignns_role="root" ektdesignns_content="content"><div class="design_membrane" ektdesignns_nodetype="content"><div class="design_dynlist_container" contenteditable="false" unselectable="on"><table class="design_dynlist_area" cellspacing="0" cellpadding="0" border="0"><tfoot class="design_prototype"><tr onclick="design_row_setCurrent(event,this)"><td colspan="2" unselectable="on"><a href="#" onclick="design_row_setCurrent(event,this.parentElement.parentElement);design_row_replace();return false;" menutype="button" class="design_dynlist_menu"><img class="design_add_graphic" menutype="button" src="[skinpath]additem.gif" width="9" height="9" border="0" />Request</a></td><td class="design_dynlist_last_normal" unselectable="on"> </td></tr><tr onclick="design_row_setCurrent(event,this)"><td class="design_dynlist_first_normal" unselectable="on"><a href="#" onclick="design_row_showContextMenu(event,this);return false;" menutype="button" class="design_dynlist_menu" onmouseover="design_row_onmouse(event,this)" onmouseout="design_row_onmouse(event,this)" title="Request"><img class="design_contextmenu_button" menutype="button" src="[skinpath]designmenu.gif" width="11" height="16" border="0" /></a></td><td class="design_dynlist_normal"><fieldset id="Request" title="Request" ektdesignns_name="Request" ektdesignns_caption="Request" ektdesignns_nodetype="element" ektdesignns_maxoccurs="unbounded"><legend>Request</legend><div class="design_membrane" ektdesignns_nodetype="content"><p>Internal ID: <input id="ID" onblur="design_validate_re(/^\d*$/,this,'Non-negative whole number or blank');" title="ID" alt="ID" maxlength="2000" ektdesignns_name="ID" ektdesignns_caption="ID" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:simpleType &gt;&#xD;&#xA; &lt;xs:union memberTypes=&quot;xs:nonNegativeInteger&quot;&gt;&#xD;&#xA; &lt;xs:simpleType&gt;&#xD;&#xA; &lt;xs:restriction base=&quot;xs:string&quot;&gt;&#xD;&#xA; &lt;xs:length value=&quot;0&quot;/&gt;&#xD;&#xA; &lt;/xs:restriction&gt;&#xD;&#xA; &lt;/xs:simpleType&gt;&#xD;&#xA; &lt;/xs:union&gt;&#xD;&#xA; &lt;/xs:simpleType&gt;&#xD;&#xA;" ektdesignns_validation="nonNegInt" ektdesignns_basetype="number" ektdesignns_validate="re:/^\d*$/" ektdesignns_invalidmsg="Non-negative whole number or blank" /> </p> <p>OLC Rank: <input id="OLC_Rank" onblur="design_validate_re(/\S+/,this,'OLC Rank Cannot be blank Should be a number -1, 0, 1');" title="OLC_Rank" alt="OLC_Rank" maxlength="2000" ektdesignns_name="OLC_Rank" ektdesignns_caption="OLC_Rank" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:minLength value=&quot;1&quot;/&gt;&#xD;&#xA;" ektdesignns_validation="string-req" ektdesignns_basetype="text" ektdesignns_validate="re:/\S+/" ektdesignns_invalidmsg="OLC Rank Cannot be blank Should be a number -1, 0, 1" ektdesignns_datatype="string" /> </p> <p><em>For Projects use any positive number.  For Configuration Changes or Features requests (-1 = Unranked, 0 = No, 1 = Yes)</em></p> <address> </address><p>Description: <textarea id="Description" onblur="design_validate_js('this.text.length &lt;= 1000',this,'Allow maximum of 1000 characters');" title="Description" style="WIDTH: 453px; HEIGHT: 68px" rows="3" cols="49" ektdesignns_name="Description" ektdesignns_caption="Description" ektdesignns_nodetype="element" ektdesignns_validation="max1000Chars" ektdesignns_basetype="textbox" ektdesignns_validate="js:this.text.length &lt;= 1000" ektdesignns_invalidmsg="Allow maximum of 1000 characters" xml:space="default"></textarea>  </p> <p>Technical Scope:  <textarea id="TechnicalScope" onblur="design_validate_js('this.text.length &lt;= 1000',this,'Allow maximum of 1000 characters');" title="Technical Scope" rows="3" cols="49" ektdesignns_name="TechnicalScope" ektdesignns_caption="Technical Scope" ektdesignns_nodetype="element" ektdesignns_validation="max1000Chars" ektdesignns_basetype="textbox" ektdesignns_validate="js:this.text.length &lt;= 1000" ektdesignns_invalidmsg="Allow maximum of 1000 characters" xml:space="default"></textarea>  </p> <p>Status: <select id="Status" onblur="design_validate_select(1, this, 'First item is not a valid selection.')" title="Status" ektdesignns_name="Status" ektdesignns_caption="Status" ektdesignns_nodetype="attribute" ektdesignns_validation="select-req"><option xml:space="default" value="Select a Status" selected="selected">Select a Status</option> <option xml:space="default" value="Submitted">Submitted</option> <option xml:space="default" value="Open">Open</option> <option xml:space="default" value="Closed">Closed</option> <option xml:space="default" value="Prioritized">Prioritized</option> <option xml:space="default" value="Researching">Researching</option> <option xml:space="default" value="Escalated">Escalated</option> <option xml:space="default" value="Testing">Testing</option> </select> </p> <p>Type: <select id="Type" title="Type" ektdesignns_name="Type" ektdesignns_caption="Type" ektdesignns_nodetype="attribute"><option xml:space="default" value="config" selected="selected">Configuration Change</option> <option xml:space="default" value="project">Project</option> <option xml:space="default" value="feature">Feature Request</option> </select> </p> <p>Request Date: <span class="design_calendar" id="Request_Date" ektdesignns_name="Request_Date" ektdesignns_caption="Request_Date" title="Request_Date" ektdesignns_nodetype="attribute" ektdesignns_validation="date-req" ektdesignns_datatype="date" ektdesignns_basetype="calendar" ektdesignns_validate="re:/^([0-9]{{4}}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1]))$/" ektdesignns_invalidmsg="Cannot be blank" onblur="design_validate_re(/^([0-9]{{4}}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1]))$/,this,'Cannot be blank');" ektdesignns_content="date"><input readonly="readonly" size="30" unselectable="on" /> <img tabindex="0" class="design_fieldbutton" height="16" alt="Select Date" src="[srcpath]btncalendar.gif" width="16" unselectable="on" /> </span>  </p> <p>Completed Date: <span class="design_calendar" id="Completed_Date" ektdesignns_name="Completed_Date" ektdesignns_caption="Completed_Date" title="Completed_Date" ektdesignns_nodetype="attribute" ektdesignns_content="date"><input readonly="readonly" size="30" unselectable="on" /> <img tabindex="0" class="design_fieldbutton" height="16" alt="Select Date" src="[srcpath]btncalendar.gif" width="16" unselectable="on" /> </span>  </p> <p>Requestor: <input id="Requestor" onblur="design_validate_re(/\S+/,this,'Cannot be blank');" title="Requestor" style="WIDTH: 266px; HEIGHT: 22px" alt="Requestor" maxlength="2000" size="34" ektdesignns_name="Requestor" ektdesignns_caption="Requestor" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:minLength value=&quot;1&quot;/&gt;&#xD;&#xA;" ektdesignns_validation="string-req" ektdesignns_basetype="text" ektdesignns_validate="re:/\S+/" ektdesignns_invalidmsg="Cannot be blank" ektdesignns_datatype="string" /> </p> <p>Notes:  </p> <div class="design_richarea" contenteditable="false" onclick="design_div_editrichtext(event, this)" id="Notes" ektdesignns_name="Notes" ektdesignns_caption="Notes" title="Notes" ektdesignns_nodetype="element" ektdesignns_content="mixed"><xsl:value-of select="''" /></div>   <p>D2L: <input id="D2L" title="D2L" style="WIDTH: 508px; HEIGHT: 22px" alt="D2L" maxlength="2000" size="65" ektdesignns_name="D2L" ektdesignns_caption="D2L" ektdesignns_nodetype="element" rows="3" cols="49" /> </p> <p> </p> </div></fieldset></td><td class="design_dynlist_last_normal" unselectable="on"> </td></tr></tfoot><tbody ektdesignns_list="true"><tr class="design_spacer"><td> </td><td><img class="design_dynlist_spacer" src="[skinpath]spacer.gif" /></td><td> </td></tr><xsl:for-each select="/Requests/Request"><tr onclick="design_row_setCurrent(event,this)"><td class="design_dynlist_first_normal" unselectable="on"><a href="#" onclick="design_row_showContextMenu(event,this);return false;" menutype="button" class="design_dynlist_menu" onmouseover="design_row_onmouse(event,this)" onmouseout="design_row_onmouse(event,this)" title="Request"><img class="design_contextmenu_button" menutype="button" src="[skinpath]designmenu.gif" width="11" height="16" border="0" /></a></td><td class="design_dynlist_normal"><fieldset id="Request{generate-id(.)}" title="Request" ektdesignns_name="Request" ektdesignns_caption="Request" ektdesignns_nodetype="element" ektdesignns_maxoccurs="unbounded"><legend>Request</legend><div class="design_membrane" ektdesignns_nodetype="content"><p>Internal ID: <input id="ID{generate-id(./@ID)}" onblur="design_validate_re(/^\d*$/,this,'Non-negative whole number or blank');" title="ID" alt="ID" maxlength="2000" ektdesignns_name="ID" ektdesignns_caption="ID" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:simpleType &gt;&#xD;&#xA; &lt;xs:union memberTypes=&quot;xs:nonNegativeInteger&quot;&gt;&#xD;&#xA; &lt;xs:simpleType&gt;&#xD;&#xA; &lt;xs:restriction base=&quot;xs:string&quot;&gt;&#xD;&#xA; &lt;xs:length value=&quot;0&quot;/&gt;&#xD;&#xA; &lt;/xs:restriction&gt;&#xD;&#xA; &lt;/xs:simpleType&gt;&#xD;&#xA; &lt;/xs:union&gt;&#xD;&#xA; &lt;/xs:simpleType&gt;&#xD;&#xA;" ektdesignns_validation="nonNegInt" ektdesignns_basetype="number" ektdesignns_validate="re:/^\d*$/" ektdesignns_invalidmsg="Non-negative whole number or blank" value="{./@ID}" /> </p> <p>OLC Rank: <input id="OLC_Rank{generate-id(./@OLC_Rank)}" onblur="design_validate_re(/\S+/,this,'OLC Rank Cannot be blank Should be a number -1, 0, 1');" title="OLC_Rank" alt="OLC_Rank" maxlength="2000" ektdesignns_name="OLC_Rank" ektdesignns_caption="OLC_Rank" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:minLength value=&quot;1&quot;/&gt;&#xD;&#xA;" ektdesignns_validation="string-req" ektdesignns_basetype="text" ektdesignns_validate="re:/\S+/" ektdesignns_invalidmsg="OLC Rank Cannot be blank Should be a number -1, 0, 1" ektdesignns_datatype="string" value="{./@OLC_Rank}" /> </p> <p><em>For Projects use any positive number.  For Configuration Changes or Features requests (-1 = Unranked, 0 = No, 1 = Yes)</em></p> <address> </address><p>Description: <textarea id="Description{generate-id(./Description)}" onblur="design_validate_js('this.text.length &lt;= 1000',this,'Allow maximum of 1000 characters');" title="Description" style="WIDTH: 453px; HEIGHT: 68px" rows="3" cols="49" ektdesignns_name="Description" ektdesignns_caption="Description" ektdesignns_nodetype="element" ektdesignns_validation="max1000Chars" ektdesignns_basetype="textbox" ektdesignns_validate="js:this.text.length &lt;= 1000" ektdesignns_invalidmsg="Allow maximum of 1000 characters" xml:space="default"><xsl:value-of select="./Description" /></textarea>  </p> <p>Technical Scope:  <textarea id="TechnicalScope{generate-id(./TechnicalScope)}" onblur="design_validate_js('this.text.length &lt;= 1000',this,'Allow maximum of 1000 characters');" title="Technical Scope" rows="3" cols="49" ektdesignns_name="TechnicalScope" ektdesignns_caption="Technical Scope" ektdesignns_nodetype="element" ektdesignns_validation="max1000Chars" ektdesignns_basetype="textbox" ektdesignns_validate="js:this.text.length &lt;= 1000" ektdesignns_invalidmsg="Allow maximum of 1000 characters" xml:space="default"><xsl:value-of select="./TechnicalScope" /></textarea>  </p> <p>Status: <select id="Status{generate-id(./@Status)}" onblur="design_validate_select(1, this, 'First item is not a valid selection.')" title="Status" ektdesignns_name="Status" ektdesignns_caption="Status" ektdesignns_nodetype="attribute" ektdesignns_validation="select-req"><option value="Select a Status">Select a Status</option> <xsl:if test="true()" > <xsl:variable name="dl" select="document('')/*/dl:*/datalist[@name='ID0ELD']/item" /><xsl:variable name="datalistKey" select="'ID0ELD'" /><xsl:variable name="datalist" select="$dl" /><xsl:for-each select="./@Status"><xsl:variable name="value" select="string(.)" /><xsl:variable name="display-value" select="($dl[@value=$value])[1]/." /><xsl:variable name="test-notinlist" select="string-length($value) &gt; 0 and count($display-value)=0" /><xsl:if test="$test-notinlist = true() and $value != 'Select a Status'"><option xml:space="default" selected="selected" value="{$value}"><xsl:value-of select="$value" /></option></xsl:if></xsl:for-each><xsl:variable name="data" select="./@Status" /><xsl:variable name="value" select="string($data)" /><xsl:for-each select="$dl"><option value="{@value}" xml:space="default"><xsl:if test="$value=@value"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if><xsl:copy-of select="./node()" /></option></xsl:for-each> </xsl:if> </select> </p> <p>Type: <select id="Type{generate-id(./@Type)}" title="Type" ektdesignns_name="Type" ektdesignns_caption="Type" ektdesignns_nodetype="attribute"> <xsl:if test="true()" > <xsl:variable name="dl" select="document('')/*/dl:*/datalist[@name='ID0EQE']/item" /><xsl:variable name="datalistKey" select="'ID0EQE'" /><xsl:variable name="datalist" select="$dl" /><xsl:for-each select="./@Type"><xsl:variable name="value" select="string(.)" /><xsl:variable name="display-value" select="($dl[@value=$value])[1]/." /><xsl:variable name="test-notinlist" select="string-length($value) &gt; 0 and count($display-value)=0" /><xsl:if test="$test-notinlist = true()"><option xml:space="default" selected="selected" value="{$value}"><xsl:value-of select="$value" /></option></xsl:if></xsl:for-each><xsl:variable name="data" select="./@Type" /><xsl:variable name="value" select="string($data)" /><xsl:for-each select="$dl"><option value="{@value}" xml:space="default"><xsl:if test="$value=@value"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if><xsl:copy-of select="./node()" /></option></xsl:for-each> </xsl:if> </select> </p> <p>Request Date: <span class="design_calendar" id="Request_Date{generate-id(./@Request_Date)}" ektdesignns_name="Request_Date" ektdesignns_caption="Request_Date" title="Request_Date" ektdesignns_nodetype="attribute" ektdesignns_validation="date-req" ektdesignns_datatype="date" ektdesignns_basetype="calendar" ektdesignns_validate="re:/^([0-9]{{4}}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1]))$/" ektdesignns_invalidmsg="Cannot be blank" onblur="design_validate_re(/^([0-9]{{4}}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1]))$/,this,'Cannot be blank');" ektdesignns_content="date" value="{./@Request_Date}" datavalue="{./@Request_Date}"><input readonly="readonly" size="30" unselectable="on" /> <img tabindex="0" class="design_fieldbutton" height="16" alt="Select Date" src="[srcpath]btncalendar.gif" width="16" unselectable="on" /> </span>  </p> <p>Completed Date: <span class="design_calendar" id="Completed_Date{generate-id(./@Completed_Date)}" ektdesignns_name="Completed_Date" ektdesignns_caption="Completed_Date" title="Completed_Date" ektdesignns_nodetype="attribute" ektdesignns_content="date" value="{./@Completed_Date}" datavalue="{./@Completed_Date}"><input readonly="readonly" size="30" unselectable="on" /> <img tabindex="0" class="design_fieldbutton" height="16" alt="Select Date" src="[srcpath]btncalendar.gif" width="16" unselectable="on" /> </span>  </p> <p>Requestor: <input id="Requestor{generate-id(./@Requestor)}" onblur="design_validate_re(/\S+/,this,'Cannot be blank');" title="Requestor" style="WIDTH: 266px; HEIGHT: 22px" alt="Requestor" maxlength="2000" size="34" ektdesignns_name="Requestor" ektdesignns_caption="Requestor" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:minLength value=&quot;1&quot;/&gt;&#xD;&#xA;" ektdesignns_validation="string-req" ektdesignns_basetype="text" ektdesignns_validate="re:/\S+/" ektdesignns_invalidmsg="Cannot be blank" ektdesignns_datatype="string" value="{./@Requestor}" /> </p> <p>Notes:  </p> <div class="design_richarea" contenteditable="false" onclick="design_div_editrichtext(event, this)" id="Notes{generate-id(./Notes)}" ektdesignns_name="Notes" ektdesignns_caption="Notes" title="Notes" ektdesignns_nodetype="element" ektdesignns_content="mixed"><xsl:copy-of select="./Notes/node()" /></div>   <p>D2L: <input id="D2L{generate-id(./D2L)}" title="D2L" style="WIDTH: 508px; HEIGHT: 22px" alt="D2L" maxlength="2000" size="65" ektdesignns_name="D2L" ektdesignns_caption="D2L" ektdesignns_nodetype="element" rows="3" cols="49" value="{./D2L}" /> </p> <p> </p> </div></fieldset></td><td class="design_dynlist_last_normal" unselectable="on"> </td></tr></xsl:for-each><xsl:if test="count(/Requests/Request)=0"><tr onclick="design_row_setCurrent(event,this)"><td class="design_dynlist_first_normal" unselectable="on"><a href="#" onclick="design_row_showContextMenu(event,this);return false;" menutype="button" class="design_dynlist_menu" onmouseover="design_row_onmouse(event,this)" onmouseout="design_row_onmouse(event,this)" title="Request"><img class="design_contextmenu_button" menutype="button" src="[skinpath]designmenu.gif" width="11" height="16" border="0" /></a></td><td class="design_dynlist_normal"><fieldset id="Request" title="Request" ektdesignns_name="Request" ektdesignns_caption="Request" ektdesignns_nodetype="element" ektdesignns_maxoccurs="unbounded"><legend>Request</legend><div class="design_membrane" ektdesignns_nodetype="content"><p>Internal ID: <input id="ID" onblur="design_validate_re(/^\d*$/,this,'Non-negative whole number or blank');" title="ID" alt="ID" maxlength="2000" ektdesignns_name="ID" ektdesignns_caption="ID" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:simpleType &gt;&#xD;&#xA; &lt;xs:union memberTypes=&quot;xs:nonNegativeInteger&quot;&gt;&#xD;&#xA; &lt;xs:simpleType&gt;&#xD;&#xA; &lt;xs:restriction base=&quot;xs:string&quot;&gt;&#xD;&#xA; &lt;xs:length value=&quot;0&quot;/&gt;&#xD;&#xA; &lt;/xs:restriction&gt;&#xD;&#xA; &lt;/xs:simpleType&gt;&#xD;&#xA; &lt;/xs:union&gt;&#xD;&#xA; &lt;/xs:simpleType&gt;&#xD;&#xA;" ektdesignns_validation="nonNegInt" ektdesignns_basetype="number" ektdesignns_validate="re:/^\d*$/" ektdesignns_invalidmsg="Non-negative whole number or blank" /> </p> <p>OLC Rank: <input id="OLC_Rank" onblur="design_validate_re(/\S+/,this,'OLC Rank Cannot be blank Should be a number -1, 0, 1');" title="OLC_Rank" alt="OLC_Rank" maxlength="2000" ektdesignns_name="OLC_Rank" ektdesignns_caption="OLC_Rank" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:minLength value=&quot;1&quot;/&gt;&#xD;&#xA;" ektdesignns_validation="string-req" ektdesignns_basetype="text" ektdesignns_validate="re:/\S+/" ektdesignns_invalidmsg="OLC Rank Cannot be blank Should be a number -1, 0, 1" ektdesignns_datatype="string" /> </p> <p><em>For Projects use any positive number.  For Configuration Changes or Features requests (-1 = Unranked, 0 = No, 1 = Yes)</em></p> <address> </address><p>Description: <textarea id="Description" onblur="design_validate_js('this.text.length &lt;= 1000',this,'Allow maximum of 1000 characters');" title="Description" style="WIDTH: 453px; HEIGHT: 68px" rows="3" cols="49" ektdesignns_name="Description" ektdesignns_caption="Description" ektdesignns_nodetype="element" ektdesignns_validation="max1000Chars" ektdesignns_basetype="textbox" ektdesignns_validate="js:this.text.length &lt;= 1000" ektdesignns_invalidmsg="Allow maximum of 1000 characters" xml:space="default"></textarea>  </p> <p>Technical Scope:  <textarea id="TechnicalScope" onblur="design_validate_js('this.text.length &lt;= 1000',this,'Allow maximum of 1000 characters');" title="Technical Scope" rows="3" cols="49" ektdesignns_name="TechnicalScope" ektdesignns_caption="Technical Scope" ektdesignns_nodetype="element" ektdesignns_validation="max1000Chars" ektdesignns_basetype="textbox" ektdesignns_validate="js:this.text.length &lt;= 1000" ektdesignns_invalidmsg="Allow maximum of 1000 characters" xml:space="default"></textarea>  </p> <p>Status: <select id="Status" onblur="design_validate_select(1, this, 'First item is not a valid selection.')" title="Status" ektdesignns_name="Status" ektdesignns_caption="Status" ektdesignns_nodetype="attribute" ektdesignns_validation="select-req"><option xml:space="default" value="Select a Status" selected="selected">Select a Status</option> <option xml:space="default" value="Submitted">Submitted</option> <option xml:space="default" value="Open">Open</option> <option xml:space="default" value="Closed">Closed</option> <option xml:space="default" value="Prioritized">Prioritized</option> <option xml:space="default" value="Researching">Researching</option> <option xml:space="default" value="Escalated">Escalated</option> <option xml:space="default" value="Testing">Testing</option> </select> </p> <p>Type: <select id="Type" title="Type" ektdesignns_name="Type" ektdesignns_caption="Type" ektdesignns_nodetype="attribute"><option xml:space="default" value="config" selected="selected">Configuration Change</option> <option xml:space="default" value="project">Project</option> <option xml:space="default" value="feature">Feature Request</option> </select> </p> <p>Request Date: <span class="design_calendar" id="Request_Date" ektdesignns_name="Request_Date" ektdesignns_caption="Request_Date" title="Request_Date" ektdesignns_nodetype="attribute" ektdesignns_validation="date-req" ektdesignns_datatype="date" ektdesignns_basetype="calendar" ektdesignns_validate="re:/^([0-9]{{4}}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1]))$/" ektdesignns_invalidmsg="Cannot be blank" onblur="design_validate_re(/^([0-9]{{4}}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1]))$/,this,'Cannot be blank');" ektdesignns_content="date"><input readonly="readonly" size="30" unselectable="on" /> <img tabindex="0" class="design_fieldbutton" height="16" alt="Select Date" src="[srcpath]btncalendar.gif" width="16" unselectable="on" /> </span>  </p> <p>Completed Date: <span class="design_calendar" id="Completed_Date" ektdesignns_name="Completed_Date" ektdesignns_caption="Completed_Date" title="Completed_Date" ektdesignns_nodetype="attribute" ektdesignns_content="date"><input readonly="readonly" size="30" unselectable="on" /> <img tabindex="0" class="design_fieldbutton" height="16" alt="Select Date" src="[srcpath]btncalendar.gif" width="16" unselectable="on" /> </span>  </p> <p>Requestor: <input id="Requestor" onblur="design_validate_re(/\S+/,this,'Cannot be blank');" title="Requestor" style="WIDTH: 266px; HEIGHT: 22px" alt="Requestor" maxlength="2000" size="34" ektdesignns_name="Requestor" ektdesignns_caption="Requestor" ektdesignns_nodetype="attribute" ektdesignns_schema="&#xD;&#xA; &lt;xs:minLength value=&quot;1&quot;/&gt;&#xD;&#xA;" ektdesignns_validation="string-req" ektdesignns_basetype="text" ektdesignns_validate="re:/\S+/" ektdesignns_invalidmsg="Cannot be blank" ektdesignns_datatype="string" /> </p> <p>Notes:  </p> <div class="design_richarea" contenteditable="false" onclick="design_div_editrichtext(event, this)" id="Notes" ektdesignns_name="Notes" ektdesignns_caption="Notes" title="Notes" ektdesignns_nodetype="element" ektdesignns_content="mixed"><xsl:value-of select="''" /></div>   <p>D2L: <input id="D2L" title="D2L" style="WIDTH: 508px; HEIGHT: 22px" alt="D2L" maxlength="2000" size="65" ektdesignns_name="D2L" ektdesignns_caption="D2L" ektdesignns_nodetype="element" rows="3" cols="49" /> </p> <p> </p> </div></fieldset></td><td class="design_dynlist_last_normal" unselectable="on"> </td></tr></xsl:if><tr onclick="design_row_setCurrent(event,this)"><td colspan="2" unselectable="on"><a href="#" onclick="design_row_setCurrent(event,this.parentElement.parentElement);design_row_insertAbove();return false;" menutype="button" class="design_dynlist_menu"><img class="design_add_graphic" menutype="button" src="[skinpath]additem.gif" width="9" height="9" border="0" />Request</a></td><td class="design_dynlist_last_normal" unselectable="on"> </td></tr></tbody></table></div> </div></div></xsl:template></xsl:stylesheet>


  • Office Hours
  • Monday through Friday
  • 8:00 a.m.–4:30 p.m.
  • ihelp.iup.edu