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
Recently Visited
Assignments
|
CourseDocs
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