Пример #1
0
def _traverse_upload(activity, parent=None, root=None, user=None):

    learning_activity = None
    #If root is None then this is the root activity,
    #it must be created in advance, so we get the activity.
    if root is None:

        root = LearningActivity.objects.get(pk=activity['id'])
        learning_activity = root
        print "upload root", root, root.id, activity['id']

    else:
        learning_activity = LearningActivity(
            parent=parent,
            root=root,
            name=activity['learning_activity']['name'],
            uri=activity['learning_activity']['uri'],
            lom=activity['learning_activity']['lom'] or "",
            attempt_limit=activity['learning_activity']['attempt_limit'],
            available_until=activity['learning_activity']['available_until'],
            available_from=activity['learning_activity']['available_from'],
            description=activity['learning_activity']['description'],
            image=activity['learning_activity']['image'],
            pre_condition_rule=add_precondition(
                activity['learning_activity']['rules']) or "",
            rollup_rule=('rollup_rule' in activity['learning_activity']
                         and activity['learning_activity']['rollup_rule'])
            or "",
            is_container=activity['learning_activity']['is_container'],
            is_visible=activity['learning_activity']['is_visible'],
            rules=activity['learning_activity']['rules'] or "",
            order_in_container=activity['learning_activity']
            ['order_in_container'],
            choice_exit=activity['learning_activity']['choice_exit'],
            rollup_progress=('rollup_progress' in activity['learning_activity']
                             and
                             activity['learning_activity']['rollup_progress'])
            or "")
        learning_activity.save()
        print "upload activity", learning_activity

    if 'children' in activity:
        if activity['children']:
            for child in activity['children']:
                _traverse_upload(child, parent=learning_activity, root=root)
    else:
        pass
Пример #2
0
def create_empty_course(url,user, name ='New Course', short_description="", is_private=False):
        learning_activity = LearningActivity(
        parent =  None,
        root   =  None,
        is_container = True,
        name = name,

        uri = '/activity/'+url)
        learning_activity.save()

        course = Course(short_description=short_description, root=learning_activity, private=is_private)
        course.save()

        auth = AuthorLearningActivity(user=user, learning_activity=learning_activity )
        auth.save()

        return learning_activity.id,learning_activity.uri
Пример #3
0
def _traverse_upload(activity, parent=None, root=None, user=None):

    learning_activity = None
    #If root is None then this is the root activity,
    #it must be created in advance, so we get the activity.
    if root is None:

        root = LearningActivity.objects.get(pk=activity['id'])
        learning_activity = root
        print("upload root", root, root.id,activity['id'])


    else:
        learning_activity = LearningActivity(
            parent = parent,
            root   = root,
            name = activity['learning_activity']['name'],
            uri = activity['learning_activity']['uri'],
            lom = activity['learning_activity']['lom'] or "",
            attempt_limit=activity['learning_activity']['attempt_limit'] ,
            available_until=activity['learning_activity']['available_until'] ,
            available_from =activity['learning_activity']['available_from'],
            description =activity['learning_activity']['description'],
            image = activity['learning_activity']['image'],
            pre_condition_rule = add_precondition(activity['learning_activity']['rules']) or "",
            rollup_rule  =('rollup_rule' in activity['learning_activity'] and  activity['learning_activity']['rollup_rule']) or "",
            is_container = activity['learning_activity']['is_container'],
            is_visible = activity['learning_activity']['is_visible'],
            rules=activity['learning_activity']['rules'] or "",
            order_in_container = activity['learning_activity']['order_in_container'],
            choice_exit = activity['learning_activity']['choice_exit'],
            rollup_progress= ('rollup_progress' in activity['learning_activity'] and activity['learning_activity']['rollup_progress']) or "")
        learning_activity.save()
        print("upload activity",learning_activity)


    if 'children' in activity:
        if activity['children']:
            for child in activity['children']:
                _traverse_upload(child, parent=learning_activity, root=root)
    else:
        pass
Пример #4
0
def create_empty_course(url,
                        user,
                        name='New Course',
                        short_description="",
                        is_private=False):
    learning_activity = LearningActivity(parent=None,
                                         root=None,
                                         is_container=True,
                                         name=name,
                                         uri='/activity/' + url)
    learning_activity.save()

    course = Course(short_description=short_description,
                    root=learning_activity,
                    private=is_private)
    course.save()

    auth = AuthorLearningActivity(user=user,
                                  learning_activity=learning_activity)
    auth.save()

    return learning_activity.id, learning_activity.uri
Пример #5
0

from activitytree.models import LearningStyleInventory, LearningActivity, Course, UserLearningActivity
from django.contrib.auth.models import User
from activitytree.interaction_handler import SimpleSequencing

LearningActivity.objects.all().delete()
POO = LearningActivity( name = 'Prog OO en C#', slug = 'POO',
    uri = "/activity/POO",
    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "satisfied IF All satisfied",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = True,
    order_in_container = 0
    )

POO.save()
description= u"""
        <p> Que no te intimiden las palabras <code>class</code> , <code>abstract</code> , <code>override</code> o te dé miedo eso del
        <strong> polimorfismo </strong> o te emociones con la <strong> herencia múltiple</strong>.</p>
        <p> Ya deberías saber programación básica en algún lenguaje de programación. </p>"""
    import django
    from django.conf import settings
    django.setup()

from activitytree.models import LearningStyleInventory, LearningActivity, Course, UserLearningActivity

#LearningActivity.objects.all().delete()

startup = LearningActivity( name = 'Como construir un startup', slug = 'como_construir_un_startup',
    uri = "/activity/startup",
    heading="Como construir un startup",
    secondary_text = "Tutorial",
    description = """Este tutorial te brinda los conocimientos para que inicies tu propia startup, en particular se centra en
        explicarnos el como desarrollar el Buissiness Model Camvas""",

    image = "https://s3.amazonaws.com/learning-python/python-logo.png",

    parent = None,
    root   = None,

    choice_exit = False,
    is_container = True,
    order_in_container = 0
)

startup.save()
description= u"""
          <p> Como Construir un Startup</p>
"""


cursoStartUP = Course(short_description=description, root=startup)
Пример #7
0
def _traverse_update(activity, parent=None, root=None, user=None):

    learning_activity = None
    #If root is None then this is the root activity,
    #it must be created in advance, so we get the activity.
    if root is None:
        root = LearningActivity.objects.get(pk=activity['id'])

        if 'state' not in activity['learning_activity']:
            print "Root:SAVE"

            root.name = activity['learning_activity']['name']
            root.uri = activity['learning_activity']['uri']
            root.lom = activity['learning_activity']['lom'] or ""
            root.attempt_limit = activity['learning_activity']['attempt_limit']
            root.available_until = activity['learning_activity'][
                'available_until']
            root.available_from = activity['learning_activity'][
                'available_from']
            root.description = activity['learning_activity']['description']
            root.image = activity['learning_activity']['image']
            root.rules = activity['learning_activity']['rules'] or ""
            root.pre_condition_rule = add_precondition(
                activity['learning_activity']['rules']) or ""
            root.rollup_rule = (
                'rollup_rule' in activity['learning_activity']
                and activity['learning_activity']['rollup_rule']) or ""
            root.save()

        learning_activity = root

    elif 'state' in activity['learning_activity'] and activity[
            'learning_activity']['state'] == 'Added':
        learning_activity = LearningActivity(
            parent=parent,
            root=root,
            name=activity['learning_activity']['name'],
            uri=activity['learning_activity']['uri'],
            lom=activity['learning_activity']['lom'] or "",
            attempt_limit=activity['learning_activity']['attempt_limit'],
            available_until=activity['learning_activity']['available_until'],
            available_from=activity['learning_activity']['available_from'],
            description=activity['learning_activity']['description'],
            image=activity['learning_activity']['image'],
            pre_condition_rule=add_precondition(
                activity['learning_activity']['rules']) or "",
            rollup_rule=activity['learning_activity']['rollup_rule'],
            is_container=activity['learning_activity']['is_container'],
            is_visible=activity['learning_activity']['is_visible'],
            rules=activity['learning_activity']['rules'] or "",
            order_in_container=activity['learning_activity']
            ['order_in_container'],
            choice_exit=activity['learning_activity']['choice_exit'],
            rollup_progress=activity['learning_activity']['rollup_progress'])
        learning_activity.save()

        #Subscribe students taking the course to the new activity

        subscribed_users = root.activity_tree.all()

        for subscription in subscribed_users:
            ula = UserLearningActivity(user=subscription.user,
                                       learning_activity=learning_activity)
            ula.save()

    elif 'state' in activity['learning_activity'] and activity[
            'learning_activity']['state'] == "Deleted":

        learning_activity = LearningActivity.objects.get(
            pk=activity['learning_activity']['id'])
        learning_activity.delete()

    else:

        #We need to update the learning activity
        learning_activity = LearningActivity.objects.get(
            pk=activity['learning_activity']['id'])
        learning_activity.parent = parent
        learning_activity.root = root
        learning_activity.name = activity['learning_activity']['name']
        learning_activity.uri = activity['learning_activity']['uri']
        learning_activity.lom = activity['learning_activity']['lom'] or ""
        learning_activity.attempt_limit = activity['learning_activity'][
            'attempt_limit']
        learning_activity.available_until = activity['learning_activity'][
            'available_until']
        learning_activity.available_from = activity['learning_activity'][
            'available_from']
        learning_activity.description = activity['learning_activity'][
            'description']
        learning_activity.image = activity['learning_activity']['image']
        learning_activity.pre_condition_rule = add_precondition(
            activity['learning_activity']['rules']) or ""
        learning_activity.rollup_rule = (
            'rollup_rule' in activity['learning_activity']
            and activity['learning_activity']['rollup_rule']) or ""
        learning_activity.is_container = activity['learning_activity'][
            'is_container']
        learning_activity.is_visible = activity['learning_activity'][
            'is_visible']
        learning_activity.order_in_container = activity['learning_activity'][
            'order_in_container']
        learning_activity.choice_exit = activity['learning_activity'][
            'choice_exit']
        learning_activity.rules = activity['learning_activity']['rules'] or ""
        learning_activity.rollup_progress = (
            'rollup_progress' in activity['learning_activity']
            and activity['learning_activity']['rollup_progress']) or ""
        print activity['learning_activity']['name'].encode(
            'utf-8'), activity['learning_activity']['choice_exit']
        learning_activity.save()

    if 'children' in activity:
        if activity['children']:
            for child in activity['children']:
                _traverse_update(child, parent=learning_activity, root=root)
    else:
        pass
Пример #8
0
from activitytree.models import LearningStyleInventory, LearningActivity, Course, UserLearningActivity
from django.contrib.auth.models import User
from activitytree.interaction_handler import SimpleSequencing

#LearningActivity.objects.all().delete()


POO = LearningActivity( name = 'Prog OO en C#', slug = 'POO',
    uri = "/activity/POO",
    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "satisfied IF All satisfied",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = True,
    order_in_container = 0
    )

POO.save()
description= u"""
        <p> Que no te intimiden las palabras <code>class</code> , <code>abstract</code> , <code>override</code> o te dé miedo eso del
        <strong> polimorfismo </strong> o te emociones con la <strong> herencia múltiple</strong>.</p>
        <p> Ya deberías saber programación básica en algún lenguaje de programación. </p>"""
Пример #9
0
def _traverse_update(activity, parent=None, root=None, user=None):

    learning_activity = None
    #If root is None then this is the root activity,
    #it must be created in advance, so we get the activity.
    if root is None:
        root = LearningActivity.objects.get(pk=activity['id'])

        if 'state' not in activity['learning_activity']:
            print("Root:SAVE")

            root.name = activity['learning_activity']['name']
            root.uri = activity['learning_activity']['uri']
            root.lom = activity['learning_activity']['lom'] or ""
            root.attempt_limit=activity['learning_activity']['attempt_limit']
            root.available_until=activity['learning_activity']['available_until']
            root.available_from =activity['learning_activity']['available_from']
            root.description =activity['learning_activity']['description']
            root.image = activity['learning_activity']['image']
            root.rules = activity['learning_activity']['rules'] or ""
            root.pre_condition_rule = add_precondition(activity['learning_activity']['rules']) or ""
            root.rollup_rule  = ('rollup_rule' in activity['learning_activity'] and  activity['learning_activity']['rollup_rule']) or ""
            root.save()

        learning_activity = root
    
    elif 'state' in activity['learning_activity'] and  activity['learning_activity']['state']=='Added':
        learning_activity = LearningActivity(
            parent = parent,
            root   = root,
            name = activity['learning_activity']['name'],
            uri = activity['learning_activity']['uri'],
            lom = activity['learning_activity']['lom'] or "",
            attempt_limit=activity['learning_activity']['attempt_limit'] ,
            available_until=activity['learning_activity']['available_until'] ,
            available_from =activity['learning_activity']['available_from'],
            description =activity['learning_activity']['description'],
            image = activity['learning_activity']['image'],
            pre_condition_rule = add_precondition(activity['learning_activity']['rules']) or "",
            rollup_rule  = activity['learning_activity']['rollup_rule'],
            is_container = activity['learning_activity']['is_container'],
            is_visible = activity['learning_activity']['is_visible'],
            rules=activity['learning_activity']['rules'] or "",
            order_in_container = activity['learning_activity']['order_in_container'],
            choice_exit = activity['learning_activity']['choice_exit'],
            rollup_progress= activity['learning_activity']['rollup_progress'])
        learning_activity.save()

        #Subscribe students taking the course to the new activity

        subscribed_users = root.activity_tree.all()

        for subscription in subscribed_users:
            ula = UserLearningActivity(user=subscription.user, learning_activity=learning_activity)
            ula.save()

    elif 'state' in activity['learning_activity'] and  activity['learning_activity']['state']=="Deleted":


        learning_activity = LearningActivity.objects.get(pk=activity['learning_activity']['id'])
        learning_activity.delete()


    else:

        #We need to update the learning activity
        learning_activity = LearningActivity.objects.get(pk=activity['learning_activity']['id'])
        learning_activity.parent = parent
        learning_activity.root   = root
        learning_activity.name = activity['learning_activity']['name']
        learning_activity.uri = activity['learning_activity']['uri']
        learning_activity.lom = activity['learning_activity']['lom'] or ""
        learning_activity.attempt_limit=activity['learning_activity']['attempt_limit']
        learning_activity.available_until=activity['learning_activity']['available_until']
        learning_activity.available_from =activity['learning_activity']['available_from']
        learning_activity.description =activity['learning_activity']['description']
        learning_activity.image = activity['learning_activity']['image']
        learning_activity.pre_condition_rule = add_precondition(activity['learning_activity']['rules']) or ""
        learning_activity.rollup_rule  = ('rollup_rule' in activity['learning_activity'] and  activity['learning_activity']['rollup_rule']) or ""
        learning_activity.is_container = activity['learning_activity']['is_container']
        learning_activity.is_visible = activity['learning_activity']['is_visible']
        learning_activity.order_in_container = activity['learning_activity']['order_in_container']
        learning_activity.choice_exit = activity['learning_activity']['choice_exit']
        learning_activity.rules = activity['learning_activity']['rules'] or ""
        learning_activity.rollup_progress= ('rollup_progress' in activity['learning_activity'] and activity['learning_activity']['rollup_progress']) or ""
        print(activity['learning_activity']['name'].encode('utf-8'),activity['learning_activity']['choice_exit'])
        learning_activity.save()

    if 'children' in activity:
        if activity['children']:
            for child in activity['children']:
                _traverse_update(child, parent=learning_activity, root=root)
    else:
        pass
Пример #10
0
from django.contrib.auth.models import User
from activitytree.interaction_handler import SimpleSequencing



LearningActivity.objects.all().delete()
##############################          1
POO = LearningActivity( name = 'El Himno Nacional', slug = 'POO',
    uri = "/activity/POO",
    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = True,
    order_in_container = 0
    )

POO.save()
description= u"""
        <p> En este curso aprenderemos sobre el himno nacional mexicano, su historia, la letra que lo compone y a sus autores.</p>"""


cursoPOO = Course(short_description=description, root=POO)
Пример #11
0
from activitytree.models import LearningStyleInventory, LearningActivity, Course, UserLearningActivity
from django.contrib.auth.models import User
from activitytree.interaction_handler import SimpleSequencing



LearningActivity.objects.all().delete()
Demo = LearningActivity( name = 'Protoboard 101', slug = 'Demo',
    uri = "/activity/demo",
    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "satisfied IF All satisfied",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = True,
    order_in_container = 0
    )

Demo.save()
description= u"""
        <p> Este es un curso de ejemplo para mostrar la funcionalidad de <code>protoboard</code>.
        Se muestran los tipos de ejercicios y recursos que se pueden utilizar para crear cursos de programación. </p>"""

#LearningActivity.objects.all().delete()


PPP = LearningActivity( name = 'Python Básico', slug = 'PB',
    uri = "/activity/PB",
    heading="Python Básico",
    secondary_text = "Tutorial",
    description = "Tutorial del lenguaje Python, orientado a principiantes.",
    image = "https://s3.amazonaws.com/learning-python/python-logo.png",

    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "satisfied IF All satisfied",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = True,
    order_in_container = 0
    )

PPP.save()
description= u"""
          <p> Curso de Python básico, ¡Aprende desde cero!</p>
Пример #13
0
from activitytree.models import LearningActivity, Course
LearningActivity.objects.all().delete()

Redes = LearningActivity( name = 'Redes', slug = 'Redes',
    uri = "/activity/Redes",
    heading=u"Redes y transmisión de datos",
    secondary_text = "Tutorial",
    description = u"En este trabajo explicamos como se emplean las capas para una presentacón de multiples dispositivos.",
    image = "https://s3.amazonaws.com/learning-python/python-logo.png",

    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "satisfied IF All satisfied",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = False,
    order_in_container = 0
    )

Redes.save()
description= u"""
          <p> En este trabajo explicamos como se emplean las capas para una presentacón de multiples dispositivos.</p>
Пример #14
0
from django.contrib.auth.models import User
from activitytree.interaction_handler import SimpleSequencing



LearningActivity.objects.all().delete()
##############################          1
tec = LearningActivity( name = 'tec', slug = 'tec',
    uri = "/activity/POO",
    parent = None,
    root   = None,

    flow = True,
    forward_only = False,
    choice = True,
    choice_exit = False,

    rollup_rule  = "",
    rollup_objective = True,
    rollup_progress = True,

    is_container = True,
    is_visible = True,
    order_in_container = 0
    )

tec.save()
description= u"""
        <p> Hoy conoceras a protoboard.</p>"""


cursoagua = Course(short_description=description, root=tec)