General Actions:
Log-in
Wiki:
Courses
▼
:
Document Index
»
Space:
DSSF2008
▼
:
Document Index
»
Page:
TestAssignmentCreator
Search
DSSF2008
:
Assignment Creator
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Assignment Creator
Wiki source code of
Assignment Creator
Last modified by
Holger Dick
on 2010/08/20 13:14
Content
·
Comments
(0)
·
Attachments
(0)
·
History
·
Information
Hide line numbers
1: ##Requires parent WEBNAME.Assignments (ex. DSSF2008.Assignments) 2: 3: #if($request.webname && $request.name) 4: 5: ##Creates assignment class based off of XWiki.AssignmentClassBaseText, 6: ## XWiki.AssignmentClassSheetBaseText, and XWiki.AssignmentClassTemplateBaseText 7: ##Replaces following keywords in each file 8: ## ASSIGNMENTNAME = Whatever the user enters as the name (ex. "Assignment 5". This also makes the page name Assignment5Class) 9: ## DUEDATE = When the assignment is due (ex. "Wednesday, February 4, 9:00 am") 10: ## DUEINSTRUCTIONS = Where the assignment should be turned in etc. (ex. "on the class website - max length: two pages") 11: ## TODOPREPMESSAGE = If there is preparation instructions for the user, this is "1.1 To-Do - Preparation" otherwise it's blank 12: ## TODOPREPTEXT = Preparation instructions for the assignment (ex. "* Read chapters 2-4") 13: ## TODOTEXT = The assignment instructions (ex. "1. discuss what the following statement means to your group...") 14: ## WEBNAME = The web location for this assignment (ex. "DCNM2009") 15: ## CLASSSHEET = The location of the class sheet doc 16: 17: #set($fixedpagename = ${request.name}) 18: #set($fixedpagename = $fixedpagename.replaceAll(" ","")) 19: #if($request.name.endsWith("Class")) 20: #set($docname="${request.webname}.${fixedpagename}") 21: #else 22: #set($docname="${request.webname}.${fixedpagename}Class") 23: #end 24: #set($docname = $context.util.noaccents($docname)) 25: #set($templatename="${docname}Template") 26: #set($sheetname="${docname}Sheet") 27: 28: #set($todoprepmessage = "") 29: #set($todoprep = "") 30: #if(${request.todoprep} != "") 31: #set($todoprepmessage = "${util.getNewline()}1.1 To-Do - Preparation${util.getNewline()}${util.getNewline()}") 32: #set($todoprep = "${request.todoprep}${util.getNewline()}"); 33: #end 34: 35: 36: $xwiki.copyDocument("XWiki.AssignmentClassBaseText",$docname) 37: #set($newAssignClass=$xwiki.getDocument($docname)) 38: #set($docText = $newAssignClass.getContent()) 39: #set($docText = $docText.replaceAll("WEBNAME", ${request.webname})) 40: #set($docText = $docText.replaceAll("CLASSDOC", $docname)) 41: #set($docText = $docText.replaceAll("CLASSTEMPLATE", $templatename)) 42: #set($docText = $docText.replaceAll("CLASSSHEET", $sheetname)) 43: #set($docText = $docText.replaceAll("ASSIGNMENTNAME", ${request.name})) 44: #set($docText = $docText.replaceAll("DUEDATE", ${request.duedate})) 45: #set($docText = $docText.replaceAll("DUEINSTRUCTIONS", ${request.dueinstr})) 46: #set($docText = $docText.replaceAll("TODOPREPMESSAGE", $todoprepmessage)) 47: #set($docText = $docText.replaceAll("TODOPREPTEXT", $todoprep)) 48: #set($docText = $docText.replaceAll("TODOTEXT", ${request.todoinstr})) 49: $newAssignClass.setTitle(${request.abbrev}) 50: $newAssignClass.setContent($docText) 51: $sheetDoc.setParent("${request.webname}.Assignments") 52: $newAssignClass.save() 53: 54: $xwiki.copyDocument("XWiki.AssignmentClassSheetBaseText",$sheetname) 55: #set($sheetDoc=$xwiki.getDocument($sheetname)) 56: #set($docText = $sheetDoc.getContent()) 57: #set($docText = $docText.replaceAll("WEBNAME", ${request.webname})) 58: #set($docText = $docText.replaceAll("CLASSDOC", $docname)) 59: #set($docText = $docText.replaceAll("CLASSTEMPLATE", $templatename)) 60: #set($docText = $docText.replaceAll("CLASSSHEET", $sheetname)) 61: #set($docText = $docText.replaceAll("ASSIGNMENTNAME", ${request.name})) 62: #set($docText = $docText.replaceAll("DUEDATE", ${request.duedate})) 63: #set($docText = $docText.replaceAll("DUEINSTRUCTIONS", ${request.dueinstr})) 64: #set($docText = $docText.replaceAll("TODOPREPMESSAGE", $todoprepmessage)) 65: #set($docText = $docText.replaceAll("TODOPREPTEXT", $todoprep)) 66: #set($docText = $docText.replaceAll("TODOTEXT", ${request.todoinstr})) 67: $sheetDoc.setTitle("${request.abbrev}-Sheet") 68: $sheetDoc.setParent($docname) 69: $sheetDoc.setContent($docText) 70: $sheetDoc.save() 71: 72: $xwiki.copyDocument("XWiki.AssignmentClassTemplateBaseText",$templatename) 73: #set($templateDoc=$xwiki.getDocument($templatename)) 74: #set($docText = $templateDoc.getContent()) 75: #set($docText = $docText.replaceAll("WEBNAME", ${request.webname})) 76: #set($docText = $docText.replaceAll("CLASSDOC", $docname)) 77: #set($docText = $docText.replaceAll("CLASSTEMPLATE", $templatename)) 78: #set($docText = $docText.replaceAll("CLASSSHEET", $sheetname)) 79: #set($docText = $docText.replaceAll("ASSIGNMENTNAME", ${request.name})) 80: #set($docText = $docText.replaceAll("DUEDATE", ${request.duedate})) 81: #set($docText = $docText.replaceAll("DUEINSTRUCTIONS", ${request.dueinstr})) 82: #set($docText = $docText.replaceAll("TODOPREPMESSAGE", $todoprepmessage)) 83: #set($docText = $docText.replaceAll("TODOPREPTEXT", $todoprep)) 84: #set($docText = $docText.replaceAll("TODOTEXT", ${request.todoinstr})) 85: $templateDoc.setTitle("${request.abbrev}-Template") 86: $templateDoc.setParent($docname) 87: $templateDoc.setContent($docText) 88: $templateDoc.newObject($docname) 89: $templateDoc.save() 90: 91: $response.sendRedirect($xwiki.getURL($docname, "edit", "editor=class")) 92: #end 93: 94: #if($xwiki.hasAdminRights()) 95: 1 Create new Assignment 96: 97: To create a new assignment, you must choose a name for the assignment (ex. "Assignment 5") and an abbreviation of that name (ex. "A5"). 98: 99: <form action="$doc.getURL("view", "xpage=plain")" method="post"> 100: <div> 101: <input type="hidden" name="parent" value="XWiki.XWikiClasses"/> 102: <input type="hidden" name="template" value="XWiki.ClassTemplate"/> 103: <input type="hidden" name="sheet" value="1"/> 104: Assignment Name: <input type="text" name="name" value="Assignment X" 105: onfocus='if(this.value=="Assignment X") this.value="Assignment "; else this.select();' 106: onblur='if(this.value=="") this.value="Name of the class";'/> 107: Abbreviation: <input type="text" name="abbrev" value="A"/> 108: Web: <input type="text" name="webname" value="DSSF2008"/> 109: <br/> 110: 111: Due Date: <input type="text" name="duedate" value=""/> 112: Turn-in instructions: <input type="webname" name="dueinstr" value="on the class website"/> 113: <br/> 114: 115: Preparation for Assignment: (Note: you must enter the wiki codes for bulleting) 116: <br/> 117: <textarea rows="10" cols="100" name="todoprep"></textarea> 118: <br/> 119: Instructions for Assignment: (Note: you must enter the wiki codes for bulleting) 120: <br/> 121: <textarea rows="20" cols="100" name="todoinstr"></textarea> 122: <br/> 123: <br/> 124: <input type="submit" value="Create Assignment" /> 125: </div> 126: </form> 127: 128: #else 129: You do not have permission to view this page. 130: #end
Course Pages
Home
Roster
Assignments
Schedule and Syllabus
Course Announcement
Lecture Material
Relevant Resources
Questionnaires
Independent Research Projects
Blog
Search
Search query
Recently Modified
MSC Final Project ...
MakeShiftCrew Proj...
Embedding Content
Human-Centered Com...
Assignment12KyleMa...
See More Changes
Recent Comments
Recently Created
WebPreferences
|
RatingStats
|
palen
|
ksiek
|
kena