def __init__(self): """ Initialize """ self.title = _("Feedback") self.class_ = "Feedback" self.author = "Dimitri Vorona" self.purpose = _("Feedback to the author") self.tip = _("Use it to put a feedback link to your documents") if self.class_ in ("objectives", "activity", "reading", "preknowledge"): icon = class_ else: icon = None Idevice.__init__(self, self.title, self.author, self.purpose, \ self.tip, None) self.icon = u"question" self.address = "" self.subject = "" self.comment = "" self.instruc = _("Use this iDevice to put feedback link in your" + \ "documents") self.fields = [] self.nextFieldId = 0 self.group = Idevice.Communication self.systemResources.append('common.js') self.systemResources.append('libot_drag.js')
def __init__(self, content=""): Idevice.__init__( self, x_(u"Free Text"), x_(u"University of Auckland"), x_( u"""The majority of a learning resource will be establishing context, delivering instructions and providing general information. This provides the framework within which the learning activities are built and delivered.""" ), "", "", ) self.emphasis = Idevice.NoEmphasis self.content = TextAreaField( x_(u"Free Text"), x_( u"""Use this field to enter text. This iDevice has no emphasis applied although limited formatting can be applied to text through the text editing buttons associated with the field.""" ), content, ) self.content.idevice = self if content: self.edit = False
def __init__(self, defaultSite): Idevice.__init__( self, x_(u"Wiki Article"), x_(u"University of Auckland"), x_( u"""<p>The Wikipedia iDevice allows you to locate existing content from within Wikipedia and download this content into your eXe resource. The Wikipedia Article iDevice takes a snapshot copy of the article content. Changes in Wikipedia will not automatically update individual snapshot copies in eXe, a fresh copy of the article will need to be taken. Likewise, changes made in eXe will not be updated in Wikipedia. </p> <p>Wikipedia content is covered by the GNU free documentation license.</p>""" ), u"", u"", ) self.emphasis = Idevice.NoEmphasis self.articleName = u"" self.article = TextAreaField(x_(u"Article")) self.article.idevice = self self.images = {} self.site = defaultSite self.icon = u"inter" self.systemResources += ["fdl.html"] self._langInstruc = x_( u"""Select the appropriate language version of Wikipedia to search and enter search term.""" ) self._searchInstruc = x_( """Enter a phrase or term you wish to search within Wikipedia.""" ) self.ownUrl = ""
def __init__(self, content=""): Idevice.__init__(self, x_(u"Image Map"), x_(u"Mike Dawson, Ustad Mobile"), x_(u"""Image Map Idevice with tooltips, sound support."""), "", "") self.emphasis = Idevice.SomeEmphasis self.message = "" mainFieldOrder = ["title", "instructions", "mapImg"] mainFieldsInfo = \ {'title' : ['text', x_('Title'), x_('Title'), {"default_prompt" : x_("Type your title here")}], 'instructions' : ['textarea', x_('Instructions to show'), x_('Instructions'), {"default_prompt" : """Enter instructions for the students here; e.g. click on the areas below for more information to popup"""}], 'mapImg' : ['image', x_('Image'), x_('Use for map background'), {"defaultval" : "imagemap_defaultbg.png" } ] } self.mainFieldSet = ExtendedFieldSet(self, mainFieldOrder, mainFieldsInfo) self.mainFieldSet.makeFields() #The areas with coordinates self.map_areas = [] self.add_map_area(num_areas_to_add=2) #use the new system_scripts method self.system_scripts = ["imagemapidevice.js", \ "jquery.tooltipster.js", "tooltipster.css", "jquery.rwdImageMaps.js"]
def __init__(self): """ Initialize """ Idevice.__init__( self, x_(u"SCORM Quiz"), x_(u"University of Auckland"), x_( u"""Unlike the MCQ the SCORM quiz is used to test the learners knowledge on a topic without providing the learner with feedback to the correct answer. The quiz will often be given once the learner has had time to learn and practice using the information or skill. """ ), u"", "question", ) self.isQuiz = True self.emphasis = Idevice.SomeEmphasis self.score = -1 self.isAnswered = True self.passRate = "50" self.questions = [] self.addQuestion() self.systemResources += ["common.js"]
def __init__(self): """ Initialize """ Idevice.__init__(self, x_(u"Multi-select"), x_(u"University of Auckland"), x_(u"""Although more often used in formal testing situations MCQs can be used as a testing tool to stimulate thought and discussion on topics students may feel a little reticent in responding to. When designing a MCQ test consider the following: <ul> <li> What learning outcomes are the questions testing</li> <li> What intellectual skills are being tested</li> <li> What are the language skills of the audience</li> <li> Gender and cultural issues</li> <li> Avoid grammar language and question structures that might provide clues</li> </ul> """), x_(u"""When building an MCQ consider the following: <ul> <li> Use phrases that learners are familiar with and have encountered in their study </li> <li> Keep responses concise </li> <li> There should be some consistency between the stem and the responses </li> <li> Provide enough options to challenge learners to think about their response </li> <li> Try to make sure that correct responses are not more detailed than the distractors </li> <li> Distractors should be incorrect but plausible </li> </ul> """), u"", "question") self.emphasis = Idevice.SomeEmphasis self.questions = [] self.addQuestion() self.systemResources += ["common.js"]
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc. """ Idevice.__init__(self, x_(u"Java Applet"), x_(u"University of Auckland"), u"", u"", u"", parentNode) self.emphasis = Idevice.NoEmphasis self.appletCode = u"" self.type = u"other" self._fileInstruc = x_(u"""Add all the files provided for the applet except the .txt file one at a time using the add files and upload buttons. The files, once loaded will be displayed beneath the Applet code field.""") self._codeInstruc = x_(u""""Find the .txt file (in the applet file) and open it. Copy the contents of this file <ctrl A, ctrl C> into the applet code field.""") self._typeInstruc = x_(u""" <p>If the applet you're adding was generated by one of the programs in this drop down, please select it, then add the data/applet file generated by your program. </p> <p>eg. For Geogebra applets, select geogebra, then add the .ggb file that you created in Geogebra.</p>""") self.message = ""
def __init__(self, defaultImage = None): Idevice.__init__(self, x_(u"Image Magnifier"), x_(u"University of Auckland"), x_(u"""The image magnifier is a magnifying tool enabling learners to magnify the view of the image they have been given. Moving the magnifying glass over the image allows larger detail to be studied."""), u"", u"") self.emphasis = Idevice.NoEmphasis self.imageMagnifier = MagnifierField( x_(u"Choose an Image"), x_(u"""Click on the picture below or the "Add Image" button to select an image file to be magnified.""")) self.imageMagnifier.idevice = self self.imageMagnifier.defaultImage = defaultImage self.text = TextAreaField(x_(u"Text"), x_("""Enter the text you wish to associate with the file.""")) self.text.idevice = self self.float = u"left" self.caption = u"" self._captionInstruc = x_(u"""Provide a caption for the image to be magnified.""") self._dimensionInstruc = x_(u"""Choose the size you want your image to display at. The measurements are in pixels. Generally, 100 pixels equals approximately 3cm. Leave both fields blank if you want the image to display at its original size.""") self._alignInstruc = x_(u"""Alignment allows you to choose where on the screen the image will be positioned.""") self._initialZoomInstruc = x_(u"""Set the initial level of zoom when the IDevice loads, as a percentage of the original image size""") self._maxZoomInstruc = x_(u"""Set the maximum level of zoom, as a percentage of the original image size""") self._glassSizeInstruc = x_(u"""Select the size of the magnifying glass""") self.systemResources += ['mojomagnify.js']
def __init__(self): """ Initialize """ self.title = _("Pdf iDevice") self.class_ = "Pdf Device" self.author = "Dimitri Vorona" self.purpose = _("Import local pdf and display them with Acrobat Reader plugin (must be installed first)") self.file = None self.path = "" self.group = "" self.pages = "" self.height = "500" self.emphasis = Idevice.NoEmphasis tip = "" if self.class_ in ("objectives", "activity", "reading", "preknowledge"): icon = class_ else: icon = None Idevice.__init__(self, self.title, self.author, self.purpose, "", None) self.group = Idevice.Content self.pagesInstruc = _( "Input coma-separated pages or page ranges to import. For example: 1,2,3-8. Leave empty to import all pages" ) self.appletInstruc = _( "This applet imports a local pdf into your package. It can also import specified pages only" ) self.icon = icon self.fields = [] self.nextFieldId = 0 self.systemResources.append("common.js") self.systemResources.append("libot_drag.js")
def __init__(self, defaultImage = None): Idevice.__init__(self, x_(u"Image with Text"), x_(u"University of Auckland"), x_(u"""<p> The image with text iDevice can be used in a number of ways to support both the emotional (affective) and learning task (cognitive) dimensions of eXe content. </p><p> <b>Integrating visuals with verbal summaries</b> </p><p> Cognitive psychologists indicate that presenting learners with a representative image and corresponding verbal summary (that is presented simultaneously) can reduce cognitive load and enhance learning retention. This iDevice can be used to present an image (photograph, diagram or graphic) with a brief verbal summary covering the main points relating to the image. For example, if you were teaching the functions of a four-stroke combustion engine, you could have a visual for each of the four positions of the piston with a brief textual summary of the key aspects of each visual. </p>"""), u"", u"") self.emphasis = Idevice.NoEmphasis self.group = Idevice.Media self.image = ImageField(x_(u"Image"), u"") self.image.idevice = self self.image.defaultImage = defaultImage self.text = TextAreaField(x_(u"Text"), x_("""Enter the text you wish to associate with the image.""")) self.text.idevice = self self.float = u"left" self.caption = u"" self._captionInstruc = x_(u"""Provide a caption for the image you have just inserted.""")
def __init__(self): """ Initialize """ Idevice.__init__(self, x_(u"True-False Question"), x_(u"University of Auckland"), x_(u"""True/false questions present a statement where the learner must decide if the statement is true. This type of question works well for factual information and information that lends itself to either/or responses."""), u"", u"question") self.emphasis = Idevice.SomeEmphasis self._hintInstruc = x_(u"""A hint may be provided to assist the learner in answering the question.""") self.questions = [] self._questionInstruc = x_(u"""Type the question stem. The question should be clear and unambiguous. Avoid negative premises as these can tend to be ambiguous.""") self._keyInstruc = "" self._feedbackInstruc = x_(u"""Enter any feedback you wish to provide to the learner. This field may be left blank. if this field is left blank default feedback will be provided.""") self.questions.append(TrueFalseQuestion(self)) self.systemResources += ["common.js", "libot_drag.js", "panel-amusements.png", "stock-stop.png"] self.instructionsForLearners = TextAreaField( x_(u'Instructions'), x_(u"""Provide instruction on how the True/False Question should be completed."""), u'') self.instructionsForLearners.idevice = self
def __init__(self, title, class_, author, purpose, tip): """ Initialize """ if class_ in ("objectives", "activity", "reading", "preknowledge", "devsummary", "devpreview", "devresource","devdiscussion"): icon = class_ else: icon = None Idevice.__init__(self, title, author, purpose, tip, icon) self.class_ = class_ self.icon = icon #added for own icons kthamm 111027 if class_ in ("devsummary", "devpreview"): self.icon = u"sharedmetainformation" #end added kthamm #added for own icons kthamm 111028 if class_ in ("devresource"): self.icon = u"resources" #end added kthamm #added for own icons kthamm 111028 if class_ in ("devdiscussion"): self.icon = u"groupdiscussion" #end added kthamm self.fields = [] self.nextFieldId = 0 self.systemResources.append('common.js') self.systemResources.append('libot_drag.js')
def __init__(self, activity = "", answer = ""): """ Initialize """ Idevice.__init__(self, x_(u"Reflection"), x_(u"University of Auckland"), x_(u"""Reflection is a teaching method often used to connect theory to practice. Reflection tasks often provide learners with an opportunity to observe and reflect on their observations before presenting these as a piece of academic work. Journals, diaries, profiles and portfolios are useful tools for collecting observation data. Rubrics and guides can be effective feedback tools."""), u"", u"reflection") self.emphasis = Idevice.SomeEmphasis self._activityInstruc = x_(u"""Enter a question for learners to reflect upon.""") self._answerInstruc = x_(u"""Describe how learners will assess how they have done in the exercise (rubrics are useful devices for providing reflective feedback).""") self.systemResources += ["common.js"] self.activityTextArea = TextAreaField(x_(u'Reflective question:'), self._activityInstruc, activity) self.activityTextArea.idevice = self self.answerTextArea = TextAreaField(x_(u'Feedback:'), self._answerInstruc, answer) self.answerTextArea.idevice = self
def __init__(self, content=""): Idevice.__init__(self, _(u"Example Example"), _(u"University of Auckland"), _(u"""This is an example of a user created iDevice plugin."""), "", "") self.emphasis = Idevice.NoEmphasis self.content = TextAreaField(_(u"Example"), _(u"This is a free text field."), content) self.content.idevice = self
def __init__(self, question=""): """ Initialize """ Idevice.__init__(self, x_(u"Multi-choice"), x_(u"University of Auckland"), x_(u"""Although more often used in formal testing situations MCQs can be used as a testing tool to stimulate thought and discussion on topics students may feel a little reticent in responding to. When designing a MCQ test consider the following: <ul> <li> What learning outcomes are the questions testing</li> <li> What intellectual skills are being tested</li> <li> What are the language skills of the audience</li> <li> Gender and cultural issues</li> <li> Avoid grammar language and question structures that might provide clues</li> </ul> """), x_(u"""When building an MCQ consider the following: <ul> <li> Use phrases that learners are familiar with and have encountered in their study </li> <li> Keep responses concise </li> <li> There should be some consistency between the stem and the responses </li> <li> Provide enough options to challenge learners to think about their response </li> <li> Try to make sure that correct responses are not more detailed than the distractors </li> <li> Distractors should be incorrect but plausible </li> </ul> """), u"question") self.emphasis = Idevice.SomeEmphasis self.questions = [] self.options = [] self.question = "" self.hint = "" self._hintInstruc = x_(u"""Enter a hint here. If you do not want to provide a hint, leave this field blank.""") self._questionInstruc = x_(u"""Enter the question stem. The quest should be clear and unambiguous. Avoid negative premises as these can tend to be ambiguous.""") self._keyInstruc = x_(u"""Select the correct option by clicking on the radio button.""") self._answerInstruc = x_(u"""Enter the available choices here. You can add options by clicking the "Add Another Option" button. Delete options by clicking the red "X" next to the Option.""") self._feedbackInstruc = x_(u"""Type in the feedback that you want the student to see when selecting the particular option. If you don't complete this box, eXe will automatically provide default feedback as follows: "Correct answer" as indicated by the selection for the correct answer; or "Wrong answer" for the other options.""") self.systemResources += ["common.js", "libot_drag.js", "panel-amusements.png", "stock-stop.png"] self.message = "" self.addQuestion()
def __init__(self): Idevice.__init__( self, x_(u"Attachment"), x_(u"University of Auckland"), x_( u"The attachment iDevice is used to attach " "existing files to your .elp content. For example, " "you might have a PDF file or a PPT or .ODP presentation " "file that you wish the learners to have access " "to, these can be attached and labeled to indicate " "what the attachment is and how large the file is. " "Learners can click on the attachment link and can " "download the attachment." ), u"", u"", ) self.emphasis = Idevice.NoEmphasis self.label = u"" self._descriptionInstruc = x_( u"Enter the text you wish to associate " u"with the downloaded file. You might " u"want to provide instructions on what " u"you require the learner to do once " u"the file is downloaded or how the " u"material should be used." ) self.descriptionTextArea = TextAreaField(x_(u"Description:"), self._descriptionInstruc, u"") self.descriptionTextArea.idevice = self self._filenameInstruc = x_( u"Click <strong>Select a file</strong>, " "browse to the file you want " "to attach and select it." ) self._labelInstruc = x_( u"<p>" "Assign a label for the attachment. It " "is useful to include the type of file. " "Eg. pdf, ppt, .odp, etc." "</p>" "<p>" "Including the size is also recommended so " "that after your package is exported " "to a web site, people will have an idea " "how long it would take to download this " "attachment." "</p>" "<p>" "For example: " "<code>Sales Forecast.doc (500kb)</code>" "</p>" )
def __init__(self, activity="", answer=""): """ Initialize """ Idevice.__init__(self, x_(u"Note"), x_(u"exelearning.net"), u"", u"Note", "") self.emphasis = Idevice.SomeEmphasis self._commentInstruc = u"" self.systemResources += ["common.js"] self.commentTextArea = TextAreaField(x_(u"Comment:"), self._commentInstruc, answer) self.commentTextArea.idevice = self
def __init__(self, content=""): Idevice.__init__(self, x_(u"Raw iDevice"), x_(u"Auckland University of Technology"), "", "", "") self.emphasis = Idevice.NoEmphasis self.content = TextField(x_(u"Raw Text"), "", content) self.content.idevice = self self.icon = u"inter" if content: self.edit = False
def __init__(self, content=""): Idevice.__init__(self, x_(u"Glossary"), x_(u"Technical University Munich"), x_(u"""Adds a alphabethicaly sorted glossary """), "", "") self.emphasis = Idevice.SomeEmphasis self.group = Idevice.Content self.terms = [] self.icon = u"summary" self.addTerm() self.urlInstruc = x_(u"""Add your terms and definitions""")
def __init__(self, content=""): Idevice.__init__(self, x_(u"Drag And Drop"), x_(u"Ustad Mobile."), x_(u"""Drag/Drop items to correct locations."""), "", "") self.emphasis = Idevice.SomeEmphasis self.short_desc = "Learner has to drag and drop items into correct places" self.message = "" main_field_order = ["title", "instructions", "positivefeedback",\ "negativefeedback","mainImg", "scale"] fb_positive_help_msg = x_("""Enter the default feedback that will appear when an area is dragged into the correct drop target area (e.g. feedback is set to by question""") fb_negative_help_msg = x_("""Enter the default feedback that will appear when an area is dragged outside the correct drop target area (e.g. feedback is set to by question""") main_field_info = \ {'title' : ['text', x_('Title'), x_('Title'), {"default_prompt" : x_("Type your title here")}],\ 'instructions' : ['textarea', x_('Instructions to show'), \ x_('Instructions'), {"default_prompt" : x_("Enter instructions for students here. You can add images, media, etc. too.")}],\ 'mainImg' : ['image', x_('Background'), x_('Background'), {"defaultval" : "exe_dnd_defaultbackgroundworld.jpg"} ],\ 'positivefeedback' : ['textarea',\ x_('Default Correct Answer Feedback'),\ fb_positive_help_msg, {"default_prompt" : fb_positive_help_msg}], 'negativefeedback' : ['textarea',\ x_('Default Wrong Answer Feedback'),\ fb_negative_help_msg, {"default_prompt" :fb_negative_help_msg }],\ 'scale' : ['choice', x_('Auto Resize'), \ x_('Auto Resize'),{"choices" : \ [['scaletofit', x_('Resize to fit screen width')],\ ['fixed', x_('Fixed')]]}] } self.area_fields = [] self.main_fields = ExtendedFieldSet(self, main_field_order, main_field_info) self.main_fields.makeFields() self.system_scripts = ["exedragndrop.js", \ "jquery-ui-1.10.4.custom.min.js", "jquery.ui.touch-punch.min.js"] self.add_area_fields(2)
def __init__(self): Idevice.__init__(self, x_(u"TOC"), x_(u"TUM"), x_(u"""Insert a table of content"""), u"", u"") self.emphasis = Idevice.NoEmphasis self.group = Idevice.Content self.source = u"" self.article = TextAreaField(x_(u"Article")) self.article.idevice = self self.images = {} self.icon = u"inter"
def __init__(self, content=""): Idevice.__init__(self, x_(u"External Web Site"), x_(u"University of Auckland"), x_(u"""The external website iDevice loads an external website into an inline frame in your eXe content rather then opening it in a popup box. This means learners are not having to juggle windows. This iDevice should only be used if your content will be viewed by learners online."""), "", "") self.emphasis = Idevice.NoEmphasis self.url = "" self.height = "300" self._urlInstruc = x_(u"""Enter the URL you wish to display and select the size of the area to display it in.""")
def __init__(self, title, class_, author, purpose, tip): """ Initialize """ if class_ in ("objectives", "activity", "reading", "preknowledge"): icon = class_ else: icon = None Idevice.__init__(self, title, author, purpose, tip, icon) self.class_ = class_ self.icon = icon self.fields = [] self.systemResources += ["common.js", "libot_drag.js"]
def __init__(self, story="", defaultImage=None): """ Initialize """ Idevice.__init__( self, x_(u"Case Study"), x_(u"University of Auckland"), x_( u"""A case study is a device that provides learners with a simulation that has an educational basis. It takes a situation, generally based in reality, and asks learners to demonstrate or describe what action they would take to complete a task or resolve a situation. The case study allows learners apply their own knowledge and experience to completing the tasks assigned. when designing a case study consider the following:<ul> <li> What educational points are conveyed in the story</li> <li> What preparation will the learners need to do prior to working on the case study</li> <li> Where the case study fits into the rest of the course</li> <li> How the learners will interact with the materials and each other e.g. if run in a classroom situation can teams be setup to work on different aspects of the case and if so how are ideas feed back to the class</li></ul>""" ), "", u"casestudy", ) self.emphasis = Idevice.SomeEmphasis self.story = story self.questions = [] self._storyInstruc = x_( u"""Create the case story. A good case is one that describes a controversy or sets the scene by describing the characters involved and the situation. It should also allow for some action to be taken in order to gain resolution of the situation.""" ) self._questionInstruc = x_( u"""Describe the activity tasks relevant to the case story provided. These could be in the form of questions or instructions for activity which may lead the learner to resolving a dilemma presented. """ ) self._feedbackInstruc = x_( u"""Provide relevant feedback on the situation.""" ) if defaultImage is None: from exe.application import application defaultImage = application.config.webDir / "images" / DEFAULT_IMAGE self.defaultImage = unicode(defaultImage) self.addQuestion()
def __init__(self, content=""): Idevice.__init__(self, x_(u"Memory Match Game"), x_(u"Toughra Technologies FZ LLC."), x_(u"""Memory Match Game Maker."""), "", "") self.message = "" self.short_desc = x_("Game of matching pairs; student can click to reveal two at a time; after which they are re-hidden. Student has to remember locations to match up all pairs. ") mainFieldOrder = ['title', 'instructions', 'rows', 'cols', 'splitPairs', 'feedbackpositive', 'feedbacknegative', 'feedbackstyle', \ 'hidetime', 'coverImg', 'cellbackImg', 'revealedBackground', 'positivefeedbackeffect', \ 'negativefeedbackeffect', 'useTimer', 'timertext', 'timerstyle', 'hideAfterMatch', 'hideAfterMatchEffect', 'cellpadding',\ 'cellspacing', 'cellstyle'] mainFieldsInfo = { 'title' : ['text', x_('Title'), x_('Title')], \ 'instructions' : ['textarea', x_('Instructions to show'), x_('Instructions')],\ 'rows' : ['text', x_('Number of Rows'), x_('Number of Rows'), {'defaultval' : '2'}],\ 'cols' : ['text', x_('Number of Columns'), x_('Number of Columns'), {'defaultval' : '2'}],\ 'splitPairs' : ['choice', x_('Split Question/Answer Pairs'), x_('Split Question/Answer Pairs'),\ {'choices' : [['true', x_('Yes')], ['false', x_('No')]] }],\ 'feedbackpositive' : ['textarea', x_('Feedback to show on correct match'), x_('Positive Feedback')],\ 'feedbacknegative' : ['textarea', x_('Feedback to show on incorrect pair'), x_('Negative Feedback')],\ 'feedbackstyle' : ['text', x_('Style of Feedback Area (CSS)'), x_('CSS style for feedback area'), {'type': 'advanced'}],\ 'cellwidth' : ['text', x_('Width of Cells (in pixels)'), x_('Cell Width px'), {'defaultval' : '100'}],\ 'cellheight' : ['text', x_('Height of Cells (in pixels)'), x_('Cell Height px'), {'defaultval' : '100'}],\ 'hidetime' : ['text', x_('Time after which to re-hide incorrect match (ms)'), x_('Time to hide'), {'defaultval' : '1000', 'type': 'advanced'}],\ 'coverImg' : ['image', x_('Cover Image for cells (shown before selected)'), x_('Cover Img'), {'defaultval' : 'memmatch_covercelldefault.png'}],\ 'cellbackImg' : ['image', x_('Background Image for cells (shown after selected)'), x_('Back Img'), {'defaultval' : 'memmatch_showcelldefaultbg.png'}],\ 'revealedBackground' : ['image', x_('Background image behind cells shown as cells are hidden'), x_('Bg Img')],\ 'positivefeedbackeffect' : ['choice', x_('Effect for showing positive feedback'), x_('Positive Feedback Effect'),\ {'choices' : EXEFIELD_JQUERYUI_EFFECTLIST } ],\ 'negativefeedbackeffect' : ['choice', x_('Effect for showing negative feedback'), x_('Negative Feedback Effect'),\ {'choices' : EXEFIELD_JQUERYUI_EFFECTLIST } ],\ 'useTimer' : ['choice', x_('Show / Use a timer?'), x_('Use Timer?'), {'choices' : [['true', 'Yes'], ['false', 'No']]} ],\ 'hideAfterMatch' : ['choice', x_('Hide Cells after match made?'), x_('Hide after match'), \ {'choices' : [['true', x_('Yes')], ['false', x_('No')]]} ],\ 'hideAfterMatchEffect' : ['choice', x_('Effect when hiding cells after match'), x_('Hide after match effect'), \ {'choices' : EXEFIELD_JQUERYUI_EFFECTLIST } ],\ 'cellpadding' : ['text', x_('Cell Padding in table'), x_('Cell Padding'), {'defaultval' : '0','type': 'advanced'}],\ 'cellspacing' : ['text', x_('Cell Spacing of table'), x_('Cell Spacing'), {'defaultval' : '0','type': 'advanced'}],\ 'cellstyle' : ['text', x_('Cell Default Style (CSS)'), x_('Cell Style CSS'), {'defaultval' : 'text-align: center; font: 18pt bold','type': 'advanced'}],\ 'timertext' : ['text', x_('Text of Timer Label'), x_('Timer Text'), {'type': 'advanced'}],\ 'timerstyle' : ['text', x_('CSS of Timer Field'), x_('Timer CSS'), {'type': 'advanced'}]\ } self.mainFieldSet = ExtendedFieldSet(self, mainFieldOrder, mainFieldsInfo) self.mainFieldSet.makeFields() #the pairs of matching items self.matchPairFields = [] self.emphasis = Idevice.SomeEmphasis
def __init__(self, title, class_, author, purpose, tip): """ Initialize """ if class_ in ("objectives", "activity", "reading", "preknowledge"): icon = class_ else: icon = None Idevice.__init__(self, title, author, purpose, tip, icon) self.class_ = class_ self.icon = icon self.originalicon=icon self.fields = [] self.nextFieldId = 0 self.systemResources.append('common.js')
def __init__(self, activity = "", answer = ""): """ Initialize """ Idevice.__init__(self, x_(u"FPD - Correccion"), x_(u"Jose Ramon Jimenez Reyes"), x_(u"""Correccion es un iDevice que permite resaltar texto para hacer correcciones a los autores."""), u"", u"correccionfpd") self.emphasis = Idevice.NoEmphasis self._activityInstruc = x_(u"""Introduce el texto que aparecerá en este iDevice""") self.systemResources += ["common.js"] self.activityTextArea = TextAreaField(x_(u'Texto Correción:'), self._activityInstruc, activity) self.activityTextArea.idevice = self
def __init__(self): Idevice.__init__(self, x_(u"Discussion Activity"), x_(u"University of Auckland"), "", "", u"discussion") self.forum = Forum() self.discussion = Discussion() self.isNewForum = False self.noForum = True self.isNewTopic = False self.message = "" self.refCount = 1 self.forumsCache = None self.isAdded = False self.emphasis = Idevice.SomeEmphasis self.isForum = True
def __init__(self, activity = "", answer = ""): """ Initialize """ Idevice.__init__(self, x_(u"FPD - Highlighted"), x_(u"Jose Ramon Jimenez Reyes"), x_(u"""Highlighted is an iDevice that emphasizes text to catch the student's attention."""), u"", u"destacadofpd") self.emphasis = Idevice.NoEmphasis self._activityInstruc = x_(u"""Enter the text that will appear on this iDevice""") self.systemResources += ["common.js"] self.activityTextArea = TextAreaField(x_(u'Highlighted Text:'), self._activityInstruc, activity) self.activityTextArea.idevice = self
def __init__(self, title="", author="", instructions=""): Idevice.__init__(self, title, author, instructions, "", "") default_content = "<div data-idevice-type='%s'></div>" % \ self.get_idevice_dirname() self.content_field = TextAreaField("content_field", "help", content= default_content) self.message = "" self.emphasis = Idevice.SomeEmphasis device_name = self.get_idevice_dirname() #add this script to the list that needs copied script_src = "htmlidevices/%(name)s/%(name)s.js" % { "name" : device_name} self.system_scripts = [script_src]
def __init__(self, defaultMedia=None): Idevice.__init__( self, x_(u"MP3"), x_(u"Auckland University of Technology"), x_(u"The MP3 iDevice allows you to attach an MP3 " "media file to your content along with relevant textual" "learning instructions."), u"", u"") self.emphasis = Idevice.NoEmphasis self.media = MultimediaField( x_(u"Choose an MP3 file"), x_(u"" "<ol>" " <li>Click <Select an MP3> and browse to the MP3 " " file you wish to insert</li>" " <li>Click on the dropdown menu to select the position " " that you want the file displayed on screen.</li>" " <li>Enter an optional caption for your file.</li>" " <li>Associate any relevant text to the MP3 file.</li>" " <li>Choose the type of style you would like the iDevice to" " display e.g. 'Some emphasis' " "applies a border and icon to the iDevice content displayed.</li>" "</ol>")) self.media.idevice = self self.text = TextAreaField( x_(u"Text"), x_("""Enter the text you wish to associate with the file.""")) self.text.idevice = self self.float = u"left" self.caption = u"" self.icon = u"multimedia" self._captionInstruc = x_(u"""Provide a caption for the MP3 file. This will appear in the players title bar as well.""") self._alignInstruc = x_(u"""Alignment allows you to choose where on the screen the media player will be positioned.""") self.systemResources += ['xspf_player.swf']
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc """ Idevice.__init__(self, x_(u"Java Applet"), x_(u"University of Auckland"), u"", u"", u"", parentNode) self.emphasis = Idevice.NoEmphasis self.group = Idevice.Media self.appletCode = u"" self.type = u"other" self._fileInstruc = x_(u"""Add all the files provided for the applet except the .txt file one at a time using the add files and upload buttons. The files, once loaded will be displayed beneath the Applet code field.""") self._codeInstruc = x_(u""""Find the .txt file (in the applet file) and open it. Copy the contents of this file <ctrl A, ctrl C> into the applet code field.""") self._typeInstruc = x_( u""" <p>If the applet you're adding was generated by one of the programs in this drop down, please select it, then add the data/applet file generated by your program. </p> <p>eg. For Geogebra applets, select geogebra, then add the .ggb file that you created in Geogebra.</p>""") self.message = ""
def __init__(self): """ Initialize """ Idevice.__init__(self, x_(u"SCORM Test Mehrfachauswahl"), x_(u"University of Auckland"), x_(u"""Although more often used in formal testing situations MCQs can be used as a testing tool to stimulate thought and discussion on topics students may feel a little reticent in responding to. When designing a MCQ test consider the following: <ul> <li> What learning outcomes are the questions testing</li> <li> What intellectual skills are being tested</li> <li> What are the language skills of the audience</li> <li> Gender and cultural issues</li> <li> Avoid grammar language and question structures that might provide clues</li> </ul> """), x_(u"""When building an MCQ consider the following: <ul> <li> Use phrases that learners are familiar with and have encountered in their study </li> <li> Keep responses concise </li> <li> There should be some consistency between the stem and the responses </li> <li> Provide enough options to challenge learners to think about their response </li> <li> Try to make sure that correct responses are not more detailed than the distractors </li> <li> Distractors should be incorrect but plausible </li> </ul> """), u"question") self.emphasis = Idevice.SomeEmphasis self.questions = [] self.addQuestion() self.systemResources += ["common.js"]
def __init__(self, defaultSite): Idevice.__init__(self, x_(u"Wiki Article"), x_(u"University of Auckland"), x_(u"""<p>The Wikipedia iDevice allows you to locate existing content from within Wikipedia and download this content into your eXe resource. The Wikipedia Article iDevice takes a snapshot copy of the article content. Changes in Wikipedia will not automatically update individual snapshot copies in eXe, a fresh copy of the article will need to be taken. Likewise, changes made in eXe will not be updated in Wikipedia. </p> <p>Wikipedia content is covered by the GNU free documentation license.</p>"""), u"", u"") self.emphasis = Idevice.NoEmphasis self.articleName = u"" self.article = TextAreaField(x_(u"Article")) self.article.idevice = self self.images = {} self.site = defaultSite self.icon = u"inter" self.systemResources += ["fdl.html"] self._langInstruc = x_(u"""Select the appropriate language version of Wikipedia to search and enter search term.""") self._searchInstruc = x_("""Enter a phrase or term you wish to search within Wikipedia.""") self.ownUrl = ""
def __init__(self, question=""): """ Initialize """ Idevice.__init__(self, x_(u"Multi-choice"), x_(u"University of Auckland"), x_(u"""Although more often used in formal testing situations MCQs can be used as a testing tool to stimulate thought and discussion on topics students may feel a little reticent in responding to. When designing a MCQ test consider the following: <ul> <li> What learning outcomes are the questions testing</li> <li> What intellectual skills are being tested</li> <li> What are the language skills of the audience</li> <li> Gender and cultural issues</li> <li> Avoid grammar language and question structures that might provide clues</li> </ul> """), x_(u"""When building an MCQ consider the following: <ul> <li> Use phrases that learners are familiar with and have encountered in their study </li> <li> Keep responses concise </li> <li> There should be some consistency between the stem and the responses </li> <li> Provide enough options to challenge learners to think about their response </li> <li> Try to make sure that correct responses are not more detailed than the distractors </li> <li> Distractors should be incorrect but plausible </li> </ul> """), u"question") self.emphasis = Idevice.SomeEmphasis self.questions = [] self.options = [] # question and hint appear to be left over, and no longer applicable, # since they are now on a per-question basis, and part of the child # QuizQuestionField, but here their old attributes remain: self.question = "" self.hint = "" # eventually: somebody should confirm this and remove them, will you? self._hintInstruc = x_(u"""Enter a hint here. If you do not want to provide a hint, leave this field blank.""") self._questionInstruc = x_(u"""Enter the question stem. The quest should be clear and unambiguous. Avoid negative premises as these can tend to be ambiguous.""") self._keyInstruc = x_(u"""Select the correct option by clicking on the radio button.""") self._answerInstruc = x_(u"""Enter the available choices here. You can add options by clicking the "Add Another Option" button. Delete options by clicking the red "X" next to the Option.""") self._feedbackInstruc = x_(u"""Type in the feedback that you want the student to see when selecting the particular option. If you don't complete this box, eXe will automatically provide default feedback as follows: "Correct answer" as indicated by the selection for the correct answer; or "Wrong answer" for the other options.""") self.systemResources += ["common.js", "libot_drag.js", "panel-amusements.png", "stock-stop.png"] self.message = "" self.addQuestion()
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc """ Idevice.__init__(self, x_(u"SCORM Test Dropdown"), x_(u"University of Auckland"), x_(u"<p>Cloze exercises are texts or " "sentences where students must fill in " "missing words. They are often used for the " "following purposes:</p>" "<ol>" "<li>To check knowledge of core course " "concepts (this could be a pre-check, " "formative exercise, or summative check).</li>" "<li>To check reading comprehension.</li>" "<li>To check vocabulary knowledge.</li>" "<li>To check word formation and/or grammatical " "competence. </li></ol>"), x_(u"<dl>" " <dt>If your goal is to test understanding " "of core concepts or reading comprehension" " </dt>" " <dd>" " <p>" " Write a summary of the concept or reading long " " enough to adequately test the target's " "knowledge, but short enough not to " "induce fatigue. Less than one typed page is " "probably adequate, but probably " "considerably less for young students or " "beginners." " </p>" " <p>" "Select words in the text that" "are key to understanding the concepts. These" "will probably be verbs, nouns, and key adverbs." "Choose alternatives with one clear answer." " </p>" " </dd>" " <dt>" "If your goal is to test vocabulary knowledge" " </dt>" " <dd>" "<p>Write a text using the target vocabulary. This " "text should be coherent and cohesive, and be of " "an appropriate length. Highlight the target " "words in the text. Choose alternatives with one " "clear answer.</p>" " </dd>" " <dt>" "If your goal is to test word " "formation/grammar:" " </dt>" " <dd>" " <p>" "Write a text using the " "target forms. This text should be coherent and " "cohesive, and be of an appropriate length. " "Remember that the goal is not vocabulary " "knowledge, so the core meanings of the stem " "words should be well known to the students." " </p>" " <p>" "Highlight the target words in the text. Provide " "alternatives with the same word stem, but " "different affixes. It is a good idea to get a " "colleague to test the test/exercise to make " "sure there are no surprises!" " </p>" " </dd>" "</dl>"), u"question", parentNode) self.instructionsForLearners = TextAreaField( x_(u'Instructions'), #translated # x_(u"""Hier können Sie eine Aufgabenstellung eingeben oder die Standardanweisung übernehmen."""), x_(u"""Provide instruction how to complete the exercise or take the default text."""), # x_(u"""Wähle im folgenden Abschnitt die richtigen Antworten aus!""")) x_(u'Choose the correct answers in the paragraph below.')) self.instructionsForLearners.idevice = self self._content = ClozeField(x_(u'Cloze'), x_(u"""<p>To create a gap with answer options, write the correct answer and then separated by '|' the wrong answers: true|false|false|false ... Mark all answer options and click on the 'Hide/Show Word' button below. Hint: answers may contain spaces.</p>""")) # x_(u"""<p>Um eine Lücke mit Antwortmöglichkeiten zu erzeugen, # schreiben sie zuerst die richtige Antwort und dann getrennt # mit '|' die falschen Antworten, also folgendermaßen: # richtig|falsch|falsch|falsch... # Markieren Sie die gesamten Antworten und klicken sie # auf den Button 'Wort verbergen/anzeigen'. # Hinweise:<br>In Antworten können Leerzeichen enthalten # sein<br>Das Zeichen '|' erhalten Sie, indem Sie die # 'Alt Gr'-Taste gedrückt halten und dann auf die Taste # mit dem Zeichen '|' tippen (auf deutschen Tastaturen meist # neben dem 'Y'). # </p>""")) self._content.idevice = self self.feedback = TextAreaField(x_(u'Feedback'), x_(u'Enter any feedback you wish to provide the learner ' 'with-in the feedback field. This field can be left blank.')) self.feedback.idevice = self self.emphasis = Idevice.SomeEmphasis self.systemResources += ["common.js"] self.isCloze = True
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc """ Idevice.__init__( self, x_(u"FPD - Cloze Activity (Modified)"), x_(u"University of Auckland"), x_(u"<p>Cloze exercises are texts or " "sentences where students must fill in " "missing words. They are often used for the " "following purposes:</p>" "<ol>" "<li>To check knowledge of core course " "concepts (this could be a pre-check, " "formative exercise, or summative check).</li>" "<li>To check reading comprehension.</li>" "<li>To check vocabulary knowledge.</li>" "<li>To check word formation and/or grammatical " "competence. </li></ol>"), x_(u"<dl>" " <dt>If your goal is to test understanding " "of core concepts or reading comprehension" " </dt>" " <dd>" " <p>" " Write a summary of the concept or reading long " " enough to adequately test the target's " "knowledge, but short enough not to " "induce fatigue. Less than one typed page is " "probably adequate, but probably " "considerably less for young students or " "beginners." " </p>" " <p>" "Select words in the text that" "are key to understanding the concepts. These" "will probably be verbs, nouns, and key adverbs." "Choose alternatives with one clear answer." " </p>" " </dd>" " <dt>" "If your goal is to test vocabulary knowledge" " </dt>" " <dd>" "<p>Write a text using the target vocabulary. This " "text should be coherent and cohesive, and be of " "an appropriate length. Highlight the target " "words in the text. Choose alternatives with one " "clear answer.</p>" " </dd>" " <dt>" "If your goal is to test word " "formation/grammar:" " </dt>" " <dd>" " <p>" "Write a text using the " "target forms. This text should be coherent and " "cohesive, and be of an appropriate length. " "Remember that the goal is not vocabulary " "knowledge, so the core meanings of the stem " "words should be well known to the students." " </p>" " <p>" "Highlight the target words in the text. Provide " "alternatives with the same word stem, but " "different affixes. It is a good idea to get a " "colleague to test the test/exercise to make " "sure there are no surprises!" " </p>" " </dd>" "</dl>"), u"autoevaluacionfpd", parentNode) self.instructionsForLearners = TextAreaField( x_(u'Instructions'), x_(u"""Provide instruction on how the cloze activity should be completed. Default text will be entered if there are no changes to this field. """), "") # x_(u'Read the paragraph below and fill in the missing words.')) self.instructionsForLearners.idevice = self self._content = ClozelangField( x_(u'Clozelang'), x_(u"""<p>Enter the text for the cloze activity in to the cloze field by either pasting text from another source or by typing text directly into the field.</p><p> To select words to hide, double click on the word to select it and click on the Hide/Show Word button below.</p><p>More than one possible answer can be defined enclosing them with pipes (|). I.e.: |dog|cat|bird|</p>""" )) self._content.idevice = self self.feedback = TextAreaField( x_(u'Feedback'), x_(u'Enter any feedback you wish to provide the learner ' 'with-in the feedback field. This field can be left blank.')) self.feedback.idevice = self # self.emphasis = Idevice.SomeEmphasis self.emphasis = "_autoevaluacionfpd" self.systemResources += ["common.js"] self.isCloze = True
def __init__(self, content=""): Idevice.__init__( self, x_(u"Click In Order Game"), x_(u"PAIWASTOON Networking Services Ltd."), x_(u"""Click in Order according to the hint on the map."""), "", "") self.emphasis = Idevice.SomeEmphasis self.message = "" self.titleField = TextField(x_("Title"), x_("Title")) """ List of the text area fields that are here Id which will be generated mapped to the title and help in an array """ self.textAreaFieldNames = {\ 'Instructions' : [x_('Game Instructions'), x_('Instructions to show in leading paragraph')],\ 'CompleteFeedback' : [x_('Game Won Feedback Overlay'), x_('Shown over when the game is won')],\ 'PositiveFeedback' : [x_('Correct Answer Feedback Overlay'), x_('Shown over game when correct answer given')],\ 'NegativeFeedback' : [x_('Wrong Answer Feedback Overlay'), x_('Shown over game when wrong answer is given')],\ 'MainArea' : [x_('Main Area To Show'), x_('The Main Game Area on which to locate items')],\ 'ClickToStartArea' : [x_('Area shown before the game starts'), x_('User will click on this to start the game')]\ } self.textAreaFields = {} for textAreaFieldName, textAreaDesc in self.textAreaFieldNames.iteritems( ): self.textAreaFields[textAreaFieldName] = TextAreaField(textAreaDesc[INDEX_TITLEFIELD], \ textAreaDesc[INDEX_INSTRUCTIONFIELD], "") self.textAreaFields[textAreaFieldName].idevice = self self.textFieldsBasic = ["width", "height"] self.textFieldsAdvanced = [ "elementCounterStyle", "hintWidth", "hintHeight", "hintAreaStyle", "timerStyle" ] self.textFieldNames = {\ 'width' : [x_('Game Width'), x_('Width of game area (in pixels)'), '300'],\ 'height' : [x_('Game Height'), x_('Height of game area (in pixels)'), '300'],\ 'elementCounterStyle' : [x_('Style of Element Counter'), x_('Use CSS to style element that counts number items found')],\ 'hintWidth' : [ x_('Hint Width'), x_('Width (px) of hint area'), '300'],\ 'hintHeight' : [ x_('Hint Height'), x_('Height (px) of hint area'), '50'],\ 'hintAreaStyle' : [x_('Hint Area Style'), x_('Style of Hint Area')],\ 'timerStyle' : [x_('Style of timer Element'), x_('Style of timer (CSS)')] } self.textFields = {} for textFieldName, textFieldDesc in self.textFieldNames.iteritems(): if len(textFieldDesc) >= INDEX_DEFAULTVALUEFIELD + 1: self.textFields[textFieldName] = TextField(textFieldDesc[INDEX_TITLEFIELD], \ textFieldDesc[INDEX_INSTRUCTIONFIELD], textFieldDesc[INDEX_DEFAULTVALUEFIELD]) else: self.textFields[textFieldName] = TextField(textFieldDesc[INDEX_TITLEFIELD], \ textFieldDesc[INDEX_INSTRUCTIONFIELD]) self.textFields[textFieldName].idevice = self #Game Mode Choice gameModeChoice = [['0', x_('Dont Shuffle')], ['1', x_('Shuffle')]] #so these are seen for localization x_("Dont Shuffle") x_("Shuffle") timerModeChoice = [['0', x_('No Timer')], ['1', x_('Stopwatch Mode')]] x_("No Timer") x_("Stopwatch Mode") self.questionOrderChoiceField = ChoiceField( self, gameModeChoice, x_("Shuffle Questions"), x_("Randomize question order or not")) self.timerChoiceField = ChoiceField(self, timerModeChoice, x_("Use Timer?"), x_("Use a Timer")) #these are the areas that can actually be clicked on self.clickableAreaFields = [] self.addClickableField()
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc """ Idevice.__init__( self, x_(u"SCORM Test Lücke"), x_(u"University of Auckland"), x_(u"<p>Cloze exercises are texts or " "sentences where students must fill in " "missing words. They are often used for the " "following purposes:</p>" "<ol>" "<li>To check knowledge of core course " "concepts (this could be a pre-check, " "formative exercise, or summative check).</li>" "<li>To check reading comprehension.</li>" "<li>To check vocabulary knowledge.</li>" "<li>To check word formation and/or grammatical " "competence. </li></ol>"), x_(u"<dl>" " <dt>If your goal is to test understanding " "of core concepts or reading comprehension" " </dt>" " <dd>" " <p>" " Write a summary of the concept or reading long " " enough to adequately test the target's " "knowledge, but short enough not to " "induce fatigue. Less than one typed page is " "probably adequate, but probably " "considerably less for young students or " "beginners." " </p>" " <p>" "Select words in the text that" "are key to understanding the concepts. These" "will probably be verbs, nouns, and key adverbs." "Choose alternatives with one clear answer." " </p>" " </dd>" " <dt>" "If your goal is to test vocabulary knowledge" " </dt>" " <dd>" "<p>Write a text using the target vocabulary. This " "text should be coherent and cohesive, and be of " "an appropriate length. Highlight the target " "words in the text. Choose alternatives with one " "clear answer.</p>" " </dd>" " <dt>" "If your goal is to test word " "formation/grammar:" " </dt>" " <dd>" " <p>" "Write a text using the " "target forms. This text should be coherent and " "cohesive, and be of an appropriate length. " "Remember that the goal is not vocabulary " "knowledge, so the core meanings of the stem " "words should be well known to the students." " </p>" " <p>" "Highlight the target words in the text. Provide " "alternatives with the same word stem, but " "different affixes. It is a good idea to get a " "colleague to test the test/exercise to make " "sure there are no surprises!" " </p>" " </dd>" "</dl>"), u"question", parentNode) self.instructionsForLearners = TextAreaField( x_(u'Instructions'), x_(u"""Provide instruction on how the cloze activity should be completed. Default text will be entered if there are no changes to this field. """), x_(u'Trage die richtigen Antworten ein!')) self.instructionsForLearners.idevice = self self._content = ScormClozeField( x_(u'Cloze'), x_(u"""<p>Tragen Sie den Text für die Lückenübung in das Eingabefenster ein. Wenn Sie Text aus einer anderen Datei kopieren, fügen Sie ihn <b>unbedingt</b> mittels des Buttons <b>'Paste as plain Text'</b> ein.</p><p>\n Markieren Sie die zu verbergenden Wörter und klicken Sie anschließend auf den Button <i>Wort verbergen/anzeigen'</i>.<br> Hinweise:<br>In Antworten können Leerzeichen enthalten sein.<br>Möchten Sie die Antwortmöglichkeiten den Lernenden anzeigen, so sortieren Sie die Antwortmöglichkeiten am besten alphabetisch und schreiben Sie sie an den Anfang oder an das Ende des Lückentextes.</p>""" )) self._content.idevice = self self.feedback = TextAreaField( x_(u'Feedback'), x_(u'Enter any feedback you wish to provide the learner ' 'with-in the feedback field. This field can be left blank.')) self.feedback.idevice = self self.emphasis = Idevice.SomeEmphasis self.systemResources += ["common.js"] self.isCloze = True
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc """ Idevice.__init__( self, x_(u"DropDown Activity"), x_(u"INTEF"), x_(u"<p>DropDown exercises are texts or " "sentences where students must select the " "correct words. They are often used for the " "following purposes:</p>" "<ol>" "<li>To check knowledge of core course " "concepts (this could be a pre-check, " "formative exercise, or summative check).</li>" "<li>To check reading comprehension.</li>" "<li>To check vocabulary knowledge.</li>" "<li>To check word formation and/or grammatical " "competence. </li></ol>"), x_(u"<dl>" " <dt>If your goal is to test understanding " "of core concepts or reading comprehension" " </dt>" " <dd>" " <p>" " Write a summary of the concept or reading long " " enough to adequately test the target's " "knowledge, but short enough not to " "induce fatigue. Less than one typed page is " "probably adequate, but probably " "considerably less for young students or " "beginners." " </p>" " <p>" "Choose words in the text that " "are key to understanding the concepts. These " "will probably be verbs, nouns, and key adverbs. " "Choose alternatives with one clear answer." " </p>" " </dd>" " <dt>" "If your goal is to test vocabulary knowledge" " </dt>" " <dt>" "If your goal is to test word " "formation/grammar:" " </dt>" " <dd>" " <p>" "Write a text using the " "target forms. This text should be coherent and " "cohesive, and be of an appropriate length. " "Remember that the goal is not vocabulary " "knowledge, so the core meanings of the stem " "words should be well known to the students." " </p>" " <p>" "Highlight the target words in the text. Provide " "alternatives with the same word stem, but " "different affixes. It is a good idea to get a " "colleague to test the test/exercise to make " "sure there are no surprises!" " </p>" " </dd>" "</dl>"), u"question", parentNode) self.instructionsForLearners = TextAreaField( x_(u'Instructions'), x_(u"""Provide instruction on how the dropdown activity should be completed.""" ), x_(u'Read and complete')) self.instructionsForLearners.idevice = self self._content = ListaField( x_(u'Dropdown'), x_(u"""<p>Enter the text for the dropdown activity in to the dropdown field by either pasting text from another source or by typing text directly into the field.</p><p> To select words to choose, double click on the word to select it and click on the 'Hide/Show' button below.</p>""")) self._content.idevice = self self._content.otras = '' self.feedback = TextAreaField( x_(u'Feedback'), x_(u'Enter any feedback you wish to provide the learner ' 'with-in the feedback field. This field can be left blank.')) self.feedback.idevice = self self.emphasis = Idevice.SomeEmphasis #self.systemResources += ["common.js"] self.isCloze = True
def __init__(self, parentNode=None): """ Sets up the idevice title and instructions etc """ Idevice.__init__( self, x_(u"SCORM Test Cloze (multiple options)"), x_(u"University of Auckland"), x_(u"<p>Cloze exercises are texts or " "sentences where students must fill in " "missing words. They are often used for the " "following purposes:</p>" "<ol>" "<li>To check knowledge of core course " "concepts (this could be a pre-check, " "formative exercise, or summative check).</li>" "<li>To check reading comprehension.</li>" "<li>To check vocabulary knowledge.</li>" "<li>To check word formation and/or grammatical " "competence. </li></ol>"), x_(u"<dl>" " <dt>If your goal is to test understanding " "of core concepts or reading comprehension" " </dt>" " <dd>" " <p>" " Write a summary of the concept or reading long " " enough to adequately test the target's " "knowledge, but short enough not to " "induce fatigue. Less than one typed page is " "probably adequate, but probably " "considerably less for young students or " "beginners." " </p>" " <p>" "Select words in the text that" "are key to understanding the concepts. These" "will probably be verbs, nouns, and key adverbs." "Choose alternatives with one clear answer." " </p>" " </dd>" " <dt>" "If your goal is to test vocabulary knowledge" " </dt>" " <dd>" "<p>Write a text using the target vocabulary. This " "text should be coherent and cohesive, and be of " "an appropriate length. Highlight the target " "words in the text. Choose alternatives with one " "clear answer.</p>" " </dd>" " <dt>" "If your goal is to test word " "formation/grammar:" " </dt>" " <dd>" " <p>" "Write a text using the " "target forms. This text should be coherent and " "cohesive, and be of an appropriate length. " "Remember that the goal is not vocabulary " "knowledge, so the core meanings of the stem " "words should be well known to the students." " </p>" " <p>" "Highlight the target words in the text. Provide " "alternatives with the same word stem, but " "different affixes. It is a good idea to get a " "colleague to test the test/exercise to make " "sure there are no surprises!" " </p>" " </dd>" "</dl>"), u"question", parentNode) self.instructionsForLearners = TextAreaField( x_(u'Instructions'), x_(u"""Provide instruction on how the cloze activity should be completed. Default text will be entered if there are no changes to this field. """), #translated # x_(u'Trage die richtigen Antworten ein!')) x_(u'Read the paragraph below and ' 'fill in the missing words.')) self.instructionsForLearners.idevice = self self._content = ClozeField( x_(u'Cloze'), x_(u"""<p>Enter the text for the cloze excercise in the editor window. If you copy text from another source, you should use the button 'Paste as plain text' to paste it into the editor window. To select words to hide, mark them and click on the Hide/Show Word button below. To create a gap with multiple answer options, write the answers separated by '|'. Mark all answer options and click on the Hide/Show Word button below. Hint: The answers may contain spaces. If you want to provide the answer options to the learners, sort them alphabetically and write them at the beginning or the end of the cloze excercise.</p>""" )) self._content.idevice = self self.feedback = TextAreaField( x_(u'Feedback'), x_(u'Enter any feedback you wish to provide the learner ' 'with-in the feedback field. This field can be left blank.')) self.feedback.idevice = self self.emphasis = Idevice.SomeEmphasis self.systemResources += ["common.js"] self.isCloze = True