From 2c70fc695649b1664ad873b572f8d230d9587786 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?=
- Create the public directory
+ Create the public directory
+ Go to directory
Return to directory
diff --git a/html/source/index.html b/html/source/index.html
index 9c37bce49..7d9934a4a 100644
--- a/html/source/index.html
+++ b/html/source/index.html
@@ -40,7 +40,7 @@
- Last update: April 18, 2016
+ Last update: June 13, 2016
@@ -105,7 +105,6 @@
+
+ Code refactoring in list of follwing/followers. (202304 lines)
+
+ 4 changes necessary in database:
+
+UPDATE actions SET Txt='Cambiar cód. institucional asignatura' WHERE ActCod='1024' AND Language='es';
+
+UPDATE actions SET Txt='Cambiar cód. institucional asignatura' WHERE ActCod='1025' AND Language='es';
+UPDATE actions SET Txt='Cambiar año/semestre asignatura' WHERE ActCod='561' AND Language='es';
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1573','es','N','Cambiar año/semestre asignatura');
+
+ 1 change necessary in database:
+
+ALTER TABLE courses ADD COLUMN NumIndicators INT NOT NULL DEFAULT -1 AFTER FullName;
+
+
+ Speed up database queries to get course info when getting indicators. (? lines)
+
+ 2 changes necessary in database:
+
+DROP INDEX NoteType ON social_notes;
+
+CREATE INDEX NoteType ON social_notes (NoteType,Cod);
+
+ Code refactoring related to file metadata. (201936 lines)
+
+ Change in layout of most frequent actions. (201934 lines)
+
+ 1 change necessary in database:
+
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1572','es','N','Ver convocatoria');
+
+
+ 1 change necessary in database:
+
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1571','es','N','Ver convocatorias de una fecha');
+
+
+ Fixed bug in dates, reported by Christian A. Morillas Gutiérrez. (201581 lines)
+
+ Code refactoring related to course info. (201471 lines)
+
+ Old files in briefcase are removed automatically. (201396 lines)
+
+ 1 change necessary in icons:
+
+Copy file icon/logo64x64.png to public icon directory
+
+
+ 1 change necessary in database:
+
+ALTER TABLE sessions CHANGE COLUMN SearchString SearchString VARCHAR(255) NOT NULL DEFAULT '';
+
+
+ Removed cevuna.una.py from config. (201435 lines)
+
+ Birthday default value now is NULL.
+ 18 changes necessary in database:
+
+ALTER TABLE usr_data CHANGE COLUMN EncryptedUsrCod EncryptedUsrCod CHAR(43) NOT NULL DEFAULT '';
+
+ALTER TABLE usr_data CHANGE COLUMN Password Password CHAR(86) COLLATE latin1_bin NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Surname1 Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Surname2 Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN FirstName FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Theme Theme CHAR(16) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN IconSet IconSet CHAR(16) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Language Language CHAR(2) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Photo Photo CHAR(43) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Office Office VARCHAR(127) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN OfficePhone OfficePhone CHAR(16) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN LocalAddress LocalAddress VARCHAR(127) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN LocalPhone LocalPhone CHAR(16) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN FamilyAddress FamilyAddress VARCHAR(127) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN FamilyPhone FamilyPhone CHAR(16) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN OriginPlace OriginPlace VARCHAR(127) NOT NULL DEFAULT '';
+ALTER TABLE usr_data CHANGE COLUMN Birthday Birthday DATE;
+UPDATE usr_data SET Birthday=NULL WHERE Birthday='0000-00-00';
+
+ 7 changes necessary in database:
+
+ALTER TABLE connected CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
+
+ALTER TABLE crs_grp_types CHANGE COLUMN OpenTime OpenTime DATETIME NOT NULL;
+ALTER TABLE crs_last CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
+ALTER TABLE sessions CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
+ALTER TABLE sessions CHANGE COLUMN LastRefresh LastRefresh DATETIME NOT NULL;
+ALTER TABLE usr_last CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
+ALTER TABLE usr_last CHANGE COLUMN LastAccNotif LastAccNotif DATETIME NOT NULL;
+
+ 6 changes necessary in database:
+
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1565','es','N','Solicitar conf. ID invitado');
+
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1566','es','N','Solicitar conf. ID estudiante');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1567','es','N','Solicitar conf. ID profesor');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1568','es','N','Confirmar ID invitado');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1569','es','N','Confirmar ID estudiante');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1570','es','N','Confirmar ID profesor');
+
+ Code refactoring and bug fixing related to showing user's ID and e-mail. (200908 lines)
+
+ Changes in layout of record cards. (200895 lines)
+
+ Fixed bugs in record cards. (200881 lines)
+
+ Fixed bugs in record cards. (200862 lines)
+
+ 82 changes necessary in database:
+
+CREATE TABLE notif_backup LIKE notif;
+
+INSERT INTO notif_backup SELECT * FROM notif;
+
+CREATE TABLE sta_notif_backup LIKE sta_notif;
+INSERT INTO sta_notif_backup SELECT * FROM sta_notif;
+
+CREATE TABLE usr_data_backup LIKE usr_data;
+INSERT INTO usr_data_backup SELECT * FROM usr_data;
+
+UPDATE notif SET NotifyEvent=19 WHERE NotifyEvent=18;
+UPDATE notif SET NotifyEvent=18 WHERE NotifyEvent=17;
+UPDATE notif SET NotifyEvent=17 WHERE NotifyEvent=16;
+UPDATE notif SET NotifyEvent=16 WHERE NotifyEvent=15;
+UPDATE notif SET NotifyEvent=15 WHERE NotifyEvent=14;
+UPDATE notif SET NotifyEvent=14 WHERE NotifyEvent=13;
+UPDATE notif SET NotifyEvent=13 WHERE NotifyEvent=12;
+UPDATE notif SET NotifyEvent=12 WHERE NotifyEvent=11;
+UPDATE notif SET NotifyEvent=11 WHERE NotifyEvent=10;
+UPDATE notif SET NotifyEvent=10 WHERE NotifyEvent=9;
+UPDATE notif SET NotifyEvent=9 WHERE NotifyEvent=8;
+UPDATE notif SET NotifyEvent=8 WHERE NotifyEvent=7;
+UPDATE notif SET NotifyEvent=7 WHERE NotifyEvent=6;
+UPDATE notif SET NotifyEvent=6 WHERE NotifyEvent=5;
+UPDATE notif SET NotifyEvent=5 WHERE NotifyEvent=4;
+UPDATE notif SET NotifyEvent=4 WHERE NotifyEvent=3;
+UPDATE notif SET NotifyEvent=3 WHERE NotifyEvent=2;
+
+UPDATE sta_notif SET NotifyEvent=19 WHERE NotifyEvent=18;
+UPDATE sta_notif SET NotifyEvent=18 WHERE NotifyEvent=17;
+UPDATE sta_notif SET NotifyEvent=17 WHERE NotifyEvent=16;
+UPDATE sta_notif SET NotifyEvent=16 WHERE NotifyEvent=15;
+UPDATE sta_notif SET NotifyEvent=15 WHERE NotifyEvent=14;
+UPDATE sta_notif SET NotifyEvent=14 WHERE NotifyEvent=13;
+UPDATE sta_notif SET NotifyEvent=13 WHERE NotifyEvent=12;
+UPDATE sta_notif SET NotifyEvent=12 WHERE NotifyEvent=11;
+UPDATE sta_notif SET NotifyEvent=11 WHERE NotifyEvent=10;
+UPDATE sta_notif SET NotifyEvent=10 WHERE NotifyEvent=9;
+UPDATE sta_notif SET NotifyEvent=9 WHERE NotifyEvent=8;
+UPDATE sta_notif SET NotifyEvent=8 WHERE NotifyEvent=7;
+UPDATE sta_notif SET NotifyEvent=7 WHERE NotifyEvent=6;
+UPDATE sta_notif SET NotifyEvent=6 WHERE NotifyEvent=5;
+UPDATE sta_notif SET NotifyEvent=5 WHERE NotifyEvent=4;
+UPDATE sta_notif SET NotifyEvent=4 WHERE NotifyEvent=3;
+UPDATE sta_notif SET NotifyEvent=3 WHERE NotifyEvent=2;
+
+UPDATE usr_data SET NotifNtfEvents = (((NotifNtfEvents & ~0x3) << 1) | (NotifNtfEvents & 0x3) | 0x04);
+UPDATE usr_data SET EmailNtfEvents = (((EmailNtfEvents & ~0x3) << 1) | (EmailNtfEvents & 0x3));
+
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1525','es','N','Administrar zona de profesores');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1526','es','N','Cambiar a admin. archivos prof.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1527','es','N','Administrar archivos prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1528','es','N','Solicitar elim. arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1529','es','N','Eliminar archivo prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1530','es','N','Eliminar carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1531','es','N','Copiar de zona prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1532','es','N','Pegar en zona prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1533','es','N','Eliminar árbol prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1534','es','N','Solic.nuevo arch/carp prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1535','es','N','Crear carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1536','es','N','Crear enlace prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1537','es','N','Renombrar carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1538','es','N','Subir archivo prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1539','es','N','Subir archivo prof. asg. (ant.)');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1540','es','N','Expandir carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1541','es','N','Contraer carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1542','es','N','Crear ZIP prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1543','es','N','Ver metadatos arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1544','es','N','Cambiar metadatos arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1545','es','N','Descargar arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1546','es','N','Administrar archivos prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1547','es','N','Solicitar elim. arch. prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1548','es','N','Eliminar archivo prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1549','es','N','Eliminar carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1550','es','N','Copiar de zona prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1551','es','N','Pegar en zona prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1552','es','N','Eliminar árbol prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1553','es','N','Solic.nuevo arch/carp prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1554','es','N','Crear carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1555','es','N','Crear enlace prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1556','es','N','Renombrar carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1557','es','N','Subir archivo prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1558','es','N','Subir archivo prof. asg. (grp.)');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1559','es','N','Expandir carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1560','es','N','Contraer carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1561','es','N','Crear ZIP prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1562','es','N','Ver metadatos arch. prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1563','es','N','Cambiar metadatos arch. prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1564','es','N','Descargar arch. prof. grp.');
+
- Put contextual icon "update" integrated in frame in "enrollment requests". (196598 lines)
+ Put contextual icon "update" integrated in frame in "enrollment requests". (196598 lines)
+ New option "landing page". (195817 lines)
2 changes necessary in database:
UPDATE actions SET Txt='Formularios cambiar rol y cerrar sesión' WHERE ActCod='843' AND Language='es';
@@ -1262,11 +1870,11 @@ UPDATE actions SET Obsolete='Y' WHERE ActCod IN ('550','551');
+ Change in privacy options (new value "unknown"). (192967 lines)
3 changes necessary in database:
ALTER TABLE usr_data CHANGE COLUMN PhotoVisibility PhotoVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown';
@@ -2599,7 +3207,7 @@ INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1490','es','N','Ver
Privacy is moved to preferences.
- Default privacy is changed from "user" to "system". (187700 lines)
+ Default privacy is changed from "user" to "system". (187700 lines)
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'0','1','2','3','4','5','6','7','8','9','-','_'
- mysql> INSERT INTO usr_data (EncryptedUsrCod) VALUES(@EncryptedUsrCod);
+ mysql> INSERT INTO usr_data (EncryptedUsrCod,Comments) VALUES(@EncryptedUsrCod,'');
mysql> INSERT INTO usr_IDs (UsrCod,UsrID,CreatTime,Confirmed) VALUES(LAST_INSERT_ID(),@MyID,NOW(),'Y');
- mysql> INSERT INTO deg_admin (UsrCod,DegCod) VALUES (LAST_INSERT_ID(),'-2');
+ mysql> INSERT INTO admin (UsrCod,Scope,Cod) VALUES (LAST_INSERT_ID(),'Sys','0');
mysql> quit
@@ -1208,7 +1208,13 @@
swad
, that will store the SWAD public content,
+ The directory swad
inside cgi-bin
,
+ will be created later.
+ swad
,
+ that will store the SWAD public content,
inside the main public directory:
+
+
@@ -1574,7 +1580,7 @@
that can be downloaded from:
http://www.cs.fsu.edu/~engelen/soap.html
http://sourceforge.net/projects/gsoap2/files/
- (Tested with the version 2.8.18,
+ (Tested with the version 2.8.30,
probably more recent versions also work.)
@@ -1585,12 +1591,12 @@
Go to directory /home/<user_directory>/swad/gsoap
:
cd /home/<user_directory>/swad/gsoap
- Download the file gsoap_2.8.18.zip
(or later)
+ Download the file gsoap_2.8.30.zip
(or later)
and copy it in /home/<user_directory>/swad/gsoap
- wget http://downloads.sourceforge.net/project/gsoap2/gSOAP/gsoap_2.8.18.zip
+ wget http://downloads.sourceforge.net/project/gsoap2/gSOAP/gsoap_2.8.30.zip
Uncompress gSOAP:
- unzip gsoap_2.8.18.zip
(or later)
+ unzip gsoap_2.8.30.zip
(or later)
It should have been created the directory gsoap-2.8
. Go to that directory:
cd gsoap-2.8
Configure:
@@ -1637,7 +1643,7 @@
//gsoap swad service location: URL
Replace URL
(everything after the two points)
by our SWAD address,
- for example https://swad.ugr.es/
or https://cevuna.una.py/swad/
,
+ for example https://openswad.org/
or https://swad.ugr.es/
,
and save the file.
@@ -1665,10 +1671,17 @@
/home/<user_directory>/swad/swad-core/sha2
:
+ cd /home/<user_directory>/swad/swad-core/sha2
+ to compile sha2
:
+ gcc -O2 -c sha2.c -o sha2.o
+ /home/<user_directory>/swad/swad-core
:
- cd /home/<user_directory>/swad/swad-core
+ cd /home/<user_directory>/swad/swad-core
Source code
- Antonio Cañas Vargas, 1999-2015
+ Antonio Cañas Vargas, 1999-2016
swad-core
)Programmed by Antonio Cañas Vargas. @@ -123,15 +122,19 @@ database management system MySQL or MariaDB. The reader will probably think "a web application written in C?" - Yes, it is not usual, but... ;-) + Yes, it is not usual, but... ;-) + A little more seriously, we could say that we have developed swad-core + following the philosophy of The Handmade Manifesto.
- SWAD core has about 185 000 lines of source code. - Each executable program (one for each language) has a size of 1.85 MiB + SWAD core has about 200 000 lines of source code. + Each executable program (one for each language) has a size of 1.8 MiB and in most of the possible actions generates the page in few milliseconds.
+ +For encryption of passwords diff --git a/html/ws/index.html b/html/ws/index.html index a441acb0a..b70674449 100644 --- a/html/ws/index.html +++ b/html/ws/index.html @@ -190,7 +190,8 @@
getTests
getTrivialQuestion
getUsers
getUsers
findUsers
getAttendanceEvents
sendAttendanceEvent
sendMyGroups
It sends to the server a list with all the groups in a course
- to which the logged user wants to belong.
+ to which the requester wants to belong.
It tries to enroll the user in those groups if possible,
and remove from the groups not in the list.
If all the changes are not possible, no change is performed.
@@ -569,7 +570,7 @@
getDirectoryTree
Returns the full tree of a file zone (documents, shared files or marks) in a course or a group. - The logged user must belong to the course or the group. + The requester must belong to the course or the group.
getFile
:
getMarks
to view the student's specific marks.
getFile
to download the HTML file with the marks of several students.
This function must be called each time the user wants to download a file from a documents zone or a shared files zone in a course or a group. - The logged user must belong to the course or group. + The requester must belong to the course or group. The function counts the access as a visit to the file and returns information about the file.
@@ -668,13 +669,22 @@loginBySessionKey
.
<code>
- of the XML tree returned by getDirectoryTree
.
- If the file code corresponds to an HTML file of marks
- (treeCode
= 3 in getDirectoryTree
,
- the requester should be a student in the course/group.
- If the logged user is a teacher, the client should call
- getMarks
instead getFile
.
+ corresponding to:
+ <code>
+ of the XML tree returned by
+ getDirectoryTree
.
+ eventCode
+ returned by getNotifications
+ if eventType
is documentFile or sharedFile.
+ eventCode
+ returned by getNotifications
+ if the requester is a teacher and
+ eventType
is marksFile.
+ getMarks
- Returns information about the marks (qualifications, scores) of the logged user (requester)
+ Returns information about the marks (qualifications, scores) of the requester
from a given HTML file of marks.
- This function is allowed only for students. The requester must be a student in the course/group.
- If the logged user is a teacher, the client should call
+ This function is allowed only for students.
+ The requester must be a student in the course/group.
+ If the requester is a teacher, the client should call
getFile
instead of getMarks
.
loginByUserPasswordKey
or
loginBySessionKey
.
<code>
- of the XML tree returned
- by getDirectoryTree
.<code>
+ of the XML tree returned by
+ getDirectoryTree
.
+ eventCode
+ returned by getNotifications
+ if the requester is a student and
+ eventType
is marksFile.
+ getUsers
getUsers
- Returns the list of users of a given type (students or teachers) - enrolled in a course and group (code of group <= 0 means the whole course). + Returns the list of users with a given role (students or teachers) + enrolled in a course (and optionally in some groups of the course).
loginByUserPasswordKey
or
loginBySessionKey
.findUsers
+ Returns a list of users whose full name contains the words given in filter. +
+loginByUserPasswordKey
or
+ loginBySessionKey
.courseCode
).
+ filter
as substrings will be returned,
+ provided that the two following conditions are satisfied:
+ filter
must be ≥ a given n.
+ Eg. For n = 3, "Bruce Lee" is valid, "B Le" is not valid.
+ numUsers
, indicating filter too short.
+ getAttendanceEvents
- Returns the list of the attendance events in a course available for the logged user - (associated to the whole course or to the groups to which the logged user belongs). + Returns the list of the attendance events in a course available for the requester + (associated to the whole course or to the groups to which the requester belongs).
sendAttendanceEvent
Sends an attendance event. - The logged user must be a teacher in the course. + The requester must be a teacher in the course.
getAttendanceUsers
Returns the list of users (students) in an attendance event. - The logged user must be teacher in the selected course. + The requester must be teacher in the selected course.
setOthersAsAbsent
= 1.
- The logged user must be teacher in the selected course.
+ The requester must be teacher in the selected course.
getNotifications
- Returns the list of recent notifications for the logged user. + Returns the list of recent notifications for the requester.
markNotificationsAsRead
with this value.getFile
+ with the value returned in eventCode
+ as parameter fileCode
.
+ getFile
+ with the value returned in eventCode
+ as parameter fileCode
.
+ content
+ will contain a full HTML page containing the marks of the requester.
+ The client application can also call getMarks
+ with the value returned in eventCode
+ as parameter fileCode
.
+ getFile
+ with the value returned in eventCode
+ as parameter fileCode
.
+ sendNotice
Sends a public notice (yellow note) to a course. - The logged user must be a teacher in the course. + The requester must be a teacher in the course.