1 \documentclass[12pt,
a4paper]{article
}
2 \usepackage[nolists,nomarkers
]{endfloat
}
3 %\usepackage[english]{babel}
5 \usepackage[utf8x
]{inputenc}
6 \usepackage[T1]{fontenc}
13 \usepackage[firstpage
]{draftwatermark
}
14 \usepackage[hidelinks
]{hyperref
}
17 \usepackage{xcolor,soul,lipsum
}
19 %\usepackage{adjustbox}
20 %\usepackage{fancyvrb}
21 %\usepackage{verbatim}
25 \newcommand{\myul}[1]{\ul{#1}}
27 %\SetWatermarkText{ENTWURF}
28 \SetWatermarkText{DRAFT
}
30 \SetWatermarkAngle{50}
31 \SetWatermarkLightness{0.90}
39 \newcommand{\ecs}{ECS
}
40 \newcommand{\ilias}{ILIAS
}
41 \newcommand{\cces}{\texttt{cc/enrolment
\_status\
}}
42 \newcommand{\button}[1]{\fbox{\texttt{#1}}}
43 \newcommand{\jsToAppletComUrlA}{\mbox{http://stackoverflow.com/questions/
7278626/javascript-to-java-applet-communication
}}
44 \newcommand{\jsToAppletComUrlB}{\mbox{http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html
}}
45 \newcommand{\appletToDom}{\mbox{http://docs.oracle.com/javase/tutorial/deployment/applet/manipulatingDOMFromApplet.html
}}
47 \lstset{basicstyle=
\ttfamily}
48 \newcommand{\includecode}[1]{\lstinputlisting[numbers=left, numberstyle=
\tiny, stepnumber=
1, numbersep=
5pt, breaklines, breakatwhitespace, linewidth=
1.1\textheight, xleftmargin=
1cm
]{#1}}
52 \title{Mahara/Moodle enrolment status
}
53 \author{David Boehringer\
\Universit\"at Stuttgart
\and Heiko Bernl\"ohr\
\FreeIT.de
}
58 % Commit-id: \gitAbbrevHash
61 New ECS resource providing enrolment status for users subscribed/enroled to
62 external courses (via courselinks). The course providing participant (e.g.
63 Moodle) informs the courselink providing participant of the subscribed user
64 (e.g. Mahara) about every change of its enrolment status in the course.
69 %\includegraphics[scale=1.0]{vip_lms}
75 \section{Enrolment status
}
77 The
\cces resource describes an enrolment status of a
78 remotly subscribed user (via courselinks) to a course.
82 Moodle has to send the user enrolment status to Mahara on these events:
84 \item A user clicks on a courselink on Mahara for the first time and tries to
85 consume the linked course on Moodle (sequence diagram on
86 page
\pageref{seq:initial_enrolment_status
}).\\
87 \texttt{status $
\rightarrow$ subscribed | pending | rejected
}
88 \item A user subsequently clicks a courselink on Mahara and consumes an already
89 subscribed course on Moodle (see page
\pageref{seq:subsequent_enrolment_status
}).
90 This guarantees to have a status even if Mahara just
91 forget/loose
\footnote{We don't make the
\cces resource persistent, so
92 loosing the status somehow on Mahara it will be refreshed after next
93 click on a courselink.
} it somehow.\\
94 \texttt{no status change
}
95 \item The user get unsubscribed on Moodle e.g. from the course admin.\\
96 \texttt{status $
\rightarrow$ expelled
}
99 \subsection{Redirect querystring parameters
\label{subsec:redirect_querystring_parameters
}}
101 Our present specification of redirecting a user is defined in
102 \cite{specRedirectProcedure
} and the procedure how to compute the redirect hash
103 (for securing the redirect parameters) in
\cite{specHashCumputing
}. As
104 described in the
document \cite{specBoehMaharaMoodle
} Moodle has to provide an
105 interface to define for each participant and its community participation what
106 personal data should be appended as query strings. Of course to allow this we
107 have to enhance our specs in
\cite{specRedirectProcedure
} and
108 \cite{specHashCumputing
}. This still needs to be done.
111 \includegraphics[scale=
0.8]{enrolment_status_seq
}
112 \caption{\label{seq:initial_enrolment_status
}Sending enrolment status
113 after initially consuming a courselink. For the
\textit{params
} in the
114 \textit{redirect
} of the
\textit{consume courselink
} block see subsection
115 \ref{subsec:redirect_querystring_parameters
} at page
116 \pageref{subsec:redirect_querystring_parameters
}.
}
120 \includegraphics[scale=
0.8]{subsequent_enrolment_status_seq
}
121 \caption{\label{seq:subsequent_enrolment_status
}Sending enrolment status
122 after subsequently consuming a courselink. The
\textit{consume courselink
} block is the same as in figure
\ref{seq:initial_enrolment_status
} on page
\pageref{seq:initial_enrolment_status
}.
}
125 \subsection{Resource attributes
}
127 For the json schema of
\cces see page
\pageref{schema:enrolment_status
}.
128 Following description write on
\cces resource attributes for which a user
129 status has changed or asked for:
131 \item[courseURL
] It's the course url. It's also used as a unique id.
132 \item[personID
] Unique id of the user.
133 \item[personIDtype
] Class/type of
\texttt{personID
}. It's a controlled
134 vocabulary / enumeration (see page
\pageref{schema:enrolment_status
} for
136 \item[status
] Status of the user's course subscription. It's a controlled
137 vocabulary / enumeration (see page
\pageref{schema:enrolment_status
} for
141 \begin{sidewaysfigure
}[p
]
142 \includecode{cc_enrolment_status.schema.json
}
143 \caption{JSON-Schema definition of enrolment
\_status resource
}
144 \label{schema:enrolment_status
}
147 \begin{thebibliography
}{99}
148 \bibitem{specRedirectProcedure
} \url{http://freeit.de/documents/ecsa/index.html#_redirect_procedure_protocol_when_consuming_courselinks
}
149 \bibitem{specHashCumputing
} \url{http://freeit.de/documents/ecsa/index.html#_courselinks
}
150 \bibitem{specBoehMaharaMoodle
} David Boehringer.
\textit{Mahara and Moodle Specification Version
03}
151 \end{thebibliography
}