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
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
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
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
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)
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
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>"""
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
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)
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>
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>
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)