Пример #1
0
 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')
Пример #2
0
    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
Пример #3
0
    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"]
Пример #5
0
    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"]
Пример #6
0
    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"]
Пример #7
0
    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          = ""
Пример #8
0
    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']
Пример #9
0
    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.""")
Пример #11
0
    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
Пример #12
0
    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')
Пример #13
0
    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
Пример #14
0
    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
Пример #15
0
    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()
Пример #16
0
    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>"
        )
Пример #17
0
    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
Пример #18
0
 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
Пример #19
0
 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)
Пример #21
0
 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"
Пример #22
0
    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.""")
Пример #23
0
 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"]
Пример #24
0
    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
Пример #26
0
 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')
Пример #27
0
 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&aacute; en este iDevice""")
     self.systemResources += ["common.js"]
     
     self.activityTextArea = TextAreaField(x_(u'Texto Correci&oacute;n:'), 
                                 self._activityInstruc, activity)
     self.activityTextArea.idevice = self
Пример #28
0
 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
Пример #29
0
 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]
Пример #31
0
    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 &lt;Select an MP3&gt; 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']
Пример #32
0
    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               = ""
Пример #35
0
    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()
Пример #36
0
    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&ouml;nnen Sie eine Aufgabenstellung eingeben oder die Standardanweisung &uuml;bernehmen."""),
            x_(u"""Provide instruction how to complete the exercise or take the default text."""),
#            x_(u"""W&auml;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&uuml;cke mit Antwortm&ouml;glichkeiten zu erzeugen,
#                schreiben sie zuerst die richtige Antwort und dann getrennt
#                mit '|' die falschen Antworten, also folgenderma&szlig;en:
#                richtig|falsch|falsch|falsch...
#                Markieren Sie die gesamten Antworten und klicken sie
#                auf den Button 'Wort verbergen/anzeigen'.
#                Hinweise:<br>In Antworten k&ouml;nnen Leerzeichen enthalten
#                sein<br>Das Zeichen '|' erhalten Sie, indem Sie die 
#                'Alt Gr'-Taste gedr&uuml;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
Пример #37
0
    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
Пример #38
0
    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&uuml;cken&uuml;bung in das Eingabefenster ein.
               Wenn Sie Text aus einer anderen Datei kopieren, f&uuml;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&ouml;rter und klicken Sie anschlie&szlig;end auf den
               Button <i>Wort verbergen/anzeigen'</i>.<br> Hinweise:<br>In Antworten k&ouml;nnen 
               Leerzeichen enthalten sein.<br>M&ouml;chten Sie die Antwortm&ouml;glichkeiten den
               Lernenden anzeigen, so sortieren Sie die Antwortm&ouml;glichkeiten am besten 
               alphabetisch und schreiben Sie sie an den Anfang oder an das Ende des L&uuml;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
Пример #40
0
    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
Пример #41
0
    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